Download KSeF (Poland’s e-invoicing system) invoices to an Excel spreadsheet
TL;DR;
Download invoices from Poland's KSeF (Krajowy System e-Faktur) and export them as an XLSX spreadsheet. Handles the full v2 authentication flow automatically.
Download KSeF invoices through n8n
What it does
This workflow connects to Poland's KSeF (Krajowy System e-Faktur) API v2, downloads invoice metadata for a configurable date range, and exports everything as a clean Excel spreadsheet (.xlsx).
The spreadsheet includes: KSeF number, invoice number, issue date, seller/buyer NIP and name, net/VAT/gross amounts, currency, invoice type, and more.
Who is it for
Polish companies and accountants who need to bulk-download invoice data from KSeF for bookkeeping, reconciliation, or tax reporting.
How to set up
Get your KSeF authorization token — log in at ksef.mf.gov.pl, go to token management, and generate a token. It looks like: YYYYMMDD-XX-XXXXXXXXXX-XXXXXXXXXX-XX|nip-XXXXXXXXXX|hash Open the ⚙️ Config node and fill in: nip — your 10-digit NIP authToken — the KSeF token from step 1 startDate / endDate — the date range in ISO 8601 format (e.g. 2026-01-01T00:00:00Z) subjectType — use Subject2 for invoices you received (as buyer), Subject1 for invoices you issued (as seller) Click "Test workflow" — the spreadsheet will appear as binary output in the Write XLSX node
How it works (under the hood)
KSeF API v2 requires a 6-step authentication flow:
Fetch the RSA public key certificate from KSeF Request a challenge (nonce + timestamp) RSA-OAEP encrypt your token with the challenge timestamp Initialize authentication — returns a temporary JWT Poll the auth status until it's ready Redeem the temporary JWT for a real access token
Only after step 6 can you query invoices. This workflow handles all of that automatically — you just provide your token and NIP.
Extending the workflow
Some ideas for what you can add after the Write XLSX node:
Write Binary File** — save the spreadsheet to disk Send Email** (Gmail / SMTP) — email the spreadsheet as an attachment Google Drive** — upload the spreadsheet to Drive Postgres / MySQL** — write invoice data to a database for querying Download Invoice XML** — add an HTTP Request node to GET /invoices/{ksefNumber} with the access token to download the full invoice XML
Requirements
A KSeF authorization token (generated at ksef.mf.gov.pl) No external credentials or API keys needed in n8n — everything goes through the Config node Works with n8n self-hosted and cloud
API reference
KSeF API v2: https://api.ksef.mf.gov.pl/v2 KSeF test environment: https://api-test.ksef.mf.gov.pl/v2 Official docs: https://www.gov.pl/web/kas/krajowy-system-e-faktur
Made with ❤️ by Greg Brzezinka Need help? Reach out to me! Tags
ksef, poland, invoices, tax, e-invoicing, spreadsheet, xlsx, accounting
Categories
Finance & Accounting, Data Transformation
Related Templates
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
USDT And TRC20 Wallet Tracker API Workflow for n8n
Overview This n8n workflow is specifically designed to monitor USDT TRC20 transactions within a specified wallet. It u...
Add product ideas to Google Sheets via a Slack
Use Case This workflow is a slight variation of a workflow we're using at n8n. In most companies, employees have a lot o...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments