December pay paid in January 2027: a 2026 or a 2027 cost? The 8 January payday and ZUS by 15 or 22 February
One Payroll, Two Tax Years
Most of an office's clients with staff pay December wages in January. Nobody thinks about it until the annual return, when someone asks why the payroll cost in the books doesn't match the PIT-11s, or why December's cost ended up in January because a transfer went out a day late.
The rule is short. The same December payroll is a 2026 cost for the employer and 2027 income for the employee. Whether it stays in 2026 depends on two dates the office doesn't control: the day the pay leaves the client's bank account and the day the contributions reach ZUS.
The 2027 calendar makes both dates awkward this year. Here's what I'd check now, in December, and again in February.
The Two Rules That Decide
There are two separate rules: one for the pay, one for the employer's contributions on it. And they don't share a deadline.
| Pay (gross wages, contracts of mandate) | Employer's ZUS contributions on that pay | |
|---|---|---|
| Provision | art. 15(4g) CIT, art. 22(6ba) PIT | art. 15(4h) CIT, art. 22(6bb) PIT |
| Cost month if on time | the month the pay is due for (December 2026) | the month the pay is due for (December 2026) |
| Deadline that matters | payday in the pay rules or contract, at the latest the 10th of the next month (art. 85 Labour Code) | the ZUS deadline for the month the pay was paid (January 2027 declaration) |
| Latest date for December 2026 pay | Friday 8 January 2027 | 15 February 2027 (companies with legal personality) or 22 February 2027 (sole traders, partnerships) |
| If late | cost of the month actually paid (art. 16(1)(57) CIT, art. 23(1)(55) PIT) | cost of the month actually paid (art. 16(1)(57a) CIT, art. 23(1)(55a) PIT) |
| Employee's tax year | 2027, whatever happens | n/a |
The contributions rule changed from 2023. Before that, contributions on pay made in the following month had to be paid by the 15th of the payment month, which in practice meant by 15 January. Now the deadline follows the ZUS declaration for the month the pay went out. For January pay that's February. Plenty of offices still work to the old 15 January habit. That's safe, but it isn't the rule.
Why 8 January, Not 10 January
The Labour Code says pay is due no later than the first 10 days of the next month. In 2027 the 10th of January is a Sunday. Art. 85 § 3 says pay due on a day off is paid on the day before, so the statutory maximum ends on Friday 8 January. Wednesday 6 January is a public holiday too, so a client who "always pays on the 10th" has four working days in the new year to get payroll out, not ten.
A transfer ordered on Monday 11 January is one working day late. For a company with 12 employees and a 96 000 zł gross December payroll, that moves 96 000 zł of cost from 2026 into 2027. At the 9% small-taxpayer CIT rate that's 8 640 zł of tax paid a year early. At 19% it's 18 240 zł. The money isn't lost — it's shifted. But so is the client's 2026 result, the December advance and anything else that hangs off the 2026 profit.
There's a quieter trap. The deadline in art. 15(4g) is the one that applies to the pay, and the client's own pay rules can set an earlier one. If the regulamin wynagradzania says pay goes out "on the last working day of the month", then December pay paid on 8 January is late for tax purposes, even though it's inside the Labour Code's ten days. I see this most often where pay rules were copied from a template years ago and payroll drifted to "around the 10th" without anyone updating the document. Read the pay rules once a year, in December. Don't assume the 10th.
For contracts of mandate and contracts for specific work, the deadline is the payment date in the contract. If the contract says "within 7 days of the invoice or bill", that's the date to test. If it says nothing, it's a judgement call, and I'd rather fix the contract template than argue about it in March.
The ZUS Leg
Pay made in January 2027 goes into the January 2027 ZUS declaration, whatever month it's for. That declaration is due:
- by 15 February 2027 for payers with legal personality: sp. z o.o., S.A., foundations, associations;
- by the 20th for everyone else, which includes sole traders with employees and partnerships (jawna, komandytowa). 20 February 2027 is a Saturday, so it moves to Monday 22 February 2027.
The employer's share of contributions on December pay is a December 2026 cost if it's paid by that date. Social insurance alone is about 20% of gross for a typical employer (9.76% pension, 6.5% disability, the accident rate, 2.45% Labour Fund and 0.10% FGŚP). On the 96 000 zł payroll that's roughly 19 600 zł.
The awkward part is timing. The December CIT or PIT advance is due on 20 January. That's before anyone knows whether the contributions will be paid by mid-February. The usual practice is to book them in December and check the payment before the annual return. If they turn out to be late, the cost moves to the month they were actually paid, and the advance and the annual figures follow. That check is cheap if it's on a list. It's expensive if an inspector finds it first.
The PIT-11 Mismatch
The employee is taxed on cash. Pay received on 8 January 2027 is 2027 income: tax is withheld under the 2027 rules, and the pay goes into the 2027 PIT-4R and the PIT-11 for 2027. The employer deducts on accrual, so the same amount is a 2026 cost.
That means the PIT-11s for 2026 never add up to the 2026 payroll cost. They contain December 2025 pay (paid in January 2026) and not December 2026 pay. The reconciliation is one line:
2026 payroll cost = 2026 PIT-11 gross − December 2025 payroll + December 2026 payroll (for pay that went out on time).
If the difference isn't exactly that, something else is wrong: a late payment that should have moved, a bonus booked in the wrong year, or a contract of mandate that was never on the payroll. Annual bonuses are their own question, covered in the accruals and provisions post, and they fit into the same reconciliation once you know which year they belong to.
Deadlines for the 2026 forms, after the weekend shifts: PIT-4R and PIT-11 to the tax office by 1 February 2027 (31 January is a Sunday), and PIT-11 to employees by 1 March 2027 (28 February is a Sunday).
What the Office Checks, and When
In December:
- Pay rules per client. The payday written in the regulamin or contracts, not the payday everyone remembers. Flag anyone whose rule is earlier than the date they actually pay.
- The 8 January date. Tell every client paying "on the 10th" that this year it's Friday the 8th at the latest, and earlier if their own rules say so.
- Payer type for ZUS. 15th or 20th depends on legal personality, not on whether the client has employees. A spółka komandytowa with 30 staff pays by the 20th. A one-person sp. z o.o. pays by the 15th.
In February:
- Pay dates against the bank statement. For every client, the actual debit date of each December payroll transfer, not the date on the payroll list.
- ZUS payment date against the deadline. Same thing, for the January declaration.
- The PIT-11 reconciliation above, before the forms go out.
Steps 4 and 5 are dull and mechanical. On a 40-client portfolio with staff that's a few hundred transfers matched against two dates each. They're also where the mistakes hide, because nobody looks at the debit date when the amount is right.
Where an Agent Helps
This is the sort of check I'd hand to an AI agent for an accounting office without much debate. It reads the statements the office already imports, finds the payroll and ZUS transfers, compares their dates with each client's payday and payer type, and produces a short list: these three clients paid December pay late, move it; this one paid ZUS on 16 February as an sp. z o.o., move the contributions. A person decides what to do with each line. The agent doesn't book anything.
It's the same pattern as the month-end close and the year-end purchase invoices check: the rule is simple, the data is in the system already, and the failure comes from nobody comparing two dates across a few hundred lines.
Want the February payroll check to run itself across your client list? Get in touch. We'll start with your statement import and one client's pay rules, and you'll see the first list within a week.
Check a Polish VAT counterparty in seconds, free
KsięgoAI checks a NIP against the VAT white list and VIES, scores the risk and saves proof of due diligence. Works in Telegram and Claude.
Try KsięgoAI→Let’s talk about your project
Free 30-minute consultation. We’ll figure out if and how I can help.



