Bad-debt relief in PIT and CIT: same invoice, a different list from VAT
One Invoice, Two Corrections
Yesterday I wrote about the debtor side of VAT bad-debt relief: a client who hasn't paid a purchase invoice within 90 days of its due date has to give back the input VAT (VAT bad-debt relief: the debtor side). Most offices that do check this stop there.
The same unpaid invoice triggers a second correction, in income tax. Since 2020, art. 26i of the PIT Act and art. 18f of the CIT Act work the same way as the VAT rule: the creditor may reduce its tax base by the unpaid receivable, and the debtor must increase its tax base by the unpaid liability it booked as a cost. Same trigger: 90 days after the due date.
Take the example from yesterday: 10 000 zł net plus 2 300 zł VAT, due 15 June, still unpaid. Day 90 is 13 September. For a CIT client at 19%, the debtor side costs:
- 2 300 zł of input VAT back in the September JPK_V7, filed by 25 October;
- 10 000 zł added to the income base for September, which at 19% is 1 900 zł more in the September advance, due 20 October.
That's 4 200 zł on one invoice, in two different files with two different deadlines five days apart. The VAT side is the one people remember. The advance is the one that's due first.
It Isn't Only the Annual Return
A lot of offices still treat the income tax relief as a year-end item: something to sort out when preparing CIT-8 or PIT-36. That was closer to true in 2020. It isn't now.
For PIT, the rules for advances are in art. 44 ust. 17–24, and CIT has an equivalent. The debtor increases the income used to calculate the advance in the period in which day 90 passes. The creditor may reduce it in that period, provided the receivable is still unpaid on the day the advance is due. When the invoice is finally paid, both sides reverse it in the period of payment: the debtor reduces the base again, the creditor increases it.
So a client who pays the supplier in December, after missing the September increase, has an understated September advance and interest to go with it. Same pattern as VAT, different file.
Why the Income Tax List Isn't the VAT List
This is where offices get caught. It's tempting to take the day-90 list built for VAT and reuse it for income tax. The trigger date is the same, so why not?
Because the conditions aren't. Here are the differences I'd put on a checklist:
- Two years, not three. For income tax, no more than two years may have passed since the end of the calendar year in which the invoice was issued or the contract signed. VAT allows three. An invoice from 2023 can still be on the VAT list in 2026 but not on the income tax one.
- Businesses only. The income tax relief covers commercial transactions between businesses, both taxed in Poland, as defined in the act on preventing excessive delays in commercial transactions. A sale to a consumer is out. So is a loan. VAT has its own narrow route for buyers who aren't VAT payers; income tax doesn't.
- A different restructuring check. Under the income tax rules the debtor must not be in restructuring, bankruptcy or liquidation on the last day of the month before the return or advance is filed. The VAT rule looks at a different date. Same idea, different day.
- Net, not VAT. The income tax correction uses the amount booked as revenue or cost. For a VAT payer that deducts input VAT, it's the net amount. For a client that can't deduct VAT, the cost (and so the correction) includes it.
- Flat-rate clients are out. Ryczałt is a tax on revenue, not on income, so the 26i mechanism doesn't apply. A ryczałt client may still be on the VAT list. Not on this one.
- VAT-exempt clients are in. The reverse case: a client under the small-business VAT exemption has nothing on the VAT list but can be both creditor and debtor for income tax.
Put those six side by side and the two lists diverge quickly. In an office with a mixed client base (full books, KPiR, ryczałt, a few VAT-exempt sole traders) I'd expect them to share most invoices but not all. And the ones they don't share are exactly the ones nobody checks.
Where the Data Sits
The data problem is the same as for VAT, with one more column:
- Due date: from the KSeF invoice's payment section when the seller filled it in, otherwise from the ERP or a contract the office may never have seen.
- Payment: from the bank statement, once it's matched to the invoice. Matching a transfer to a specific purchase invoice is still the weak link in most offices; I wrote about why in automating bank statement booking.
- The client's tax profile: CIT, PIT on the scale or linear, ryczałt, VAT-active or exempt, monthly or quarterly advances. This sits in the office's client file, usually in someone's head.
The first two give you the day-90 list. The third decides which tax each line belongs to. Without it, you either miss corrections or invent ones that don't apply.
Cases That Stay With the Accountant
The checklist handles the routine lines. These go to a person:
- Changed payment terms. An annex that extends the due date and its effect on the 90 days is as contested in income tax as it is in VAT.
- Set-offs and disputes. A kompensata is a payment. A withheld payment over faulty goods may not be. The bank statement shows neither.
- Receivables that were also written off or covered by a provision. Someone has to check the same amount isn't relieved twice through different routes.
- Year-end timing. For the annual return, the creditor's relief needs the receivable to be still unpaid and unsold on the day the return is filed. A payment in February changes the CIT-8 for the previous year.
That split — a mechanical list on one side, judgement on the other — is one I keep coming back to; see AI agents and liability.
What an Agent Prepares Before the 20th
A read-only check, run once a month, a few days before advances are due:
- Build one day-90 list from KSeF due dates, ERP data and matched bank payments, on both sides: sales and purchases.
- For each client, apply the client profile and split the list in two: VAT (art. 89a/89b) and income tax (art. 26i/18f).
- Drop lines that fail the income tax conditions: older than two years from the end of the year of issue, non-business counterparty, ryczałt client.
- Show the amount by which the advance changes, per client, next to the VAT amount.
- Flag invoices paid after an earlier correction, since those need the reverse entry in this period.
- Send the debtor-side list to the client before the period ends. Some of those invoices simply get paid, and no correction is needed at all.
In enova365, the receivables side of this is the same overdue-days report I described in enova365 receivables reporting. What an agent adds is the second split, by tax. No standard report does that across a whole client portfolio.
One Question Before 20 October
Take your five largest clients on full books or KPiR. For how many of them does anyone in the office know which purchase invoices crossed day 90 in September and raise the September advance? If the answer is "we'll see in the annual return", the September advance is already wrong.
If you'd like to see how an agent splits one day-90 list into VAT and income tax for a real client portfolio, write to me. I'll go through it with you and tell you honestly whether it's worth automating at your scale.
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.



