n8n

Ready-made n8n workflows for PDFMint

Install n8n-nodes-pdfmint, paste your API key once, then import any workflow below and run it against your own data. Every workflow here was executed in a real n8n instance before it was published — the honest limits of each one are stated on this page.

Markdown to branded PDF with a table of contents #

Download the workflow JSON. We are the authors of the PDFMint node and of this template.

What it does. Send Markdown to a webhook and receive a branded A4 PDF with numbered headings, a generated table of contents, header, page numbers and PDF metadata. A configuration node controls the brand colour, author and optional DRAFT watermark. Validation rejects a missing title or empty Markdown before a render credit is spent.

Provenance. Built and run in a real n8n 2.37.7 instance on 6 September 2026 with n8n-nodes-pdfmint@0.4.5 installed from public npm. The happy path produced a two-page, 108,024-byte PDF from 290 words and eight sections; a fenced shell-code comment was correctly excluded from the heading list. The watermark path, both validation paths and a simulated service failure were also run. The workflow is in n8n's human review as gallery submission 19277, so this download is available before the gallery page is public.

The file contains pinned sample input for a one-click test, but no credentials, keys, account ids or personal data. Connect your own PDFMint credential after import.

Invoice webhook workflow — fixed error handling #

Download the workflow JSON (the same corrected workflow as gallery #18734). We are the authors of the PDFMint node and of this template.

The fix. A community reviewer pointed out that the original gallery version answered a failed PDF render with HTTP 422 — the status code that n8n's HTTP node treats as a permanent request problem, so a retry of the same payload was refused as "Unprocessable Entity" instead of being retried like a server failure. The corrected gallery and download versions return 500 with the same JSON error body; a genuinely invalid payload still returns 422. Both paths were verified in a real n8n 2.36.9 instance on 1 September 2026: valid payload → invoice PDF; empty payload → 422 with status_code: 422; simulated render failure → 500 with status_code: 500.

Why the download remains here. n8n accepted the corrected error handling into gallery #18734 on 3 September 2026. This file is the same version for teams that prefer a reviewed local copy or want to inspect it before importing. If you imported #18734 before 3 September, re-import the current gallery version or this file to get the 422/500 split.

The file contains no credentials, keys or account ids — only a named credential reference you connect on import.

Xero overdue-invoice statement #

Download the workflow JSON — the same workflow as gallery #18960, where n8n accepted it on 2 September.

What it does. Every weekday morning it asks Xero for ACCREC invoices that are still AUTHORISED, keeps only the ones genuinely past their due date, and groups them per customer — so someone with four late invoices gets one statement with four lines instead of four separate chasers. It computes days overdue, marks anything past 30 days, stops without spending a render credit when the ledger is clean, renders the statement with PDFMint, and mails it to the address Xero holds for that contact.

Provenance. Built and run in a real n8n instance on 31 August 2026. That run caught two real defects — a Set node that replaced the item data so downstream nodes found nothing, and an items reference from an earlier draft that produced undefined entries — both fixed before this file was published. After the fixes, the saved grouping code against the recorded invoice data produces exactly one customer with two invoices totalling 3,105.90, and the render step produces the statement PDF (proof: proof-xero-statement.pdf in the public repository). It has not been exercised end-to-end against a live Xero account with real mail delivery; the Xero and Gmail nodes use their standard OAuth2 credentials and you connect your own on import.

You edit one nodeYour company details — with your name, address, accent colour and footer. The file contains no credentials, keys or account ids.

Invoice Ninja AR ageing report #

Download the workflow JSON — the same workflow as gallery #19112, accepted by n8n on 3 September 2026. This file is ours and available for inspection before import. We are the authors of the PDFMint node and of this template.

What it does. Every Monday morning it pulls active invoices from Invoice Ninja, keeps only the ones with an outstanding balance, computes days past due per client, buckets them into not-yet-due / 1–30 / 31–60 / 61–90 / 90+ days, and stops without spending a render credit when nobody owes anything. Otherwise it renders a landscape accounts-receivable ageing report as a branded PDF with PDFMint and mails it via Gmail.

Provenance. Built and run in a real n8n 2.37.7 instance on 3 September 2026, with n8n-nodes-pdfmint installed from the public npm registry. The run produced a one-page landscape PDF (proof: proof-invoiceninja-ageing.pdf in the public repository). It has not been exercised end-to-end against a live Invoice Ninja account or with real mail delivery; the Invoice Ninja and Gmail nodes use their standard credentials and you connect your own on import.

Try it without Invoice Ninja. The Invoice Ninja node ships with pinned sample data — six invoices across three clients, one paid, one not yet due. Import and run: the paid invoice drops out, the 90+ day client is flagged, and the totals match the summary cards.

The file contains no credentials, keys or account ids — only named credential references you connect on import.

What we claim and what we do not #

  • Every gallery link above points at a workflow n8n published; the view counters there are n8n's, not ours.
  • The Markdown workflow and its error paths were run in n8n before this download was published; n8n's separate human review of gallery submission 19277 is still pending.
  • The Xero statement was run once with the fixes described above; it is offered as a starting point, not as a certified integration.
  • The fixed invoice workflow's two error paths (422 and 500) were measured in real n8n before this file was published; the PDF-render path is the same one n8n's gallery review accepted.
  • We build PDFMint and the PDFMint n8n node; anything we publish says so.

Need the API instead? The API reference and the three ways to turn HTML into a PDF in n8n cover the rest. The free plan is 10 documents a month, no card.