在Zapier中用HTML模板生成动态发票

By Varun Satish | 文件自动化

在Zapier中用HTML模板生成动态发票

在今天,创建动态文件是任何企业的组成部分。他们需要处理大量的数字文件,这些文件需要根据每个接受者的动态数据来生成。它们可以是报价单、合同、发票、报告等等,可以有一个固定的模板,但有动态数据。根据我们的业务规模,这些文件通常也是大批量生成的。

在某些情况下,你还需要生成HTML形式的文件,这些文件可以通过浏览器显示或作为链接共享。发票、收据等被生成为HTML页面,这样它们就可以在收件人的浏览器中快速显示。PDF4me让你使用HTML模板和数据源来生成这样的HTML文档。使用Mustache渲染或邮件合并,你可以根据你的要求生成尽可能多的文件。

通过PDF4me集成Zapier,您可以利用生成文档动作–这是PDF4me提供的众多管理文档的动作之一–来创建可以从HTML模板生成文档的Zap。你可以利用API或自动化调用来推动这些Zaps大量生成HTML文档。

让我们看一个例子,你想从一个源HTML模板和JSON数据生成HTML页面的发票。

用于生成发票的HTML模板

如何生成HTML发票?

下面是一个使用mustache语法创建HTML模板的例子。让我们假设以下模板将在Dropbox的一个特定文件夹中可用。

用Dropbox触发器启动Zap程序

添加一个Dropbox文件夹中的新文件动作作为Zap的触发器。一旦.html文件到达文件夹中,Zap就会被触发。

触发Dropbox中的新文件

添加行动以下载模板

为了传递模板,添加并配置一个Dropbox动作来获取文件。配置需要将模板传递给下一个动作的文件夹。

从Dropbox文件夹下载模板

添加在PDF4me中生成文档的动作

当寺庙被下载时,它被传递到生成文档的动作。在该动作中,设置了模板文件、模板文件名称、模板文件类型、输入数据、输入数据类型和输出文档类型。

配置生成文档的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"
            }
        
        }
    ]
}

请注意,你必须用循环来分别指定页眉、正文和页脚的合并字段。始终将文件正文内的内容指定为 “body”。

添加一个循环动作

生成文档的动作将产生多个输出文件。为了处理这个问题,需要在Zapier中添加一个Loop–一个测试版功能。

添加一个循环来迭代输出文件

在Dropbox中添加上传文件动作

与Loop一起在Zap中添加一个Upload file in Dropbox的动作。这可以确保输出文件在使用PDF4me动作生成时被逐一保存到所需的文件夹。

上传文件到Dropbox文件夹

输出的HTML样本看起来如下。

生成的动态文件中的样本

通过PDF4me Developer Subscription,您可以创建工作流,可以自动大量生成带有动态数据的HTML文档。该订阅确保您的自动化运行不会因API调用数量不足而停止。

Related Blog Posts