Poll and download received invoice PDFs with KSeF Gateway to disk storage
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 13 nodes and runs on a schedule (every 20 minutes). It uses only n8n's built-in nodes.
How it runs
Trigger: On a schedule (every 20 minutes).
- Configuration (EDIT ME) (Edit Fields (Set)): sets 4 fields: ksefGatewayUrl, ksefNip, ksefInvoicesDir…
- Get Checkpoint (Code): runs custom JavaScript code
- Get New Invoices (HTTP Request): calls an HTTP API (GET)
- Success? (If): checks a condition and branches into true / false
- Save Checkpoint (Code): runs custom JavaScript code
- Log Poll Error (Edit Fields (Set)): sets 2 fields: error, sinceUsed
- Has New Invoices? (If): checks a condition and branches into true / false
- Split Invoices (Split Out): splits a list into separate items
- Download Invoice PDF (HTTP Request): calls an HTTP API (GET)
- Save PDF To Disk (Read/Write Files from Disk): writes a file to disk
…plus 1 more step. See the full node list below.
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - Split Out
n8n-nodes-base.splitOut - Read/Write Files from Disk
n8n-nodes-base.readWriteFile
From the author
Quick overview This workflow runs every 20 minutes to poll a self-hosted KSeF Gateway for newly received KSeF invoices, maintains a cursor checkpoint in n8n static data, downloads each new invoice PDF via the gateway API, and saves the files to local disk.…