@php($money = fn ($minor) => number_format($minor / 100, 2, ',', '.') . ' MZN')

Ordem de compra {{ $order->number }}

@if(($operationalState ?? 'issued') !== 'issued')

{{ $operationalState === 'cancelled' ? 'Ordem cancelada' : 'Cancelamento pendente — execução suspensa' }}. Reprodução do documento original, preservado no histórico.

@endif

{{ $snapshot['company']['name'] }} · {{ $snapshot['requisition']['number'] }}

Documento de desenvolvimento. Não autoriza compras reais.
Orçamento não verificado. @if($snapshot['approval_rules']['rules_provisional']) Regras de aprovação provisórias. @endif

Fornecedor

{{ $snapshot['supplier']['name'] }}
NUIT {{ $snapshot['supplier']['nuit'] }}
{{ $snapshot['supplier']['address'] }}
{{ $snapshot['supplier']['contact'] }}
{{ $snapshot['supplier']['phone'] }} · {{ $snapshot['supplier']['email'] }}

Condições

Entrega: {{ $snapshot['award']['delivery_date'] }}
{{ $snapshot['award']['delivery_location'] }}
Pagamento: {{ $snapshot['quotation']['payment_terms'] }}
Proposta: {{ $snapshot['quotation']['reference'] }}
{{ $snapshot['department']['name'] }} · {{ $snapshot['cost_center']['code'] }}
Emitente: {{ $snapshot['issuer']['name'] }}
Emissão: {{ $order->issued_at->format('Y-m-d H:i:s') }}

Artigos e valores

@if(!empty($snapshot['investment_rules']))

Regra de investimento congelada

Versão {{ $snapshot['investment_rules']['revision'] }} · Tecto {{ $money($snapshot['investment_rules']['ceiling_minor']) }} · {{ $snapshot['investment_rules']['includes_tax'] ? 'com IVA' : 'sem IVA' }} · Vigência {{ $snapshot['investment_rules']['valid_from'] }} a {{ $snapshot['investment_rules']['valid_until'] }}.

@foreach($snapshot['equipment_requests'] ?? [] as $context)

{{ $context['description'] }} · Área: {{ $context['production_area'] }}

@endforeach @endif @foreach($order->items as $item) @endforeach
DescriçãoQuantidadePreço sem IVAIVATotal com IVA
{{ $item->description }}{{ $item->quantity }} {{ $item->unit }}{{ $money($item->unit_price_minor) }}{{ $item->tax_rate }}%{{ $money($item->total_minor) }}
@foreach($snapshot['decision_matrix'] as $row) @if(!empty($row['commercial_terms']))

{{ $row['supplier']['name'] }} · {{ $row['reference'] }}

@include('purchases.commercial-terms', ['terms' => $row['commercial_terms']]) @endif @endforeach
Subtotal sem IVA{{ $money($order->subtotal_minor) }}
IVA{{ $money($order->tax_minor) }}
Total com IVA{{ $money($order->total_minor) }}

Justificação da adjudicação

{{ $snapshot['award']['justification'] }}

Matriz de avaliação congelada

@if(!empty($snapshot['comparison_policy']))

Regra de comparação preservada: revisão {{ $snapshot['comparison_policy']['revision'] }} · mínimo de {{ $snapshot['comparison_policy']['minimum_proposals'] }} fornecedores com propostas elegíveis e {{ $snapshot['comparison_policy']['minimum_evaluators'] }} avaliações independentes por proposta.

@endif @foreach($snapshot['decision_matrix'] as $row) @endforeach
Fornecedor / propostaTotal com IVAAvaliações elegíveisPontuação
{{ $row['supplier']['name'] }} · {{ $row['reference'] }}
@foreach($row['evaluations'] as $evaluation)Avaliador #{{ $evaluation['evaluator_id'] }}: qualidade {{ $evaluation['quality'] }}, histórico {{ $evaluation['history'] }}, pagamento {{ $evaluation['payment'] }}. {{ $evaluation['comment'] }}
@endforeach
{{ $money($row['total_minor']) }}{{ $row['evaluation_count'] }}{{ $row['score'] === null ? 'Não elegível / incompleta' : number_format($row['score'], 2, ',', '.') . ' / 10' }}

Aprovações do valor final

Base dos escalões: {{ $snapshot['approval_rules']['approval_includes_tax'] ? 'com IVA' : 'sem IVA' }}. Dados congelados na emissão; alterações posteriores às fichas não reescrevem este documento. Não foi enviado por email.