Generate PDF Invoices with CustomJS API
Last edited 56 days ago
n8n Workflow: Invoice PDF Generator
This n8n workflow captures invoice data and generates a PDF invoice, ready to be sent or saved. It uses a webhook to trigger the process, preprocesses the invoice data, and converts it to a PDF using HTML and custom styling.
@custom-js/n8n-nodes-pdf-toolkit
Features:
- Webhook Trigger: Receives incoming data, including invoice details.
- Preprocessing: Transforms the invoice data into HTML format.
- HTML to PDF Conversion: Converts the preprocessed HTML into a styled PDF document.
- Response: Sends the generated PDF back to the webhook response.
Notice
Community nodes can only be installed on self-hosted instances of n8n.
Requirements
- Self-hosted n8n instance
- A CustomJS API key for website screenshots.
- Invoice data for PDF generation
Workflow Steps:
-
Webhook Trigger:
- Accepts incoming data (e.g., invoice number, recipient details, itemized list).
- This data is passed to the next node for processing.
-
Set Data Node:
- Configures initial values for the invoice, including the recipient, sender, invoice number, and the items on the invoice.
- The invoice details include information like description, unit price, and quantity.
-
Preprocess Node:
- Processes the raw data to format it correctly for HTML. This includes splitting addresses and converting the items into an HTML table format.
-
HTML to PDF Conversion:
- Converts the generated HTML into a PDF document. The HTML includes a header, a detailed invoice table, and a footer with contact information.
-
Respond to Webhook:
- Returns the generated PDF as a response to the initial webhook request.
Setup Guide:
1. Configure CustomJS API
-
Sign up at CustomJS.
-
Retrieve your API key from the profile page.
-
Add your API key as n8n credentials.
2. Design Workflow
-
Create a Webhook:
- Set up a webhook to trigger the workflow when invoice data is received.
-
Prepare Data:
- Ensure the incoming request contains fields like "Invoice No", "Bill To", "From", and "Details" (list of items with price and quantity).
-
Customize the HTML:
- The HTML template for the invoice includes custom styling to give the invoice a professional look.
-
Convert to PDF:
- The HTML to PDF node is configured with the data generated from the preprocessing step to convert the invoice HTML to a PDF format.
Example Invoice Data:
{
"Invoice No": "1",
"Bill To": "John Doe\n1234 Elm St, Apt 567\nCity, Country, 12345",
"From": "ABC Corporation\n789 Business Ave\nCity, Country, 67890",
"Details": [
{
"description": "Web Hosting",
"price": 150,
"qty": 2
},
{
"description": "Domain",
"price": 15,
"qty": 5
}
],
"Email": "support@mycompany.com"
}
Result PDF File
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!