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

0
Downloads
1
Views
7.54
Quality Score
beginner
Complexity
Author:Greg Brzezinka(View Original →)
Created:3/14/2026
Updated:3/14/2026

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments