使用Zapier和PDF4me生成动态发票

By Vishnu Subramoniam | 文件自动化

使用Zapier和PDF4me生成动态发票

动态文件生成是数字世界中最受欢迎的技术之一,也是发展最快的技术。我们都知道,大多数企业正在变得无纸化,处理交易方式的新变化要求以数字方式生成文件。PDF文件是数字文件的最优先模式。企业,凡是涉及到钱的地方,总是需要生成发票。这些发票中的很多数据都是动态生成的。

创建具有动态数据的发票需要应用邮件合并或使用合并字段等技术。自定义发票是基于使用Word或其他具有合并字段功能的表格创建者创建的文档模板。为了生成具有动态数据的pdf发票,需要创建具有合并字段的模板,然后用原始数据替换。

Zapier中的PDF4me生成文档行动让您创建动态发票并将其自动化,以便您可以专注于您最重要的任务。如果你准备好了模板和动态数据,生成过程就可以自动化。模板可以是一个Word文件或HTML,或任何其他支持的格式。数据可以是电子表格、CSV、JSON、XML或数据列表。

如何生成动态发票?

让我们在这里看一个例子,你可以在Zapier中创建一个动态发票,模板是Word格式,数据是JSON格式。JSON让你以结构化的格式创建复杂的数据。

让我们来看看下面的样本模板

邮件合并的发票模板样本

添加一个触发器来启动Zap

Zapier有几个可用的触发器来启动一个Zap。你可以根据你存储源文件的地方选择首选触发器。在这个例子中,我们使用的是Dropbox触发器。为Dropbox添加一个New file in Dropbox触发器来触发Zap。

Zapier中邮件合并Zap的触发器

为模板和数据添加从Dropbox下载的动作

为了将模板和数据传递给生成文档动作,我们需要从源头下载模板和相关数据。因为我们在这里使用Dropbox,所以我们使用从Dropbox下载动作。

从Dropbox获取模板用于邮件合并Zap

从PDF4me添加生成文档动作

一旦文件被下载,我们需要把它传递给生成文档的动作。在这个动作中,配置模板文件名和数据文件名。同时,选择数据类型。PDF4me在Mustache渲染类型中允许2种类型的数据 - XML和JSON。我们在当前的例子中使用JSON。

从PDF4me生成邮件合并的文件动作

对于上述样本模板,样本数据将如下所示。

{
    "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"
            }
        
        }
    ]
}

在PDF4me Generate Document动作中相应地配置参数。

请注意,你将不得不在头、正文和页脚中分别用循环指定合并字段。始终将文件正文内的内容指定为 “body”。

添加上传至Dropbox的动作与Loop控件

当文件被动态地生成时,会有多个输出文件。对于每个文件,Zap应该把文件保存到所需的位置。我们使用For Each控件动作来处理预计有多个输出文件的情况。

Zapier的动态文件的循环动作

在循环中添加以下Dropbox动作。

上传动态邮件合并文件到Dropbox文件夹

你可以相应地在循环动作中配置以下字段,并确保上传至Dropbox的动作在循环器内。

生成的动态发票将如下所示。

你也可以使用 "添加条码 "动作添加一个二维码或条码,使你的发票可以被机器读取。

最终邮件合并的PDF输出

通过PDF4me 开发者订阅,您可以创建工作流程,以最少的人力和较低的成本自动生成带有动态数据的大量文档。该订阅确保你的自动化永远不会因为任何API调用数量的短缺而停止。

Related Blog Posts