How to handle B2B developer taxes, KSeF and ZUS?
A B2B developer in Poland must manage KSeF invoicing, ZUS and ryczałt tax by the 20th, and JPK_V7M by the 25th of each month. For monthly invoices exceeding PLN 10,000 gross, KSeF has been mandatory since 1 April 2026. Learn how to calculate your 12% flat-rate tax and health contributions.

If you work as a B2B developer in Poland and issue one or a few invoices a month, your monthly paperwork comes down to four things: an invoice in KSeF, the ryczałt (flat-rate tax) payment by the 20th, ZUS contributions by the 20th and, if you are an active VAT payer, the JPK_V7M file by the 25th of the following month. For a typical B2B developer, KSeF has been mandatory since 1 April 2026, not 2027. Below I break each element down with amounts and legal bases (as of 8 October 2026).
I write as a developer who runs his own sole proprietorship (JDG) and builds a KSeF integration every day. For your individual situation, it is worth consulting a tax advisor, because details such as the PKWiU classification of your services can change the result.
A B2B developer's monthly calendar
What Deadline Who Invoice in KSeF within the VAT Act deadline (usually by the 15th of the month after the service) anyone issuing invoices above PLN 10,000 gross per month (in 2026) Ryczałt advance payment by the 20th of the following month developers on ryczałt ZUS DRA and contributions by the 20th of the following month JDG without employees JPK_V7M (VAT records + return) by the 25th of the following month active VAT payers PIT-28 by 30 April for the previous year ryczałt JPK_EWP by 30 April for the previous year from 2027 (details below)
A B2B developer's invoice in KSeF: when and how
KSeF (Poland's National e-Invoicing System) was rolled out in stages: 1 February 2026 for companies with sales above PLN 200 million, 1 April 2026 for other taxpayers, and 1 January 2027 for the smallest ones, whose invoiced sales do not exceed PLN 10,000 gross per month.
The PLN 10,000 gross limit: why it already applies to most developers
The limit is based on the gross value of invoices issued in a given month. If you invoice PLN 15,000 or 25,000 a month, the transition period does not cover you and you have been issuing structured invoices in KSeF since 1 April 2026. From 1 January 2027 the exception disappears for everyone.
Receiving cost invoices through KSeF has applied since 1 February 2026 regardless of company size. An invoice for hosting or hardware from a Polish supplier therefore reaches you through the system, not only by e-mail.
Invoicing a foreign client
Many developers work for companies in the EU or the US. An invoice for a foreign client is also issued in KSeF, but the client will not download it from there. You deliver it outside the system, for example as a PDF with a QR code that lets anyone verify the document in KSeF. For services to EU businesses, the invoice carries the note "odwrotne obciążenie" (reverse charge).
How KSeF access works technically
Your invoicing software does not "log in with your password". As the owner of the NIP (tax ID), you grant a permission in KSeF to issue or receive invoices, and the software authenticates with a KSeF certificate or token. This matters for security: you can revoke the permission at any time in the KSeF portal, and a token or certificate held by a provider should be stored encrypted.
In September 2026 the Ministry of Finance (MF) announced that tokens due to expire at the end of 2026 will stay in use, with validity configurable from 1 to 365 days and optional automatic renewal. Treat this as an announcement until the regulations are published.
KSeF penalties: status as of October 2026
Penalties under Art. 106ni of the VAT Act can reach 100% of the VAT on the invoice, and for an invoice without VAT shown, up to 18.7% of the total amount due. Under current law they would apply from 1 January 2027.
On 16 September 2026 the MF announced it is working on an amendment moving the end of the penalty-free period to 31 December 2027. This is an announcement, not an enacted law. The Ministry also stresses that the obligation to use KSeF stays and that the tax administration (KAS) will react to invoices issued outside the system. It is sensible to act as if penalties start in January.
12% ryczałt for developers: when it applies
The 12% rate comes from Art. 12(1)(2b)(b) of the Act on flat-rate income tax. It covers, among others, software-related services (PKWiU ex 62.01.1), original software (62.01.2), software consulting (ex 62.02), software installation (ex 62.09.20.0) and network and system management (62.03.1).
In practice: if you write code, design architecture or develop a system, your rate is 12%. The Supreme Administrative Court (NSA) reads "software-related services" broadly, not just as writing code. The 8.5% rate covers a narrow group, such as purely technical IT support (PKWiU 62.02.30.0), as confirmed for example by a Director of KIS ruling of 1 September 2026 (0115-KDST2-2.4011.539.2026.3.KK).
How to calculate the ryczałt payment
Take the month's revenue (net, excluding VAT).
Subtract the social ZUS contributions you paid.
Subtract 50% of the health contribution you paid.
Apply 12% to the result and pay it to your tax micro-account by the 20th of the following month.
On ryczałt you do not file returns during the year. The annual settlement is PIT-28, due by 30 April.
JPK_EWP: a new obligation for ryczałt taxpayers
Your revenue records will go to the tax office as a JPK_EWP file. Active VAT payers on ryczałt will send it for the first time by 30 April 2027 for 2026. Other ryczałt taxpayers will do so by 30 April 2028 for 2027. The structure is described in the MF brochure on JPK_EWP(4). The takeaway: keep your records electronically and properly from the first day of the year, not reconstructed in April.
ZUS contributions 2026 and the health contribution on ryczałt
Social contributions depend on your business stage:
Plan Monthly (2026) Ulga na start (first 6 months) PLN 0 social contributions Preferential ZUS (next 24 months) PLN 420.87 without sickness / PLN 456.19 with sickness insurance Full ZUS (base PLN 5,652) PLN 1,788.29 without sickness / PLN 1,926.76 with sickness insurance
Mały ZUS Plus requires revenue of up to PLN 120,000 in the previous year, so most full-time B2B developers will not qualify.
The health contribution on ryczałt is fixed within an annual revenue bracket (base: average wage in Q4 2025, PLN 9,228.64):
Annual revenue Monthly health contribution up to PLN 60,000 PLN 498.35 PLN 60,000.01–300,000 PLN 830.58 above PLN 300,000 PLN 1,495.04
Ulga na start does not exempt you from the health contribution. You pay it from the first month.
VAT and JPK_V7M: deadline and what changed with KSeF
Since 1 January 2026, the small-business VAT exemption limit (Art. 113(1) of the VAT Act) is PLN 240,000 of net sales per year. Programming services are not excluded from the exemption, but advisory services are (Art. 113(13)), so check carefully if your contract is labelled "consulting".
If you are an active VAT payer, you file JPK_V7M by the 25th of the following month. Since 1 February 2026 a new JPK_V7 structure applies, in which the records include KSeF-related markings, including KSeF invoice numbers. That is why your invoicing software and your JPK software should "see" the same data; otherwise you copy KSeF numbers by hand.
Example: a developer's month with a PLN 18,000 net invoice
Assumptions: 12% ryczałt, active VAT payer, full ZUS without sickness insurance, annual revenue around PLN 216,000 (health bracket PLN 830.58). The example is simplified.
Item Amount Invoice net / VAT 23% / gross PLN 18,000 / 4,140 / 22,140 Social contributions PLN 1,788.29 Health contribution PLN 830.58 Ryczałt base: 18,000 − 1,788.29 − 415.29 PLN 15,796 (rounded) Ryczałt 12% PLN 1,896 VAT payable (no input VAT) PLN 4,140
Income tax plus contributions total about PLN 4,515, roughly 25% of net revenue. VAT is a separate flow: the client pays it, you pass it on.
B2B developer and KSeF: keeping everything in one place
Most mistakes I see do not come from rates but from data that drifts apart: invoices in one app, records in a spreadsheet, ZUS in a phone calendar. A simple process:
One source of invoices. Issue them in software connected to KSeF and check that every invoice has a KSeF number and UPO (official receipt).
Records from invoices, not from memory. Ryczałt revenue and the VAT register should be generated automatically from issued documents.
Costs from KSeF. Once a month, review purchase invoices pulled from KSeF and decide what goes into the VAT register.
Deadlines in one calendar. The 20th (ryczałt, ZUS) and the 25th (JPK_V7M) are fixed points in your month.
Access control. Once a quarter, check in the KSeF portal which entities have permissions for your NIP and revoke unused ones.
This process works regardless of the software. What matters is that no number gets copied by hand between systems.
FAQ
Does a B2B developer have to issue invoices in KSeF in 2026?
Yes, if the value of invoices issued in a month exceeds PLN 10,000 gross. In that case the obligation has applied since 1 April 2026. Below that limit you may issue invoices outside KSeF until the end of 2026. From 1 January 2027 KSeF covers everyone. Receiving invoices via KSeF has applied since 1 February 2026.
Does a developer on ryczałt pay 12% or 8.5%?
As a rule, 12%. The rate under Art. 12(1)(2b)(b) of the flat-rate tax act covers software-related services (PKWiU ex 62.01.1), including programming and system design. The 8.5% rate applies to narrow services, such as purely technical IT support (PKWiU 62.02.30.0). It is best to confirm the classification with an advisor.
How much is the health contribution on ryczałt in 2026?
It is PLN 498.35 per month for revenue up to PLN 60,000 a year, PLN 830.58 for revenue from PLN 60,000.01 to 300,000, and PLN 1,495.04 above PLN 300,000. Half of the contribution paid is deducted from revenue when calculating ryczałt. Ulga na start does not cover the health contribution.
When is JPK_V7M due?
By the 25th of the month following the settlement period, for example by 25 October for September. It applies to active VAT payers settling monthly. Since February 2026, JPK_V7 records include KSeF-related markings, including KSeF invoice numbers.
Does an invoice for a foreign client also go to KSeF?
Yes. A Polish taxpayer issues the invoice in KSeF for a foreign buyer too, but delivers it outside the system, for example as a PDF with a verification QR code. For services to EU businesses, the note "odwrotne obciążenie" (reverse charge) is added.
Will KSeF penalties start in 2027 or 2028?
Under current law, penalties under Art. 106ni of the VAT Act apply from 1 January 2027. On 16 September 2026 the MF announced a postponement to 2028, but as of 8 October 2026 this is an announcement, not an enacted law. The obligation to use KSeF applies regardless of penalties.
Summary
For a B2B developer, KSeF is now a fixed part of every month, not a 2027 project. For invoices above PLN 10,000 gross it has applied since 1 April 2026. You pay the 12% ryczałt by the 20th, ZUS by the 20th, file JPK_V7M by the 25th, and from 2027 an annual JPK_EWP comes on top. The less data you copy by hand between invoices, records and returns, the lower the risk of error.
How we approach this at Biurko
We build Biurko from the perspective of a developer who runs his own JDG and uses it every day. In one place you issue and receive KSeF invoices (FA(3)) with UPO confirmation, keep ryczałt records with tax calculation, generate JPK_V7M and send it to the MF e-Deklaracje gateway, and ZUS contributions are calculated together with a deadline calendar. The KSeF connection works through a permission you can revoke yourself at any time in the KSeF portal, and certificates and tokens are stored encrypted. The interface is available in Polish, English and Ukrainian, and new features reach users every few days, documented in a public changelog.
If you are switching invoicing software before 1 January 2027, you can try Biurko on the FREE plan: no card required, with unlimited sending to KSeF.
Tags
Previous article
How to link a KSeF invoice with JPK_V7, ZUS and ryczałt?
Next article
How to Issue Foreign Language Invoices in KSeF?