Sends FA(3) invoices and corrections from your orders to the Polish KSeF system with your own NIP and KSeF token: KSeF numbers, UPO receipts and QR codes on every order.
Tested on 2 buildsUpdated Nov 5, 2026Version 1.0.0CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
KSeF e-Invoicing for Poland: FA(3) invoices from your orders sent to KSeF, with KSeF numbers, UPO receipts and verification QR codes1 of 9
What it does
KSeF, the National e-Invoicing System, is mandatory for Polish VAT payers: for large taxpayers since February 2026, for most others since April 2026 and for the smallest businesses from January 2027. Invoices must reach KSeF as structured FA(3) files. This add-on is for CS-Cart stores and marketplaces registered for VAT in Poland. You connect with your own NIP and KSeF token or certificate; there is no intermediary service and no per-invoice fee.
How it works
Enter your NIP, choose the Test, Demo or Production environment, paste your KSeF token and test the connection. Map your taxes and payment methods once. When an order with a buyer NIP reaches a chosen status, the FA(3) invoice is built, checked and sent; the order page shows its KSeF status and number. Create corrections from a form or automatically on cancellation. Customers see the KSeF number and QR code on their order page. In Multi-Vendor, each vendor can connect its own NIP.
Features
FA(3) invoices built from orders, with buyer NIP, EU VAT ID or other tax ID
VAT rates 23, 8, 5 and 0 %, exempt, reverse charge, intra-EU supply, export and OSS
Prices with or without VAT, discounts, shipping and payment surcharge lines
Validation against the official FA(3) XSD before sending
KSeF API 2.0 login with a KSeF token or a certificate (XAdES signature)
KSeF numbers, UPO receipts and KOD I verification QR codes stored per order
Correction invoices (KOR) with lines before and after, full or partial
Split payment mark for Annex 15 goods and GTU codes per product
Offline queue with send deadlines and automatic retries
Incoming purchase invoices for your NIP with XML download
Customer order page with KSeF number, QR code, printable view and XML
Multi-Vendor: per-vendor KSeF connection and numbering, or marketplace issuing
What you get
Package
kv_ksef-1.0.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Supported
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Supported
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.17.2, Nov 5, 2026Tested on: Multi-Vendor 4.17.2
Requirements
Platform
CS-Cart or CS-Cart Multi-Vendor 4.17.2 – 4.21.x
PHP
PHP 7.2.5 – 8.3 with the OpenSSL, cURL and DOM extensions (standard on CS-Cart hosting). The server must reach api.ksef.mf.gov.pl (and api-test / api-demo for testing) over HTTPS
Requirement
A KSeF token or a KSeF certificate / qualified electronic seal for your NIP. You create the token yourself in the KSeF taxpayer application of the Ministry of Finance. Using KSeF is free of charge
Requirement
A server cron job is recommended for the send queue (see below)
Core changes
None. Hooks and template overrides only
1.0.0
Nov 5, 2026
Latest
Added 12
FA(3) structured invoices (schema FA (3) 1-0E) built from orders: buyer NIP / EU VAT ID / other tax ID, VAT rates 23, 22, 8, 7, 5, 4, 3 and 0 %, zw, oo, np I, np II, 0 WDT, 0 EX and OSS, gross or net method, discounts, shipping and payment surcharge lines, paid or due date, bank account, order reference, KRS / REGON / BDO footer, VAT in PLN for other currencies.
Validation of every file against the official FA(3) XSD (shipped with the add-on) and business checks before sending.
KSeF API 2.0 client: KSeF token login (RSA-OAEP SHA-256) and certificate login (XAdES-BES), cached access and refresh tokens, encrypted interactive sessions, status polling, UPO download, invoice download, metadata query; Test, Demo and Production environments.
KSeF numbers (CRC-checked), UPO receipts and KOD I verification links with QR codes stored per document.
Correction invoices (KOR) with lines before and after, full or partial, manual or at order statuses; they wait for the KSeF number of their invoice.
Split payment mark (MPP) for Annex 15 goods on B2B invoices of PLN 15,000 or more; GTU codes and units per product.
Offline queue with Polish business-day send deadlines, retries with back-off and offline mode sending; adoption of the original KSeF number after a lost answer (duplicate).
Admin pages: KSeF invoices list with status tiles and connection cards, document page, KSeF connection, tax and payment mapping, incoming invoices, correction form, KSeF tab on the order page, bulk creation from the orders list, printable view.
Customer order page: KSeF number, QR code, printable view and XML download.
Multi-Vendor: vendors connect their own NIP and KSeF token and issue their own invoices with their own numbering, or the marketplace issues all invoices.
Gapless own numbering or the numbers of Invoices & Credit Notes; buyer tax ID field shared with EU VAT Number Validation and EU e-Invoicing.
Cron command and cron URL for the send queue; license client and self-healing upgrades.
Tested on Multi-Vendor 4.17.2. First release.
Do I need an account with a service provider?
No. The add-on talks to the KSeF API of the Ministry of Finance directly, with your own NIP and your own KSeF token or certificate. Using KSeF is free.
Since when is KSeF mandatory?
According to the Ministry of Finance (ksef.podatki.gov.pl, "Etapy wdrożenia KSeF"): from 1 February 2026 for large taxpayers, from 1 April 2026 for the other VAT payers, and from 1 January 2027 also for the smallest businesses whose invoiced sales are up to PLN 10,000 a month. Rules on penalties and their start date may change; follow the Ministry's announcements and ask your tax advisor.
Which orders get a KSeF invoice?
Orders with a buyer tax ID (Polish NIP, EU VAT ID or another tax ID) when they reach an issue status. Consumer orders (B2C) only when you switch on B2C invoicing. You can always create an invoice by hand on the order page.
Can I test before going live?
Yes. Choose the Test environment of KSeF: invoices there have no legal effect and you can use test NIPs. The Demo environment works like production for a final check. Switch to Production when your invoices look right. Documents show which environment they were sent to.
Which login should I use, token or certificate?
A KSeF token is the simplest: create it once in the KSeF taxpayer application and paste it in. A KSeF certificate or a qualified electronic seal works as well; the add-on signs the login with it. Both are stored encrypted.
What does the add-on check before sending?
Every invoice is validated against the official FA(3) XSD of the Ministry of Finance (included in the add-on). The add-on also checks your NIP, the buyer NIP checksum, the seller address, the exemption basis for exempt items, unknown tax rates and whether the invoice total matches the order. KSeF itself runs further checks and the add-on shows its answer.
My store's prices include VAT. Are the amounts right?
Yes. With prices including VAT the add-on issues the invoice on gross values (unit prices with VAT, VAT per rate calculated from the gross total), so the invoice total equals what the customer paid.
How are EU and export sales handled?
Untaxed sales to EU businesses with a VAT ID get 0 % intra-Community supply (or np II for services, as you set), exports outside the EU get 0 % export, OSS sales to EU consumers carry the rate of the buyer country with the WSTO_EE mark (map those taxes to OSS). Reverse charge sets the P_18 annotation.
What about split payment (MPP)?
Mark Annex 15 products in the product editor. B2B invoices for Polish VAT payers of PLN 15,000 or more that include such products get the split payment mark. Your payment instructions remain your responsibility.
Can I change an invoice after KSeF accepted it?
No, KSeF invoices are final. Create a correction invoice instead. Invoices that KSeF rejected or that failed the checks can be rebuilt from the order with the same number.
What happens when KSeF is down?
The invoice keeps its number and date and waits in the offline queue with its send deadline; the queue sends it in offline mode as soon as KSeF answers. Keep the cron job running.
Can I get the invoices my suppliers sent me?
Yes, Incoming invoices lists them for your NIP and downloads their XML.
Is my KSeF token safe?
It is stored encrypted with a key derived from your store's own secret key, never shown again (only its last characters) and never written to logs. Anyone with access to your server files and database could still use it, as with any stored credential: revoke the token in the taxpayer application if you suspect a leak.
Does it work with the full page cache of CS-Cart 4.21?
Yes. Nothing is added to cached pages.
Does it slow down checkout?
No. Storefront orders only queue their invoice; sending happens in the admin panel or by cron.
What happens if the license lapses?
No new KSeF invoices or corrections are created. Invoices already created keep being sent to KSeF, and their KSeF numbers, UPO receipts and verification codes stay available.
The admin panel shows a license notice.
Enter your license key on the License tab of the add-on, or the CS-Cart Marketplace license number in Add-ons → Manage, and click Check now.
Does the add-on work on my staging copy?
Yes. Development hosts (localhost, .test, .local) need no license. Use the KSeF Test environment there so that no real invoices are sent from staging.
Does the license check slow down my storefront or checkout?
No. The storefront only reads the stored result; checks run in the admin panel at most once a day.
Is this legal or tax advice?
No. The add-on creates and sends invoices in the published format with the data and settings you provide. You remain responsible for the content of your invoices.