Começar

Introdução

Desenha facturas, recibos e notas em React e Tailwind CSS. A biblioteca trata das regras da AGT; o aspecto é teu.

@veroao/invoice é uma biblioteca open source para desenhar os documentos fiscais angolanos - factura (FT), factura-recibo (FR), nota de crédito (NC), nota de débito (ND) e recibo (RC) - com componentes React e classes do Tailwind. Funciona sozinha: passas os dados do documento e recebes o PDF. E funciona com o Vero: o template importa-se no dashboard e passa a ser usado em todas as emissões.

Como funciona#

  • Escreves o template em React: <Document>, <Items>, <Totals>… com className como numa página web.
  • compile() corre o React uma vez e devolve um JSON só com o aspecto - sem código.
  • render() junta esse template aos dados do documento e desenha o PDF.
  • No Vero, colas o JSON nas definições: o Vero valida-o, mostra-o com os dados da empresa e usa-o ao emitir.

Porquê componentes fiscais#

Os componentes já sabem o que é uma factura. <Customer /> mostra o nome, o NIF, a morada e escreve "Consumidor final" quando não há NIF; <Items /> mostra o código de isenção nas linhas sem IVA; <LegalNotes /> traz o ATCUD, o texto legal e a menção do programa certificado. O template decide onde ficam e com que aspecto - nunca o conteúdo.

O código QR da AGT não é um componente: fica sempre no canto inferior direito da última página, em todos os templates. Ver Regras da AGT.

Próximos passos#