import { modeloAFields, modeloAPurchaseReferences, modeloAReference } from '@/lib/iva-modelo-a'; export function SimulationModeloA({draft}: {draft:Record}) { let purchases: ReturnType = []; let error = ''; try { purchases = modeloAPurchaseReferences(draft); } catch (cause) { error = cause instanceof Error ? cause.message : 'Não foi possível consultar as aquisições projectadas.'; } return

Modelo A — correspondência da simulação

{modeloAReference.status}

Esta correspondência descreve a componente de vendas01/02. Consulte o bloco de compras e apuramento parcial para os campos08–10 e14–18, que só são determinados com as parcelas necessárias completas. O IVA das vendas não é imposto final a pagar.

Aquisições já projectadas — sem dedução presumida

Reutilizam-se os valores das compras/encomendas para existências do plano. O mês da encomenda não prova a data da factura, recepção ou pagamento. Valores declarados ainda sem indicação de base líquida/IVA incluído não são tratados como base tributável. IVA suportado e IVA dedutível continuam por determinar; zero de compras não prova inexistência de outras aquisições.

{error &&

{error}

} {!purchases.length && !error &&

Sem agenda de compras recuperável do plano empresarial.

} {!!purchases.length &&
{['Mês do plano','Compras declaradas','Sem IVA','IVA suportado','Com IVA','IVA dedutível'].map((name)=>)}{purchases.map((row)=>)}
Pressupostos actuais de compras; sem resultado fiscal guardado
{name}
{row.month}{row.declared ?? 'Sem informação'}Por classificarIndeterminadoPor classificarIndeterminado
}
Ver campos, cálculos, fundamentos e cobertura do Modelo A

{modeloAReference.file}. {modeloAReference.edition} SHA256: {modeloAReference.sha256}.

O exemplar contém divergências de numeração/remissões, registadas no confronto documental. Não foram corrigidas no original. A existência de um campo não activa uma regra fiscal.

{['Campo','Finalidade','Origem dos dados','Cálculo','Fundamento','Estado'].map((name)=>)}{modeloAFields.map((field)=>{[field.field,field.purpose,field.origin,field.calculation,field.basis,field.status].map((value,index)=>)})}
Campo do Modelo A → finalidade → origem → cálculo → fundamento → cobertura
{name}
{value}
; }