@extends('layouts.admin') @section('title','PO '.$order->number) @section('content') @php $label = fn (string $v) => ucwords(str_replace(['_', '-'], ' ', $v)); $statusTone = match ($order->status) { 'draft' => 'muted', 'ordered' => 'info', 'partial' => 'warning', 'received' => 'success', 'canceled' => 'danger', default => 'muted', }; $ordered = (int) $order->lines->sum('quantity_ordered'); $received = (int) $order->lines->sum('quantity_received'); $pct = $ordered > 0 ? (int) round(($received / $ordered) * 100) : 0; @endphp All POs Print / PDF
@csrf
@if($order->isDraft())
@csrf
@csrf
@endif
@if($errors->any())
{{ $errors->first() }}
@endif
Status {{ $label($order->status) }} {{ $order->createdBy?->name ?? 'System' }}
Value {{ $order->money() }} {{ $order->lines->count() }} lines
Ordered {{ number_format($ordered) }} {{ $order->ordered_at?->diffForHumans() ?? 'Not ordered yet' }}
Received {{ number_format($received) }} {{ $pct }}% complete
Warehouse {{ $order->location?->code ?? '—' }} {{ $order->location?->name }}
@if($order->canReceive())
@csrf

Receive stock

Accepted units convert incoming → available. Rejected units are logged and stay off stock.

@foreach($order->lines as $line) @endforeach
SKU Remaining Accept Reject Reason
{{ $line->sku ?? $line->variant?->sku ?? '—' }}
{{ $line->title }}
{{ $line->remainingToReceive() }} remainingToReceive() < 1)> remainingToReceive() < 1)>
@endif

Line board

@foreach($order->lines as $line) @endforeach
SKU / Title Ordered Received Rejected Unit cost Line total
{{ $line->sku ?? '—' }}
{{ $line->title }}
{{ $line->quantity_ordered }} {{ $line->quantity_received }} {{ $line->quantity_rejected }} {{ number_format($line->unit_cost_cents / 100, 2) }} {{ number_format($line->lineTotalCents() / 100, 2) }} @if($order->isDraft())
@csrf @method('DELETE')
@endif
@if($order->isDraft())
@csrf
@endif
@csrf

Procurement details

@if($order->status !== 'canceled') @endif @if($order->isOverdue())

This PO is past its expected delivery date.

@endif

Receipt log

@forelse($order->receipts as $receipt)
{{ $receipt->number }}
GRNI
{{ $receipt->received_at?->diffForHumans() }} · {{ $receipt->receivedBy?->name ?? 'System' }}
Accepted {{ $receipt->lines->sum('quantity_accepted') }} @if($receipt->lines->sum('quantity_rejected') > 0) · Rejected {{ $receipt->lines->sum('quantity_rejected') }} @endif
@if($receipt->notes)
{{ $receipt->notes }}
@endif
@empty

No receipts yet.

@endforelse
@endsection