4D Write Pro: Geração de facturas electrónicas!

Tradução automática de Deepl

4D V20 R4 introduz uma caraterística excitante em 4D Write Pro – agora, permite-lhe gerar facturas electrónicas. Mas o que queremos dizer exatamente com facturas electrónicas?

Uma fatura eletrónica (ou fatura eletrónica) é gerada, transmitida, recebida e armazenada eletronicamente, permitindo uma gestão mais eficiente e ecológica das transacções comerciais.

Embora ofereçam muitas vantagens, também têm as suas próprias restrições específicas, particularmente em termos da complexidade do processo de geração. No entanto, com 4D Write Pro, percebemos que a gestão desta complexidade é muito mais fácil do que inicialmente se pensava!

HDI: Geração de Facturas Electrónicas

Porquê facturas electrónicas?

As facturas electrónicas podem ter uma variedade de formatos digitais, como PDF (que vamos usar), e podem ser transmitidas através de portais online, CRMs, e assim por diante. O seu processamento pode ser automatizado, reduzindo o tempo de gestão, o risco de erros, a necessidade de impressão, o armazenamento físico, o impacto ecológico, etc.
É também conhecido como um formato inteligente ou híbrido porque pode ser lido por um ser humano e por um computador.
É também um formato que se tornará obrigatório e essencial nos próximos meses ou anos em países de todo o mundo (Factur-x na Europa), particularmente para todos os assuntos relacionados com o governo.

4D Write Pro e o formato Factur-X/ZUGFeRD

4D Write Pro já permite produzir ficheiros em formato PDF e, desde 4D V20 R3, também nos formatos PDF/A2 e PDF/A3. Para faturas eletrônicas, o formato PDF/A3 será usado, já que permite a integração de arquivos externos. No caso de uma fatura eletrónica, só é necessário um ficheiro externo, um ficheiro XML. Este deve ser o primeiro, se forem integrados muitos ficheiros.

Em resumo, podemos dizer que PDF/A3 + XML = Factur-X (em França) / ZUGFeRD (na Alemanha) será feito num único passo por 4D Write Pro!

Que conteúdo para XML?

O ficheiro XML Factur-X/ZUGFeRD contém informação estruturada sobre a fatura, tal como detalhes do vendedor e do comprador, linhas de faturação, montantes, impostos, etc.
Os modelos padrão europeus, tais como MINIMUM, BASICWL, EN 16931, BASIC e EXTENDED são os mais comuns.
Podem também ser utilizados formatos “personalizados”, mas a sua validação (voltaremos a este assunto) será menos óbvia e a sua utilização restrita.

Informações completas sobre estes formatos podem ser encontradas no sítio Web fnfe-mpe.org: https://fnfe-mpe.org/factur-x/factur-x_en/

Como gerar um Factur-x/ZUGFeRD?

Não esqueçamos que uma fatura eletrónica é, antes de mais, um PDF no qual são incluídas novas informações. Para a exportação em PDF, foram acrescentados dois novos atributos aos já existentes.

Comecemos pelo “facturx”

Este atributo, facturX, é um objeto que contém apenas dois atributos facultativos.
Isto significa que a simples presença deste objeto, mesmo vazio, será suficiente para gerar um documento Factur-X/ZUGFeRD válido.

$options:={}
$options.facturX:={}
$options.facturX.profile:="BASIC" // optional (when passed, it must match the first file XML content)
$options.facturX.version:="1.0" // default value

Depois vêm os “ficheiros”

Podem ser incluídos muitos ficheiros num documento PDF/A3. É por isso que o atributo files é uma coleção que conterá objectos, cada um descrevendo o ficheiro a incluir.

Estes objectos terão atributos diferentes consoante a função do ficheiro. No caso de uma fatura eletrónica (lembrete: primeiro ficheiro da lista), a maioria dos atributos são opcionais, exceto, claro, o conteúdo XML que pode ser enviado através de um atributo data (como texto) ou um atributo file (como 4D.File).

Notas:
O XML deve ser pré-gerado e cumprir todos os requisitos do padrão (a demonstração HDI mostra um exemplo de criação de XML baseado no perfil BASIC ). 4D Write Pro não verifica o conteúdo do ficheiro XML, por isso assegure-se que valida o seu ficheiro XML antes de o inserir na fatura eletrónica Factur-X / ZUGFeRD.

$xmlFile:={} // creates the first file object
$xmlFile.name:="factur-x.xml"  // default value
$xmlFile.description:="Factur-X/ZUGFeRD Invoice"  // default value
$xmlFile.mimeType:="text/xml"  // default value
$xmlFile.data:=$xmlText  // MUST be valid, NOT checked by 4D
$xmlFile.relationship:="Data" // default value

$options.files:=[$file]  // more files could be added, the first one always is for facturX/ZUGFeDR

ou (variação, em vez de $xmlFile.data)

$xmlFile.file:=$xmlFile // actual file on disk that must be a valid xml file

Validação online

Como mencionado acima, 4D Write Pro não valida o conteúdo. Apenas a estrutura é verificada. No entanto, há validadores online. O mais confiável parece ser veraPDF(https://demo.verapdf.org) e fnfe-mpe.org (https://services.fnfe-mpe.org/account/home). O segundo tem a dupla vantagem de poder validar o próprio XML e, em segundo lugar, uma fatura completa (ver a IDH para um exemplo completo).

Conclusão

Esta nova funcionalidade responde a uma procura crescente de modernidade e preenche as exigências legais e administrativas.

A geração de facturas electrónicas em série será simples, graças aos modelos genéricos e aos métodos de geração de XML corretamente formatados.

A parte mais complicada poderá ser a escolha entre os vários perfis possíveis, mas muitas vezes é a utilização que dita essa escolha.

Partilhe os seus comentários e pensamentos sobre esta nova funcionalidade nos 4D Forums.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.