A one-person firm on a B2B contract

A B2B contract without the paperwork — invoice, ledger, advance, JPK

You send your client's invoice to KSeF — the UPO comes back and stays with the document. The revenue goes into the ledger, and out of that come the monthly ryczałt advance and the annual JPK_EWP you file with the tax office. A B2B contract is the example here, not the limit: the same month closes exactly this way for any micro-firm on the ryczałt, whatever the trade.

Create an account and issue an invoice

Signing up takes a few minutes; after that you watch the rest happen on your own documents.

  • KSeF for everyone from April 1, 2026
  • Ryczałt 12% or 8.5%
  • Annual JPK_EWP by 30 April
A month on B2B

What a month on a B2B contract looks like

A month on a B2B contract is usually one invoice and a few clicks around it — from your client's invoice to closing the year.

  1. Invoice and KSeF

    You send the invoice to KSeF in one click — the transmission status and the UPO stay with the document. Turn the automation on and it goes the moment you issue it; that switch is off by default.

  2. The revenue ledger

    Sales invoices build the revenue ledger, at the rate set for the company. Advance invoices (ZAL) and proformas do not count as revenue, and a correction is settled at the rate of the period it corrects.

  3. ZUS contributions and the advance

    The app works out the advance from your ledger, running from January, after subtracting the contributions marked as paid: the social contributions in full and half of the health contribution. The month's own contributions are worked out on a separate ZUS screen.

  4. The annual JPK_EWP

    You file the annual JPK_EWP by 30 April of the next year. The file is built from your ledger, validated against the Ministry of Finance XSD schema, and you click send and collect the UPO — nothing happens on its own.

Ryczałt 12% or 8.5%?

The rate is not a choice — it follows from the PKWiU classification, and services tied to software are listed there explicitly at 12%; where it is unclear, an individual tax ruling settles it. In Biurko you enter the settled rate with the date it takes effect, and every month is settled at the rate in force that month; move that date back and the months already closed are recalculated.

All new sales in a given period are settled at a single rate. If part of your work is settled at 12% and part at 8.5%, the app will not split that for you — you work it out elsewhere.

VAT registers and the JPK_V7 exist only if you are a registered VAT payer. If you are exempt, the whole chain above — ledger, advance, annual JPK_EWP — works without them.

Calculator

See what a contract actually leaves you

Ryczałt 12%, full ZUS with the health contribution, no business costs. The full calculator compares four ways of being taxed and an employment contract at the same cost to the employer.

Net amount on the invoice20,800 zł
0 zł60,000 zł

15,811 zł

left every month

189,733 zł over a year

An informational estimate, not tax advice.

Open the full B2B calculator
A client outside Poland

An invoice for a client abroad

A B2B contract rarely stops at a Polish client. An invoice in a foreign currency, in a foreign language and with the right procedure marker is the norm on this route, not the exception.

Currency and the NBP rate

You issue the invoice in one of eighteen currencies, and the app pulls the rate from NBP table A — for the day before the VAT obligation arises. You can also enter the rate by hand.

VAT in złoty and the FA(3)

Net and gross totals stay in the invoice currency, and the VAT amount is additionally printed in złoty. The rate, its date and the NBP table number all go into the FA(3) XML sent to KSeF.

The document language

You issue the document in one of ten languages — from English and Ukrainian to Lithuanian. You pin the language to the contractor for good, whatever language you work in yourself.

Reverse charge

You set the “Odwrotne obciążenie” / “Reverse charge” note yourself — the app does not infer it from the contractor's country. Exception: at the “oo” or “zw” rate, the marker appears automatically.

You file the VAT-UE recapitulative statement outside Biurko, you check the contractor in VIES yourself, and you settle exchange-rate differences between issue and payment elsewhere — none of that is here.

You work in Polish, English or Ukrainian

Not everyone working in Poland on a B2B contract thinks in Polish.

  • The interface in Polish, English and Ukrainian — you pick the language in your user profile
  • A Ukrainian version of this site, the knowledge base and the changelog, not only of the app itself
An assistant alongside your firm

You can hand part of the work to an assistant

You connect an assistant to your company over the open MCP protocol — it gets more than a hundred tools, the same operations you click yourself: contractors and the catalogue, costs and registers, issuing an invoice, sending it to KSeF and collecting the UPO.

  • The assistant token gets at most a subset of your own permissions — never more than you have yourself

  • Every call lands in the audit log — who, what, when, with what effect and from which address — and irreversible actions need a preview and a one-time confirmation

  • You suspend or revoke access at any moment, and sensitive actions send you a notification

app.biurko.io
In the video: connecting an assistant to your company step by step, and the first calls seen from the app's side.
In the video: connecting an assistant to your company step by step, and the first calls seen from the app's side.
Reference point

What you do yourself, and what stays with your accountant

Looking after a one-person IT firm costs roughly 159–404 zł a month at an accounting firm — the market rate for someone's time and someone's responsibility. Biurko is not trying to talk you out of that: it takes over the retyping and leaves your accountant the part no software can take on.

On your side

  • You issue the invoice and send it to KSeF in the same minute
  • You can see the ledger and the base for the advance on any day of the month
  • You send the annual JPK_EWP from the app, and the UPO stays there with it

On your accountant's side

  • They get their own seat in your company — free on any plan, and outside your seat limit
  • They open finished registers and JPK files instead of collecting PDFs from you by email
  • They carry what no program will: knowing your industry, reading the law, and answering for both

And if you are the accountant, reading this over your client's shoulder: your client stays yours. You come in as a guest, on a seat nobody pays for, and you get clean data — registers and JPK files instead of a folder of scans.

FAQ

The questions that come up most

No marketing fluff: what the app works out, what it does not, and where its role ends.

It will. The base is the revenue from your ledger, less the contributions you have paid — the social contributions in full and half of the health contribution, counted by the day the money left the account. The app runs a total from January and subtracts the ryczałt already owed for earlier months. It reduces the advance only by what you mark as paid — it will not guess at a transfer you have not marked.

Try it on your own company

Sending to KSeF is only the way in — what you pay for is what happens after the invoice. Open a free account, issue your first invoice, and see your month from the inside.

Create an account

No onboarding project and no call with a salesperson — you issue your first invoice the same day.

Cookies

We use only essential cookies. Visit statistics are kept on our server, with nothing saved on your device. Website Policy