Portugal: fatura eletrónica e ATCUD/QR Code
Em Portugal, a fatura eletrónica para contratos com a Administração Pública (B2G) é obrigatória desde 1 de janeiro de 2021, ao abrigo do DL 111-B/2017 que transpõe a Diretiva 2014/55/UE, todos os fornecedores do Estado devem emitir faturas no formato CIUS-PT/UBL através do FE-AP (eSPap). No B2B, todas as faturas emitidas em Portugal exigem ATCUD (Código Único de Documento, Portaria 195/2020) e código QR desde 2022, ao abrigo do regime do SAF-T (PT) e do RBC. A obrigação geral de fatura eletrónica B2B faz parte do calendário europeu ViDA (VAT in the Digital Age), com plena vigência prevista até 2030. Para empresas que recebem faturas de parceiros europeus em XRechnung, UBL Peppol BIS ou ZUGFeRD/Factur-X, a capacidade de as validar torna-se uma ferramenta de conformidade essencial, especialmente para aquisições intracomunitárias sujeitas a reverse charge ao abrigo do art. 6.º do CIVA.
XRechnung 3.0
XRechnung é a norma alemã para faturas eletrónicas estruturadas, baseada na norma europeia CEN/EN 16931. A versão 3.0 é obrigatória desde fevereiro de 2024 e identifica-se pelo CustomizationID 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0'. O payload é XML, UBL 2.1 ou UN/CEFACT Cross Industry Invoice (CII). Obrigatório para as administrações federais e estaduais alemãs desde 27 de novembro de 2020, com Leitweg-ID exigida. Em B2B, a XRechnung é permitida mas não obrigatória.
ZUGFeRD / Factur-X
ZUGFeRD (alemão) e Factur-X (internacionalmente idêntico) são formatos híbridos: um PDF/A-3 com XML estruturado incorporado como anexo (factur-x.xml). Os perfis vão de MINIMUM (apenas dados essenciais) passando por BASIC WL, BASIC, EN 16931 (COMFORT) até EXTENDED. Só a partir do perfil EN 16931 a fatura é plenamente conforme com a CEN 16931. MINIMUM e BASIC WL não valem como faturas para efeitos de IVA, apenas como auxílio contabilístico. O nosso validador deteta o perfil automaticamente.
Business Terms (BT) segundo a EN 16931
A EN 16931 codifica cada informação da fatura como um Business Term com um número único. BT obrigatórios: BT-1 número da fatura, BT-2 data de emissão, BT-3 código do tipo de fatura (UNTDID 1001, p. ex. 380 para fatura, 381 para nota de crédito), BT-5 código da moeda (ISO 4217), BT-9 data de vencimento, BT-22 nota / referência do comprador, BT-27 nome do vendedor, BT-40 país do vendedor, BT-44 nome do comprador, BT-55 país do comprador. Totais monetários obrigatórios: BT-109 TaxExclusiveAmount (base tributável), BT-110 TaxAmount (IVA), BT-112 TaxInclusiveAmount (total com IVA), BT-115 PayableAmount (a pagar). A falta de qualquer um destes torna a fatura formalmente inválida.
Consistência matemática
A EN 16931 exige que os totais batam certo: TaxExclusiveAmount (BT-109) mais TaxAmount (BT-110) deve ser igual a TaxInclusiveAmount (BT-112). PayableAmount (BT-115) deve ser igual ao total ilíquido menos quaisquer adiantamentos. Fonte comum de bugs na prática: arredondar por linha e depois novamente por taxa de IVA produz desvios de 1 cêntimo. O nosso validador tolera 1 cêntimo; acima disso é reportado como erro grave. Em Portugal coexistem as taxas de IVA de 23% (normal), 13% (intermédia) e 6% (reduzida), além de regimes especiais para Açores e Madeira, cada linha leva a sua taxa via BT-152.
Proteção de dados
O validador corre inteiramente no seu navegador. Os ficheiros XML são analisados com o DOMParser nativo, os PDFs são carregados pelo pdf-lib localmente e o factur-x.xml incorporado é extraído em memória. Sem upload para servidor, sem registos, sem cookies. O validador é conforme o RGPD e seguro para dados B2B confidenciais, mesmo as faturas internas com dados bancários, NIF ou dados contratuais podem ser verificadas sem risco de conformidade.