@php $paymentLabels = [ 'cash' => 'Dinheiro', 'pix' => 'Pix', 'debit_card' => 'Cartão de débito', 'credit_card' => 'Cartão de crédito', 'bank_transfer' => 'Transferência', 'other' => 'Outro', ]; @endphp

Pagamento da venda

Pagamento direto ou crediário. O sistema não mistura os dois fluxos na mesma OS.
Total da OS
R$ {{ number_format((float)$order->total_amount,2,',','.') }}
@if($hasCreditPlan)
Venda no crediário. O valor da OS está vinculado às parcelas do cliente.
@foreach($orderInstallmentRows as $row) @endforeach
ParcelaVencimentoValorPagoSaldoSituação
{{ $row['installment']->installment_number }}/{{ $row['installment']->total_installments }} {{ $row['installment']->due_date->format('d/m/Y') }} R$ {{ number_format($row['gross'],2,',','.') }} R$ {{ number_format($row['allocated'],2,',','.') }} R$ {{ number_format($row['balance'],2,',','.') }} {{ $row['status_label'] }}
Os recebimentos desta venda devem ser lançados pelas parcelas na ficha do cliente.
@else
Total

R$ {{ number_format((float)$order->total_amount,2,',','.') }}

Pago válido

R$ {{ number_format($directPaid,2,',','.') }}

Saldo

R$ {{ number_format($directBalance,2,',','.') }}

@if($order->payments->isNotEmpty())
@foreach($order->payments as $payment) @endforeach
DataFormaValorRecebido porSituaçãoObservação
{{ $payment->paid_at->format('d/m/Y H:i') }} {{ $paymentLabels[$payment->method] ?? $payment->method }} R$ {{ number_format((float)$payment->amount,2,',','.') }} {{ $payment->receivedBy?->name ?: 'Não informado' }} @if($payment->reversed_at) Estornado
{{ $payment->reversed_at->format('d/m/Y H:i') }} · {{ $payment->reversedBy?->name ?: 'usuário não informado' }}
@else Válido @endif
{{ $payment->notes ?: '—' }} @if($payment->reversed_at && $payment->reversal_reason)
Motivo do estorno: {{ $payment->reversal_reason }}
@endif
@if(auth()->user()->role === 'admin' && ! $payment->reversed_at && ! in_array($order->status,['delivered','cancelled'],true))
@csrf @method('PATCH')
@endif
@endif @if($directBalance <= 0 && (float)$order->total_amount > 0)
Venda paga. O valor da OS foi recebido integralmente.
@elseif($order->status !== 'cancelled' && (float)$order->total_amount > 0)

Registrar pagamento direto

@csrf
Pagamento com data de hoje exige caixa aberto e entra automaticamente na sessão do operador. Pagamento retroativo não altera o caixa atual.
@endif @if(! $hasDirectPayments && $order->status==='draft')

Ou vender no crediário

@if(! $customerSummary['credit_account'])
Este cliente ainda não possui crediário. Configure o limite na ficha do cliente.
@elseif($customerSummary['credit_account']->status !== 'active')
O crediário deste cliente está bloqueado.
@elseif((float)$order->total_amount <= 0)
Adicione itens antes de gerar o parcelamento.
@elseif((float)$order->total_amount > (float)$customerSummary['available_credit'])
O total da OS é maior que o crédito disponível. Disponível: R$ {{ number_format((float)$customerSummary['available_credit'],2,',','.') }}.
@else
@csrf
@endif
@elseif($hasDirectPayments && $directBalance > 0)
Como já existe pagamento direto válido, o saldo restante deve ser quitado pelo mesmo fluxo de pagamento direto.
@endif @endif