Blog— Anton Ignashev

Year-end balance confirmations: the window opens on 1 October, but most offices start in January

Year-end balance confirmations: the window opens on 1 October, but most offices start in January

The Window Opened on Thursday

From 1 October, any company that keeps full accounting books can start the year-end inventory of its receivables by balance confirmation. The window closes on 15 January. Most accounting offices I talk to start in the second half of December or in January. That lands the slowest part of year-end, the part that's mostly chasing people, right on top of the December JPK and the start of the annual close.

The legal side is short. Art. 26 of the Polish Accounting Act says receivables are inventoried by obtaining confirmations from counterparties and explaining any differences. A few categories are verified against documents instead (art. 26 sec. 1 point 3): disputed and doubtful receivables, receivables from people who don't keep accounting books, and public-law settlements like VAT and ZUS. The timing rule (art. 26 sec. 3 point 1) says the inventory counts as on time if it starts no earlier than three months before year-end and finishes by the 15th of the next year. The creditor starts the process. Liabilities aren't covered by the obligation to confirm; they're verified. And silence isn't a confirmation.

None of that is the hard part. The hard part is the work between the printout and the signed protocol.

Where the Hours Actually Go

Printing the letters takes minutes. Optima and enova365 both have a ready confirmation printout built off settlements (rozrachunki), and so does every other mainstream ERP I've seen. Then the real work starts:

  1. The contact list. The ERP has an address for each counterparty. It rarely has the email of the person who can confirm a balance. Letters go to the generic office inbox and disappear.
  2. Chasing. Someone has to remember who hasn't replied, send a reminder, and send it again.
  3. Differences. Every "we show a different amount" reply is a small investigation: which items, which side is wrong, what to book.
  4. The silent ones. For every counterparty that never answers, someone has to put together other evidence: payments after the balance date, invoices, delivery documents.

Put rough numbers on it. Take a wholesale client with 150 active counterparties. If sending, logging and two reminders cost around five minutes per counterparty, that's 12 to 13 hours before anyone looks at a single difference. The differences come on top, and each one can take anything from two minutes to an afternoon. Now multiply that by every client on full books. No wonder it slides into January.

Clean the Settlements Before You Send Anything

The most expensive mistake is sending confirmations from settlements nobody has cleaned up. A good share of the differences that come back weren't created by the counterparty. The office created them.

The usual suspects:

  • Paid but not matched. The money came in, the statement was booked, and the payment never got settled against the invoice. Your books show an open receivable; the customer's books show nothing. I wrote about how this happens with automatic statement imports in the Optima MT940 post.
  • Overpayments and small leftovers. Rounding differences and old 3.17 zł balances that nobody writes off. Each one gets its own line in the letter, and some counterparties will query them.
  • Unbooked corrections. A credit note issued in November, booked by the customer in November and by you in December, and the balance is off on the date.

Before you send anything, run one report: open items older than 60 days, payments not settled against anything, and balances under some threshold you set. Fix what you can, and agree with the client what to write off. An hour spent here saves a dozen confirmation replies. For enova365 clients, the same report doubles as receivables reporting; see settlements and receivables in enova365.

Pick 30 November, Not 31 December

The law lets you confirm balances as of a date inside the fourth quarter and then roll the books forward to 31 December. Most offices still pick 31 December out of habit.

A November balance date buys you three things:

  • You resolve differences in December, not in January alongside the December JPK, the annual returns and the client who just discovered a missing invoice.
  • Counterparties reply faster in December than in the first week of January, when their own accounting is buried.
  • You still finish before 15 January even if a third of the replies need follow-up.

The cost is a roll-forward from 30 November to 31 December, which a properly closed December gives you anyway. If the client is audited, agree the date and the list with the auditor first. Auditors often send their own confirmation requests, and you don't want two letters asking the same customer the same question.

The Four Sources of Differences, and What KSeF Changed

When a reply shows a different amount, it almost always falls into one of four buckets:

  1. Timing. A payment sent on the 29th that reached your account on the 2nd. Explained by the bank statement after the balance date.
  2. Invoice booked on one side only. This used to be the classic "we never received that invoice". Since this year most invoices between Polish VAT payers go through KSeF, so the invoice exists in the system for both sides. When this difference shows up now, it's usually a booking lag on the other side, not a lost document, and the KSeF number settles it in one email. More on retrieval in automatic KSeF downloads.
  3. Corrections in different months. Credit notes booked in different periods. The post on KSeF corrections covers why these drift.
  4. Disputes and offsets. A complaint the customer deducted, or an offset (kompensata) booked on one side. These are the only ones that need a person with authority, and some of them belong in the "disputed" category from the start, which means verification, not confirmation.

You can explain the first three from data you already have: bank lines after the balance date, KSeF invoices, booked corrections. That leaves only the fourth for a person.

What an Agent Does, and What Stays With a Person

It's a good fit for an AI agent. Most of the work is assembling, sending, tracking and matching. Very little of it calls for judgement.

The agent can:

  • build the list from settlements, with the open items itemised, not just the total. A letter that shows invoice numbers gets answered faster than one with a single amount;
  • flag the art. 26 sec. 1 point 3 categories for verification instead of sending: counterparties without a NIP, public-law accounts, items already marked as disputed;
  • send from the office or client mailbox, log every send, and remind at day 7 and day 14;
  • read replies and sort them: confirmed, difference with amounts, wrong recipient;
  • pre-explain differences by matching them to bank lines after the balance date, KSeF invoices and booked corrections, and hand a person a short list of what's left;
  • for silent counterparties, assemble the alternative evidence (payments after the date, invoices) as a ready file.

A person keeps:

  • the scope and the balance date, agreed with the client;
  • every decision on disputed items, write-offs and allowances for doubtful receivables;
  • deciding whether the alternative evidence for a silent counterparty is enough;
  • the final inventory protocol and its signature.

This matches the line I draw in every accounting project: the agent prepares, a person signs. I wrote about who is responsible for what in AI agents and liability, and about the monthly version of the same split in month-end close in an accounting office.

Two Numbers to Track

If you automate any part of this, track two things:

  • The response rate by day 21. It tells you whether the contact list and reminders work. If it's low, the letters are going to the wrong inboxes.
  • The share of differences explained without a person. If timing, KSeF and corrections account for most of them, that's work off your accountants' desks.

You don't need a big project to find out. Pick one client on full books, run the pre-send cleanup on its settlements this month, and send confirmations as of 30 November. You'll see where your hours go before the December rush starts.

If you want to try it on one of your clients this year, write to me. I'll go through the settlements and the process with you and tell you honestly which part is worth automating at your volume.

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 Symfonia costs in 2026: the price list for Finanse i Księgowość, the cloud, eBiuro and accounting-office bundles
Blog

What Symfonia costs in 2026: the price list for Finanse i Księgowość, the cloud, eBiuro and accounting-office bundles

Symfonia Finanse i Księgowość costs 1 620 to 3 550 zł net a year in 2026 and is sold only as a subscription. The cloud ERP is 490 zł per user per month, eBiuro for accounting offices starts at 409 zł a year, and the office bundles cost 1 890, 3 696 or 11 694 zł. The full list from symfonia.pl, KSeF Plus limits from 2027 and a three-year comparison.

Read more→
PIT-11, PIT-4R, PIT-8AR and IFT-1R for 2026: the 1 February and 1 March 2027 deadlines and the three totals that must agree
Blog

PIT-11, PIT-4R, PIT-8AR and IFT-1R for 2026: the 1 February and 1 March 2027 deadlines and the three totals that must agree

The payer's annual returns for 2026 go to the tax office by Monday 1 February 2027, because 31 January is a Sunday. PIT-11 to employees and IFT-1R follow by 1 March. Before anything goes out, three totals have to agree: PIT-11s against PIT-4R, PIT-4R against the bank statement, and flat-rate tax against PIT-8AR. Correct a PIT-11 after mid-February and it lands on an employee whose Twój e-PIT is already prefilled.

Read more→
KSeF API 2.0 error codes: 440, 450, 21405 and the rest — what they mean and how to fix them in enova365, Optima and Subiekt
Blog

KSeF API 2.0 error codes: 440, 450, 21405 and the rest — what they mean and how to fix them in enova365, Optima and Subiekt

KSeF reports errors on three levels: an HTTP exception with a 21xxx code, a session status and an invoice status. The same number means different things on each, so 440 is a duplicate invoice in one place and a cancelled session in another. The code table from the Ministry's own spec, the fix for each, and the one error you must never fix by renumbering the invoice.

Read more→