Gerar Facturas Dinâmicas usando Make e PDF4me

By Nishanth Asokan | Automatização

Gerar Facturas Dinâmicas usando Make e PDF4me

A geração dinâmica de documentos é o processo de criação automática de um lote de documentos que são personalizados com dados dinâmicos de uma fonte. Por exemplo, uma Fatura pode ser personalizada para se dirigir a cada destinatário pelo nome. A criação de documentos com dados dinâmicos exigiria uma fonte de dados, como uma lista, planilha eletrônica, banco de dados, JSON ou matrizes. Os campos de fusão são caracteres de preenchimento em modelos predefinidos que são posteriormente substituídos utilizando dados de uma das fontes de dados mencionadas acima ou de qualquer outra fonte de dados suportada.

Criar uma fatura com dados dinâmicos requer a aplicação de técnicas como a fusão de correio ou a utilização de campos de fusão. Um dos métodos mais populares de geração de documentos dinâmicos envolve o uso de mustache rendering, o que é muito mais fácil na concepção de templates. As faturas personalizadas são baseadas em modelos de documentos criados usando o Word ou outros criadores de formulários que têm que fundir as capacidades dos campos. Aqui discutimos o uso de templates criados usando a sintaxe do bigode - {{{campo de espaço reservado}} - que é posteriormente substituído pelos dados dinâmicos.

PDF4me Gerar ação de documentos no Make permite criar cenários para gerar documentos dinâmicos e automatizá-los. O processo de geração pode ser automatizado se você tiver o modelo e os dados dinâmicos prontos. O modelo pode ser um arquivo Word ou HTML, ou qualquer outro formato suportado. Os dados podem ser uma Planilha, CSV, JSON, XML ou uma lista de dados.

Geração de uma Factura Dinâmica

A geração de uma fatura com dados dinâmicos usando o Make requer que o modelo e os dados sejam armazenados em uma plataforma de armazenamento em nuvem. Pelo menos, o modelo deve estar no armazenamento em nuvem como o Dropbox, mas os dados podem ser passados diretamente para um campo de dados de entrada.

Vamos procurar criar uma amostra de fatura como abaixo usando um cenário Make.

Modelo de bigode para facturação dinâmica

No nosso caso de uso, espera-se que a seguinte amostra esteja disponível em um local Dropbox.

Adicionar um relógio para acionar arquivos para iniciar o cenário

Crie um módulo Dropbox para assistir à chegada dos modelos. Assim que o novo arquivo de modelo chega à pasta, o cenário é acionado.

Ação de arquivos de vigilância para o módulo Dropbox

Adicionar uma ação Dropbox de Download de arquivo

Uma vez detectado o arquivo modelo na pasta de origem, o módulo Dropbox com a ação Download file passará o arquivo do armazenamento para a ação PDF4me. Precisamos de adicionar 2 acções de Download de ficheiros.

Um para descarregar o modelo.

Ação de download de arquivo para o módulo Dropbox

Outro para fazer o download dos dados do JSON

Descarregar dados JSON da Dropbox

Adicionar módulo PDF4me para Gerar Ação de Documento

A seguir, no cenário, temos de adicionar o módulo PDF4me com a Acção Gerar Documento. Aqui, você precisa configurar o tipo de Modelo, o tipo de Saída e os dados de Entrada. Os dados de entrada podem ser inseridos diretamente no campo ou, no nosso caso, configurar para obter os dados do arquivo JSON.

PDF4me Gerar módulo de documentos para Make

Os dados para o campo de entrada devem ser iguais aos do modelo no caso de uso:

{
    "Documents": [
        {
            "header": {
                "docType": "Original Copy"
            },
            "body": {
                "Column1": "Quantity",
                "Column2": "Description",
                "Column3": "Unit Price",
                "Column4": "Total",
                "Invoice": {
                    "number": 14957,
                    "date": "25-02-2022",
                    "instructions": "Instruction Invoice 1",
                    "subTotal": 200150,
                    "tax": "18%",
                    "dueDate": "25-03-2022",
                    "shipping": "200"
                },
                "Biller": {
                    "phone": "989797",
                    "fax": "998463",
                    "email": "[email protected]",
                    "web": "www.doc1.com",
                    "address": {
                        "company": "Organization 1",
                        "street": "Street 1",
                        "city": "City 1",
                        "zip": "123456"
                    }
                },
                "Recepient": {
                    "name": "recepeint 1",
                    "address": {
                        "street": "testveien 3 ",
                        "city": "City 1",
                        "zipcode": "0555",
                        "country": "Country 1"
                    }
                },
                "Product": [
                    {
                        "quantity": 1,
                        "description": "item 1",
                        "unitPrice": 45,
                        "totalPrice": 867
                    },
                    {
                        "quantity": 2,
                        "description": "item 2",
                        "unitPrice": 123,
                        "totalPrice": 3464
                    },
                    {
                        "quantity": 3,
                        "description": "item 3",
                        "unitPrice": 323,
                        "totalPrice": 6564
                    }
                ]
            },
            "footer": {
                "phone": "phone123",
                "fax": "fax123",
                "email": "[email protected]",
                "web": "www.123.com"
            }
        
        }
    ]
}

Adicionar um Iterator para lidar com os múltiplos arquivos de saída

Como é óbvio, a acção PDF4me irá gerar múltiplos ficheiros com base nos dados. Para lidar com isso, precisamos de um módulo Make Iterator para lidar com cada arquivo para a próxima ação.

Iterador de controle de fluxo para arquivos de saída

Adicionar módulo Dropbox Upload para salvar os arquivos de saída

Crie um módulo Dropbox com a ação Upload de arquivos para salvar todos os arquivos na pasta desejada.

Ação de upload de arquivos para o módulo Dropbox

A saída do nosso cenário deve ser semelhante ao documento abaixo.

Modelo fundido final

Com um PDF4me Assinatura do Desenvolvedor, você pode criar cenários no Make que podem automatizar a geração em massa de documentos com dados dinâmicos a baixo custo. A assinatura garante que sua automação nunca pare devido a qualquer falta no número de chamadas API.

Related Blog Posts