How to Use S2K

22 marca 2026


In the previous tutorial, we showed how to install the S2K application on your Stripe account. Today, we'll demonstrate how to configure it properly and what needs to be done to send invoices to KSeF, both in automatic and manual modes.

Let's start by explaining several fields in the application settings:
1. EORI Number (Economic Operators' Registration and Identification) - a unique identifier for entrepreneurs operating in the EU, required for import/export of goods. It can be obtained online through the PUESC platform. It's not mandatory, but if assigned, it should appear on invoices issued in KSeF.
2. Special taxpayer status - designation of a company's special situation. Available options: "in liquidation", "in restructuring", "in bankruptcy", "estate enterprise". Providing this information on the invoice is mandatory if such a situation has been legally determined.
3. Cash accounting method is a way of settling VAT tax (and optionally also PIT), where the tax obligation arises only when payment is received from the contractor, and the right to deduct VAT occurs on the day of payment for the purchase invoice. This solution improves cash flow, mainly for "small taxpayers". If applied, appropriate information should appear on the invoice.
4. Subjective VAT exemption - when using an exemption, the legal basis for the exemption must be specified (Art. 113, 43, 82 of the VAT Act or Directive 2006/112/EC (Art. 132/135). Besides being a mandatory annotation on the invoice, it allows us to apply the appropriate zero rate on the invoice (O KR / ZW).

Manual Invoice Issuance

In manual mode, we can review invoices issued in Stripe ourselves and select those that should be sent to KSeF.
The S2K application works in three Stripe views: the specific invoice view (which shows the invoice submission status to KSeF), the invoice list view, and the specific customer view, where you can review the list of invoices issued for a given customer along with their submission status. From each of these views, you can click "Send" to start sending the invoice. Additionally, from the invoice details level, we can preview what our invoice looks like in KSeF format and complete or correct certain fields.
Zrzut ekranu 2026-03-20 o 13.00.20 1.png
If everything is correct, we can click "Send" and return to the invoice details page to check the submission status. Right after submission, the invoice has a "Queued" status, and if it's not rejected by our validation or the KSeF system, after about 1-2 minutes the status will change to "Accepted", and the number assigned to the invoice in KSeF will appear along with links to download the UPO and invoice in XML format.
Zrzut ekranu 2026-03-20 o 13.03.24.png

Automatic Sending

As we mentioned in the previous part of the tutorial, automatic invoice sending is the ideal solution for those who rely on subscriptions or automatic billing offered by Stripe. In this case, S2K is the final required element allowing for complete automation of settlement for payments made through Stripe.

The basic difference compared to the manual option is that S2K continuously prepares and sends Stripe invoices to KSeF. After issuance, invoices have a "Scheduled" status and are sent with a 2-hour delay to avoid situations where an invoice was issued by mistake and shouldn't be sent. The user then has time to react and stop the sending of such an invoice to KSeF.
Zrzut ekranu 2026-03-20 o 20.12.18.png

Which Invoices Does S2K Send to KSeF?

S2K blocks sending of B2C invoices - the system requires the buyer's VAT number to function properly, so such an invoice would be rejected anyway.

Invoices issued for 0 PLN (or other currency) are also blocked. Stripe automatically issues such invoices in cases like trial periods for subscriptions, but from KSeF's perspective, they have no value and bring additional problems, such as determining the VAT rate (which is 0 anyway).

These invoices are marked on the list as N/A with the appropriate note "B2C" or "0 value": Zrzut ekranu 2026-03-20 o 11.55.54.png

Which Mode to Choose?

The best indicator of which mode will be better for your business is the level of complexity and diversity of issued invoices and their quantity.

For starters, we encourage testing the application in manual mode to ensure that invoices contain all necessary information, and then switching to automatic mode if needed.

Can I Test My Invoice in KSeF Without Risk?

Yes, KSeF provides a "demo" environment that allows verification not only of the submitted invoice but also our permissions for a given VAT number.

S2K supports the ability to use the "demo" environment in installations on our clients' live accounts. Switching between environments is dynamic and occurs from the application settings level.
Zrzut ekranu 2026-03-20 o 23.01.40.png

It's worth remembering that these are completely independent KSeF environments, so they require separate authentication. After changing the environment, invoice statuses will reflect their submission status to the selected environment.