Blog— Anton Ignashev

Bad-debt relief in PIT and CIT: same invoice, a different list from VAT

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. Build one day-90 list from KSeF due dates, ERP data and matched bank payments, on both sides: sales and purchases.
  2. For each client, apply the client profile and split the list in two: VAT (art. 89a/89b) and income tax (art. 26i/18f).
  3. 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.
  4. Show the amount by which the advance changes, per client, next to the VAT amount.
  5. Flag invoices paid after an earlier correction, since those need the reverse entry in this period.
  6. 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.

Book a Free 30-Minute Call

Select a date

November 2026
Mon
Tue
Wed
Thu
Fri
Sat
Sun
← Back to Blog

Related Posts

What Subiekt nexo and Subiekt GT cost in 2026: licence prices, the Abonament, and the 30 days that raise the renewal by half
Blog

What Subiekt nexo and Subiekt GT cost in 2026: licence prices, the Abonament, and the 30 days that raise the renewal by half

Subiekt nexo for 3 workstations is 1 275 zł net, Subiekt GT 1 045 zł, nexo PRO 2 575 zł. Those are perpetual licences, and then there's the yearly Abonament: 349 zł for nexo if you renew within 30 days of expiry, 539 zł if later. Plus Sfera (the API), the accounting-office client licences, and a comparison with Optima and enova365.

Read more→
What Comarch ERP Optima costs in 2026: the subscription list, Basic vs Pro, and three costs it leaves out
Blog

What Comarch ERP Optima costs in 2026: the subscription list, Basic vs Pro, and three costs it leaves out

Optima's price list is public: Podstawowy 59 zł a month, Logistyka Basic 75 zł, Księga Handlowa 175 zł. The catch is the word Pro: it's a top-up on Basic, not a separate tier, so full accounting in Finanse costs 250 zł, not 200. Plus the Podstawowy limits, how HR counts employees for accounting offices, and two worked examples.

Read more→
December pay paid in January 2027: a 2026 or a 2027 cost? The 8 January payday and ZUS by 15 or 22 February
Blog

December pay paid in January 2027: a 2026 or a 2027 cost? The 8 January payday and ZUS by 15 or 22 February

December payroll paid in January is a 2026 cost, but only if the pay leaves on the date in the client's pay rules and the ZUS contributions reach ZUS on time. 10 January 2027 is a Sunday, so the statutory deadline ends on Friday 8 January. The same pay lands in the employee's 2027 PIT-11. Here's what an office checks in December and in February.

Read more→