In short (60 seconds)

What it is. The obligation to keep and submit accounting books in a structured format: the JPK_KR_PD structure (books with tax data) and JPK_ST_KR (fixed assets and intangibles). Introduced by an amendment to the Polish CIT Act. Timeline. Phased: for a year starting after 31 Dec 2024 — the largest CIT payers (revenue >EUR 50M) and tax capital groups; for a year after 31 Dec 2025 — other CIT payers who file JPK_VAT; for a year after 31 Dec 2026 — the rest. Deadline. First submission with the annual CIT return — by the end of the third month after the tax year ends. Where it hurts. Not the XML, the data: mapping accounts to the standard, tax markers, counterparty identification, consistency with KSeF and JPK_VAT.

What actually changes

Until now, your accounting books were the company's private kitchen. The tax office saw the result: the CIT return, the declarations, a JPK file on request. Exactly how each operation was booked — which account, what description, on which source document — stayed inside the company until an audit came along and asked for an extract.

JPK_CIT flips that logic. Now the company itself, once a year, sends the authority the whole ledger in a machine-readable format — with accounts tagged against a standard, tax markers on every relevant line, identified counterparties, and a separate register of fixed assets. Not the result. Not a sample. The ledger.

What this means in practice for the accounting team:

  • The chart of accounts must be mapped to the standard layout the structure expects — "for us that's account 731-2" no longer cuts it.
  • Every entry with tax significance must carry the right tax marker (e.g. non-deductible cost, exempt revenue).
  • Counterparties must be identified with verifiable data — a NIP in a single consistent format, not "Kowalski Trading Co."
  • Fixed assets and intangibles go in a separate JPK_ST_KR structure — with dates, values, depreciation.
  • The data must reconcile with what you already sent in JPK_VAT and what went through KSeF.
In this article

What JPK_CIT is: two structures, one obligation

"JPK_CIT" is the informal name for an obligation that in practice consists of two separate logical structures. Worth separating them right away, because confusing the two is the first source of chaos during rollout.

StructureWhat it containsThe point
JPK_KR_PD Accounting books extended with tax data: postings to accounts, tax markers, links to source documents, counterparty details This is the "meat" of the obligation — the full picture of postings from a tax angle
JPK_ST_KR The register of fixed assets and intangible assets: initial value, date put into use, depreciation method and rate, value changes A separate fixed-asset register — routinely underestimated in planning

The obligation was introduced by an amendment to the Polish CIT Act — books are to be kept using software and submitted to the tax authorities in a structured form. "JPK_CIT" is convenient in conversation, but in technical documentation always work with the structure names: they define which fields, and in which format, your system must generate.

A common misconception.

JPK_CIT is not "another once-a-year declaration to file." It is a requirement to keep the books in a defined structure throughout the year. If you book "the old way" for eleven months and then try to convert it into JPK_KR_PD in December, you'll be missing the markers, descriptions and identifiers nobody entered along the way. The submission structure is a consequence, not a cause. The cause is how you book.


Timeline: who and from when

The obligation phases in depending on your tax year and which group of taxpayers you belong to. The key wording is "for a tax year starting after" a given date — don't confuse it with the calendar year of the submission.

Tax year starting afterWho it covers
31 December 2024 The largest CIT payers — prior-year revenue above EUR 50 million — and tax capital groups (PGK)
31 December 2025 Other CIT payers obliged to submit JPK_VAT
31 December 2026 The remaining CIT payers (the closing group)

In other words: if you're a large taxpayer or operate within a tax capital group, the obligation already applies to you for the year that started in 2025. Mid-sized companies filing JPK_VAT join a year later. Everyone else, a year after that. But note: preparation starts long before the first submission, because the books must be kept in the new structure from day one of the year in scope.

Practical advice for the "second wave".

If your obligation starts for a year beginning after 31 Dec 2025, it means you must keep the books in the structure from January 2026 — not from when you submit in 2027. Companies that miss this discover, in the first quarter of the following year, that the entire previous year has to be re-mapped in the books, retroactively. That is the most expensive scenario.


Deadline: when the first submission is due

Unlike JPK_VAT (monthly), JPK_CIT is submitted once a year — together with the annual CIT return. The deadline is the end of the third month after the tax year ends.

For a company whose tax year matches the calendar year, that usually means the end of March the following year. If your year is shifted (say, 1 July to 30 June), you count three months from your own closing date. The submission itself is a formality — the challenge is that the books, throughout the year, are kept in a way you can generate as JPK_KR_PD and JPK_ST_KR in a single move.


What the books must contain

This is the section that decides success. The structure requires data that many companies don't record in the required form today:

Accounts tagged against the standard

Your company chart of accounts must be mapped to the layout the structure expects. This doesn't mean abandoning your own numbering — but every account needs an assigned counterpart in the standard. The most common trap: "legacy" accounts, in use for years, that nobody can cleanly classify anymore.

Tax markers

Entries with tax significance must carry the right marker — e.g. a non-deductible cost, exempt revenue, temporary differences. It's information the accounting team already knows "in their head," but it has to reach the entry in a machine-readable way. Without it, JPK_KR_PD is incomplete.

Counterparty identification

The counterparty in an entry must be identified with verifiable data — above all a NIP in a consistent format. "Shop on the corner," "Advance — Kowalski," "Various" — such descriptions pass in internal bookkeeping, but in the structure they're a signal of trouble.

Fixed assets and intangibles (JPK_ST_KR)

A separate structure with data on the fixed-asset base: initial value, date put into use, depreciation method and rate, value adjustments, disposals. Many companies keep the fixed-asset register in a separate module or spreadsheet that isn't tied to the general ledger. That's the first candidate for a mismatch.


Ties to KSeF and JPK_VAT: consistency or an audit

JPK_CIT doesn't live in isolation. It's the third piece of the puzzle alongside JPK_VAT and KSeF — and the tax office receives all three and can cross-check them.

  • Revenue in the books vs sales in JPK_VAT. If revenue reported in JPK_KR_PD doesn't match the sales reported in JPK_VAT (after adjusting for VAT/CIT differences), that's a ready-made reason for questions.
  • A booked invoice vs its KSeF counterpart. Once a sales or purchase invoice passes through KSeF, it has an identifier. The entry in the books that relates to that invoice should be traceable back to it. A gap here is the cleanest possible audit signal.
  • Corrections. A correction invoice changes the VAT, the CIT base, and the book entry. If you correct these three layers inconsistently or in different periods, the data drifts apart — and an audit spots the difference immediately.
The point.

The biggest JPK_CIT risk isn't "we won't send the file." It's we send a file that doesn't match what we already sent. Three reporting systems — KSeF, JPK_VAT, JPK_CIT — must tell the same story. Getting the source data in order before you generate the first JPK_KR_PD matters more than the submission tool itself.


7 places where it goes sideways

  1. Account mapping done "just barely." The standard was assigned only to accounts active in the current year. Old accounts, technical accounts, accrual accounts — skipped. It surfaces on the first unusual operation.
  2. No markers along the way. The accounting team knows the tax classification "from memory" but doesn't record it at booking time. At year-end you have to tag thousands of entries by hand — or guess.
  3. Fixed-asset register outside the ledger. Fixed assets kept in a separate spreadsheet/module, never reconciled to the general ledger. JPK_ST_KR reveals a gap no one had seen before.
  4. Counterparties with no NIP or with "NIPs in various formats." No separators in the ERP, dashes in the CRM, a PL prefix in the ledger of receivables. To an audit it looks like three different counterparties.
  5. Drift from JPK_VAT. CIT revenue and VAT sales computed independently, with no reconciliation of the differences. Cross-checking the files exposes the gap.
  6. Corrections in different periods. A VAT correction booked in a different month than the CIT correction. It may be formally correct — but it needs a clear trail explaining why.
  7. No process owner. Accounting owns the entries, IT owns the submission, the tax advisor owns the markers. When the file doesn't reconcile, nobody knows whose problem it is.

6 of the 7 traps aren't technical. They're data and process. Generating the XML is easy. The hard part is making the data inside that XML consistent, complete, and aligned with the other reports.


Preparation checklist

The road to the first submission from "tidy up" to "generate"
  1. Pin down your start date. Check which wave of the timeline you belong to and from which tax year you must keep the books in the structure. Remember: it's the start of the year in scope that counts, not the submission deadline.
  2. Map the chart of accounts to the standard. All accounts, not just the active ones. Catch the "orphan" and technical accounts. Document the mapping.
  3. Build tax markers into the booking process. So they arise as you go, not by hand in December. It's a change in how people work, not just in the system.
  4. Clean up counterparties. Consistent NIP format, deduplication, retiring "Various" entries. Align the data with what's in KSeF and JPK_VAT.
  5. Tie the fixed-asset register to the ledger. JPK_ST_KR must match the general ledger on value and depreciation. Reconcile the balances.
  6. Test generation and consistency. Generate a trial JPK_KR_PD and JPK_ST_KR from working data and cross-check them with JPK_VAT for the same period. Catch the gaps before the office does.
  7. Appoint an end-to-end process owner. One person/role responsible for data, markers, submission and consistency all playing together.

Tools: off-the-shelf vs open-source

Most accounting systems on the Polish market are adding or announcing a JPK_CIT module. If you don't have a dev team, that's the simplest path. If you do, an open-source layer gives flexibility where the packaged modules go quiet: consistency checks, reconciliation across JPK_CIT / JPK_VAT / KSeF, exception handling. Check scope and maturity directly with vendors — JPK_CIT support is still maturing.

ToolWhat it coversLinks
MyCompany (lsFusion) A declarative ERP platform where the books, VAT and fixed assets are one data model. Easier to keep JPK_CIT / JPK_VAT / KSeF consistent, because the data isn't scattered across modules. Full Polish localization Site · GitHub
Appsmith Internal panels for reconciling data, catching drift between reports, handling exceptions manually Site · GitHub
Metabase Control dashboards: CIT revenue vs VAT sales, fixed-asset balances vs the ledger, gaps in markers Site · GitHub
n8n Automation: alerts on mismatches, deadline reminders, routing cases to the process owner Site · GitHub

Conclusion: what to do now

JPK_CIT is a data project, not "a new file to send." Companies that treat it as a year-end formality will discover, in the first quarter, that the whole previous year has to be tidied up in the books, retroactively. Those who put the books in order in advance send JPK_KR_PD in a single move.

Three things worth doing this month:

  1. Pin down your wave and start date. Check from which tax year you must keep the books in the structure — it's often earlier than you think, because it's the start of the year that counts, not the submission deadline.
  2. Audit the source data. Account mapping, tax markers, counterparty NIP format, consistency between the fixed-asset register and the ledger. That's 80% of the work — and what decides whether the file reconciles.
  3. Cross-check with JPK_VAT. Generate a working JPK_KR_PD and compare it with JPK_VAT for the same period. Every difference you find now is a difference the tax office won't.

FAQ

What is JPK_CIT?

It's the obligation to keep accounting books using software and submit them to the tax authorities in a structured format. It consists of two structures: JPK_KR_PD (books with tax data) and JPK_ST_KR (fixed assets and intangibles). The obligation was introduced by an amendment to the Polish CIT Act.

When does it start and who is affected first?

Phased. For a tax year starting after 31 Dec 2024 — the largest CIT payers (revenue >EUR 50M) and tax capital groups. For a year after 31 Dec 2025 — other CIT payers who file JPK_VAT. For a year after 31 Dec 2026 — the remaining CIT payers.

When is it submitted for the first time?

Once a year, together with the annual CIT return — by the end of the third month after the tax year ends. For a year matching the calendar year, that's usually the end of March. But the books must be kept in the structure throughout the year, not only assembled at submission time.

How does JPK_CIT connect to KSeF and JPK_VAT?

The book data must be consistent with JPK_VAT and with invoices from KSeF. A mismatch between revenue in the books and sales in JPK_VAT, or between a booked invoice and its KSeF counterpart, is the most common trigger for an audit. Cleaning up the source data before the first submission is essential.


Official sources

Quick feedback

Was this useful?

A quick signal helps us prioritize follow-ups.