@php /** * Persistent notice while money is on hold. * * A refusal a person only meets when they press Save has already wasted * their time; worse, a cashier who is told "403" learns nothing they can act * on. So the block announces itself on every page, before anybody opens a * payment form, and it says WHICH float disagrees and by HOW MUCH, because * the person reading it is usually the person who can settle it. * * Deliberately not the same colour as the archive banner above it: an * archive is a permanent state of a finished company, this is a job half * done that somebody has to finish today. */ $balanceTeam = Auth::user()?->currentTeam; $balanceReconciliation = app(\App\Services\CutoverReconciliationService::class); $balanceBlocked = $balanceTeam !== null && ! \App\Support\ArchiveGuard::isArchived($balanceTeam) && ! $balanceReconciliation->isBalanced($balanceTeam->id); @endphp @if ($balanceBlocked)

{{ __('Money is on hold.') }} {{ $balanceReconciliation->explain($balanceTeam->id) }} {{ __('Payments, expenses and transfers are blocked until it is settled. Quoting, invoicing and jobs carry on as normal.') }}

{{ __('Settle it') }}
@endif