The usual worry when a company moves in July sounds like this: the new tool will start numbering at FV/2026/001 while 128 invoices have already gone out this year. The quieter and more expensive worry is the second one, that the entire history stays locked in a tool you will lose access to in three months.
Both are solvable in about fifteen minutes, but order matters. Once an invoice has been sent to KSeF and accepted, its number is fixed. Numbering gets configured before the first document is issued, not after.
Here is what the regulations actually require, how to rebuild your numbering format in Biurko, how much history KSeF returns on its own, and what it will not return.
What the law requires, and what it does not
The rule is Article 106e(1)(2) of the Polish VAT Act: an invoice must carry a sequential number assigned within one or more series that identifies it unambiguously. The current consolidated text is listed on podatki.gov.pl.
In a binding ruling dated 7 February 2023 (ref. 0114-KDIP1-3.4012.603.2022.1.KP, searchable in the Eureka database), the Director of the National Revenue Information Service read "sequential" literally: numbers follow one another in chronological order.
What that means for a migration:
numbering does not have to start at 1,
there is no obligation to reset on 1 January, a rolling counter across years is fine,
the format may change mid-year as long as numbers stay unique,
several series may run in parallel, for example one for sales invoices and separate ones for corrections and advance invoices.
One thing is prohibited without exception: issuing the same number twice. This is exactly where migrations go wrong, when a new system starts its own counter from zero.
If a gap appears in the sequence, it is not fixed with a correcting invoice. Common practice is a written note explaining the cause, kept in the records. This is an interpretive area, so agree the documentation approach with your accountant.
Step 1. Rebuild the numbering format before the first invoice
In Biurko the numbering template is configured per document type: standard VAT invoice, simplified invoice, advance invoice, settlement invoice, each correction type, flat-rate farmer invoice and proforma. That lets you reproduce the series layout from your old tool instead of compressing everything into one run.
Templates are built from tokens:
Token Meaning Example {PREFIX} series prefix FV {YYYY} / {YY} year 2026 / 26 {MM} month 07 {DD} day 14 {SEQ:n} counter, n digits {SEQ:3} renders 129
Ready-made presets are {PREFIX}/{YYYY}/{MM}/{SEQ:3}, {SEQ:3}/{MM}/{YYYY}, {YYYY}/{MM}/{SEQ:3} and {SEQ:3}/{YYYY}. Custom templates are accepted if they pass three validation rules: they contain {SEQ}, they contain a year token, and with a monthly reset they also contain {MM} or {DD}. That last rule prevents a format that would produce a duplicate the moment the period rolls over.
A concrete case. A company moves on 1 July 2026, the last invoice in the old system was 128/2026, counter reset yearly. In Biurko you set:
template:
{SEQ:3}/{YYYY}reset: yearly
starting number:
129
The first document issued in Biurko becomes 129/2026. Continuity preserved, no visible break in the records.
Two things worth knowing about the starting number field:
It applies to the current period. With a monthly reset, a starting number set in July applies to July. August starts from 1 again, per the reset rule.
It only moves upward. The system will not let the counter drop below the highest sequence already used. You can open a gap, but you cannot accidentally reissue a number.
The settings screen shows a preview of the next number, so the configuration can be verified before anything is issued.
Step 2. Sales history comes back from KSeF
This is the good news for anyone migrating. Under Article 112aa of the VAT Act, structured invoices are stored in KSeF for ten years counted from the end of the year of issue. Your history does not belong to your old software. It sits with the Ministry of Finance and can be pulled into any tool.
In Biurko you start the import once KSeF is connected, choosing a date range and a direction: sales, purchases or both. It runs in two stages. The system first discovers documents in the window, then you confirm which of them to import. A single malformed invoice does not abort the run, the error stays on that one item.
What you get:
Sales invoices with the original number from the XML. Imported sales also receive an accepted-transmission record, so the system will never try to send them to KSeF a second time.
Purchase invoices stamped with the
KSeFJPK_V7 marker. The cost category is deliberately left empty, since it is a company-specific taxonomy with no reliable automatic guess.Contractors created from the invoice data, optionally enriched from GUS (the national business registry) with REGON, KRS, PKD codes and the full address. In most cases the contractor list does not need to be re-keyed, it rebuilds itself from history.
Review flags wherever the FA(3) schema does not carry enough information, for example a settlement invoice referencing several advance invoices, or a correction whose original is not present in the system.
Importing history does not consume the monthly invoice allowance in your plan. Pulling a full year back costs nothing from the quota you use for current invoicing.
Step 3. What will not come back on its own
The honest limits, because this is where migrations usually disappoint.
Invoices issued before you entered KSeF are not in KSeF. The import will not find them. If your obligation started on 1 April 2026, everything before that date is out of reach.
Biurko has no invoice import from a CSV file or from XML generated by another program. KSeF is the only automated inbound path.
The product and service catalogue is entered manually, or builds up as you issue invoices.
Contractors cannot be imported from CSV. Export to CSV and XLSX works, import does not.
Purchase documents outside KSeF, such as receipts or invoices from VAT-exempt sellers, are entered manually with the right JPK_V7 marker (
BFK,DI,OFF).
Practical takeaway: before you cancel the old subscription, export everything from it, PDFs and summaries alike, and keep the XML files of structured invoices separately.
Five traps that cost the most
The same number twice. Biurko enforces uniqueness on sales invoice numbers, and auto-numbering skips a number that is already taken. A collision can still appear if you key an invoice in manually and then pull the same document from KSeF. The import detects that case and does not overwrite a document you authored yourself.
Counter drift after manual renumbering. Settings show when the counter sits below the highest number actually used, and let you re-base it in one action.
The number locks after KSeF. Once an invoice is accepted, has a KSeF number, or has a transmission in flight, its number cannot be changed. That is why numbering comes before the first send.
The KSeF number is not the invoice number. The number assigned by the Ministry identifies the document inside KSeF, while your own number in field P_2 identifies it in your records. The KSeF number does not relieve you of maintaining your own sequence. See the official KSeF Q&A.
Changing the format mid-year. Allowed, but the new series must not reproduce a number already issued in the previous one.
Migration checklist
Note the last number in the old system for every document type, not only standard VAT invoices.
Confirm whether the counter resets monthly or yearly.
Rebuild the template and prefix in Biurko, separately for each type.
Set the starting number and check the next-number preview.
Run the KSeF import for the period since your obligation started, direction: both.
Work through the items flagged for review.
Export everything pre-KSeF from the old system, and only then close the account there.
Summary
Numbering continuity is not a matter of picking a lucky tool. It is fifteen minutes of configuration done in the right order. History issued through KSeF is yours regardless of software, because the Ministry keeps it for ten years. The only real exposure is the pre-KSeF period, and it disappears once you archive that data before the old subscription lapses.
Create a free Biurko account, set your numbering template and import your KSeF history before you issue the first document.
FAQ
Do I have to restart invoice numbering when I change invoicing software? No. Polish regulations do not require a restart at 1 or a reset when you switch tools. They require sequence and uniqueness. In the new system you configure the same format and a starting number one higher than the last invoice issued in the old one.
Can I change the invoice numbering format mid-year? Yes. The VAT Act does not prescribe a format or a moment for changing it. The single condition is that a number in the new series must not repeat one already issued. Introducing the change on the first day of a month keeps the records easier to read.
Will I get back invoices issued in my previous program? Those that went through KSeF, yes. They are stored in the system for ten years and can be imported into a new tool. Invoices from before your KSeF obligation began must be archived by you before you leave the old program.
Does the KSeF number replace the invoice number? No. The KSeF number identifies the document inside the Ministry of Finance system. The invoice number in field P_2 is still assigned by the issuer and is the one that has to satisfy the sequence requirement in Article 106e(1)(2) of the VAT Act.
Does importing history from KSeF use up my plan's invoice allowance? No. Documents pulled from KSeF do not count towards the monthly limit of issued invoices, because you are not issuing them, you are restoring them from the system archive.
