@extends('layouts.app') @section('title', 'Post Payment') @section('content')
{{-- GUARD CHECKS (static mock) --}} @php $shiftOpen = true; // set to false to see blocking banner $seriesAssigned = true; // set to false to see blocking banner @endphp @if (!$shiftOpen || !$seriesAssigned) @endif

Post Payment

Shift: {{ $shiftOpen ? 'OPEN' : 'CLOSED' }} Series: {{ $seriesAssigned ? '2025-A (001000–001999)' : '—' }} Next OR: 001124
@php // ---------- STATIC MOCK DATA ---------- $rows = [ [ 'bill_no' => 'INV-2025-00421', 'date' => '2025-10-18', 'business' => 'Dev Coffee Roasters', 'owner' => 'OrangeShake', 'due' => 12750.0, 'aging' => '0d', 'status' => 'Unpaid', 'items' => [ [ 'code' => 'BP-TAX', 'desc' => 'Business Tax - Retail', 'fund' => 'General Fund', 'amount' => 9000.0, ], ['code' => 'REG-FEE', 'desc' => 'Regulatory Fee', 'fund' => 'General Fund', 'amount' => 2000.0], [ 'code' => 'SAN-FEE', 'desc' => 'Sanitary Permit', 'fund' => 'General Fund', 'amount' => 1000.0, ], [ 'code' => 'ZON-FEE', 'desc' => 'Zoning Clearance', 'fund' => 'General Fund', 'amount' => 500.0, ], ], 'surcharge' => 250.0, 'interest' => 0.0, 'discount' => 0.0, ], [ 'bill_no' => 'INV-2025-00422', 'date' => '2025-10-18', 'business' => 'Byte Bakery', 'owner' => 'Ana Byte', 'due' => 8200.0, 'aging' => '0d', 'status' => 'Unpaid', 'items' => [ [ 'code' => 'BP-TAX', 'desc' => 'Business Tax - Retail', 'fund' => 'General Fund', 'amount' => 6000.0, ], ['code' => 'REG-FEE', 'desc' => 'Regulatory Fee', 'fund' => 'General Fund', 'amount' => 2000.0], ], 'surcharge' => 200.0, 'interest' => 0.0, 'discount' => 0.0, ], [ 'bill_no' => 'INV-2025-00423', 'date' => '2025-10-17', 'business' => 'Pixel Print Shop', 'owner' => 'Rex Pixel', 'due' => 9500.0, 'aging' => '1d', 'status' => 'Partial', 'items' => [ [ 'code' => 'BP-TAX', 'desc' => 'Business Tax - Printing', 'fund' => 'General Fund', 'amount' => 7500.0, ], [ 'code' => 'ZON-FEE', 'desc' => 'Zoning Clearance', 'fund' => 'General Fund', 'amount' => 500.0, ], [ 'code' => 'SAN-FEE', 'desc' => 'Sanitary Permit', 'fund' => 'General Fund', 'amount' => 1000.0, ], ], 'surcharge' => 500.0, 'interest' => 0.0, 'discount' => 0.0, ], ]; // No preselected bill for MVP — show details only after selection $bill = null; @endphp
{{-- LEFT: FINDER + LIST --}}
Find a Bill to Pay
{{-- Tabs --}}
{{-- By Reference --}}
{{-- Search --}}
{{-- Queue --}}
Showing assessments endorsed to Cashiering today. (static)
{{-- List of results --}}
Pending Bills (Today)
@foreach ($rows as $r) @endforeach
Ref No. Date Business Amt. Due Aging Status
{{ $r['bill_no'] }} {{ $r['date'] }}
{{ $r['business'] }}
{{ $r['owner'] }}
{{ number_format($r['due'], 2) }} {{ $r['aging'] }} @if ($r['status'] === 'Unpaid') Unpaid @else Partial @endif
Tip: use the scanner on “By Reference” to jump straight to a bill.
{{-- RIGHT: DETAILS + PAYMENT --}}
{{-- Empty state (visible by default) --}}
No assessment selected
Choose an assessed application that’s ready for posting of payment.
{{-- Details & Payment (hidden until selection) --}}
Bill Details
Fee Code Description Fund Amount
Surcharge 0.00
Interest 0.00
Discount -0.00
Total Due 0.00
Payment & OR OR will lock on Save
{{-- Check fields --}}

OR Number
001124
General Fund
Saving posts to Collections & Business Ledger. Voids/Adjustments are done from the dedicated page.
{{-- Choose Assessment Modal (static) --}} {{-- Toast (Bootstrap 5) --}}
@endsection @push('scripts') @endpush