AI Consulting Blog: Practical AI Insights

Practical write-ups and real projects — what worked, what didn't, and why.

A machine bought in December: one-off depreciation in 2026 or 2027 — 213 000 zł, 219 000 zł and 100 000 zł
Blog

A machine bought in December: one-off depreciation in 2026 or 2027 — 213 000 zł, 219 000 zł and 100 000 zł

A client wants to "buy something before year end to cut the tax". What counts is the date the asset enters the register, not the invoice date. December uses the 213 000 zł de minimis limit and 2026 small-taxpayer status; January gives 219 000 zł for 2027. Then there's the separate 100 000 zł route for brand-new assets. Here's what an office should check in November.

Read more →
KSeF penalties pushed to 2028? The bill moves the fines, but 1 January 2027 still changes things for an office's clients
Blog

KSeF penalties pushed to 2028? The bill moves the fines, but 1 January 2027 still changes things for an office's clients

The government has sent the Sejm a bill (print 3245) that moves the art. 106ni VAT Act penalties to 1 January 2028. It's still a bill. The 10,000 zł exemption and cash-register invoices end on 31 December either way, and the tax administration says that in 2027 it will send reminders and run checks. What an accounting office should check across its clients in November and December.

Read more →
The 100 000 zł car limit in 2026: what an accounting office checks before closing the year
Blog

The 100 000 zł car limit in 2026: what an accounting office checks before closing the year

Since 1 January 2026 a combustion car emitting 50 g CO2/km or more has a 100 000 zł limit, not 150 000 zł. An operating lease signed in 2024 isn't protected, as the Ministry of Finance confirmed in its reply to interpellation 13926. If the instalments are still booked at the old proportion, one contract overstates costs by about 7 800 zł a year. What to check in November, and the list an AI agent prepares.

Read more →
Simplified tax advances for 2027: the base is the 2025 return, so the client list belongs in November
Blog

Simplified tax advances for 2027: the base is the 2025 return, so the client list belongs in November

Simplified advances for 2027 are 1/12 of the tax shown in the return for 2025, so by the time anyone pays them the data is two years old. For a client whose income fell, the method locks 22 800 zł of overpaid tax away for more than a year; for a growing client it pushes 26 600 zł of top-up to April 2028. How to run the numbers, and the list an AI agent prepares for an accounting office.

Read more →
Choosing the 2027 form of taxation: the comparison belongs in November, the CEIDG change by 20 February
Blog

Choosing the 2027 form of taxation: the comparison belongs in November, the CEIDG change by 20 February

The deadline to change a client's form of taxation for 2027 is 20 February, but the comparison of the tax scale, the flat 19% and the lump sum runs on 2026 data, which is already in the books. Here's why the flat tax 'wins' by 8 462 zł and loses by 11 138 zł for the same client, and the list an AI agent can prepare for an accounting office before the client conversations.

Read more →
Provisions and accruals at 31 December: a cost in the books that waits for an invoice or a payment in CIT
Blog

Provisions and accruals at 31 December: a cost in the books that waits for an invoice or a payment in CIT

On full books, costs with no invoice yet, unused leave, annual bonuses and provisions belong in the year they relate to. In CIT they usually wait for the invoice or the payment. Here's how an accounting office keeps the two lists apart, where the double cost usually creeps in, and what an AI agent prepares from bank statements, KSeF and payroll data before the year is closed.

Read more →
Purchase invoices across the year-end in KSeF: one invoice, three dates, two tax years
Blog

Purchase invoices across the year-end in KSeF: one invoice, three dates, two tax years

In the first week of January the office pulls hundreds of purchase invoices from KSeF, dated on both sides of 31 December. The issue date, the KSeF number date and the service date can point to different VAT periods and different cost years, and KPiR and full-books clients get different answers. Here is how to sort them, and what an AI agent can have ready before the accountant closes December.

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

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

Offices count day 90 for VAT and stop there. Art. 26i PIT and art. 18f CIT run from the same date but on different conditions: two years instead of three, business-to-business only, a different restructuring check and no flat-rate clients. The debtor has to raise income in the monthly advance, not wait for the annual return, and September's advance is due on 20 October.

Read more →
VAT bad-debt relief in an accounting office: the debtor side nobody watches
Blog

VAT bad-debt relief in an accounting office: the debtor side nobody watches

Accounting offices talk about Polish VAT bad-debt relief as money to recover. That's only half the rule. The other half, art. 89b, makes a client who hasn't paid a purchase invoice within 90 days of its due date give back the deducted VAT in the period the 90th day falls. Unless someone sets due dates against the bank statement, nobody notices.

Read more →
Sales invoices in KSeF from the accounting office's side: you build the register from the client's list, the tax office holds the original
Blog

Sales invoices in KSeF from the accounting office's side: you build the register from the client's list, the tax office holds the original

Polish accounting offices have automated KSeF downloads for purchase invoices, but sales still go into the VAT register from the list the client sends. Every sales invoice the client issues goes through KSeF, so the tax office sees it before you do. The rejected invoice that was never issued, the send date that beats the date in the client's software, the correction nobody mentioned, and one comparison to run before the 25th.

Read more →
JPK_EWP for 2026 in an accounting office: lump-sum clients send only their sales, and KSeF already knows every invoice
Blog

JPK_EWP for 2026 in an accounting office: lump-sum clients send only their sales, and KSeF already knows every invoice

Polish lump-sum (ryczałt) taxpayers who file monthly JPK_V7M send their first annual JPK_EWP for 2026 by 30 April 2027. It's a sales-only file, with a KSeF number, a contractor tax ID and a tax rate on every row. The tax office already holds every invoice the client issued in KSeF. How to check January–September now, where the double-counted receipt hides, and what an AI agent can't decide.

Read more →
JPK_PKPiR for 2026 in an accounting office: a file you've been writing since January and will send in April 2027
Blog

JPK_PKPiR for 2026 in an accounting office: a file you've been writing since January and will send in April 2027

Polish clients on the revenue and expense ledger (KPiR) who file monthly JPK_V7M send their first annual JPK_PKPiR for 2026 by 30 April 2027. The rest (quarterly V7K filers and VAT-exempt clients) follow a year later. Nine months of that file are already in the books, with a new KSeF number column and no summary entries. How to split the portfolio, what a January–September trial export shows, and what an AI agent can check.

Read more →
JPK_ST_KR in an accounting office: the draft exemption to 2028 covers sending the file, not the data
Blog

JPK_ST_KR in an accounting office: the draft exemption to 2028 covers sending the file, not the data

In August 2026 the Polish Ministry of Finance published a draft exempting CIT taxpayers from sending JPK_ST_KR for 2026–2028. Many offices read it as 'fixed assets are off the table'. They aren't. The draft covers sending the file, it doesn't cover PIT taxpayers on full books, and the register with separate book and tax values, KŚT symbols and improvement history is needed either way. What to check in October and what an AI agent can do.

Read more →
JPK_CIT for 2026 in an accounting office: the marker goes on the account, so the chart of accounts is the problem
Blog

JPK_CIT for 2026 in an accounting office: the marker goes on the account, so the chart of accounts is the problem

For 2026, most full-books clients who are active VAT payers will have to file JPK_KR_PD, due with the CIT return, which for a calendar year is 31 March 2027. Markers are assigned to accounts, not entries. An account that mixes deductible and non-deductible costs, found in March, means re-booking a year. What to check in October, what it costs across 40 clients, and what an AI agent can do.

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

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

Polish law lets you inventory receivables by balance confirmation any time from 1 October to 15 January. Printing the letters from the ERP takes five minutes. The hours go on the contact list, chasing counterparties who never reply, and explaining differences. Some of those differences the office created itself, by sending confirmations from settlements nobody had cleaned up. What to do before you send, why 30 November makes a better balance date, and what an AI agent can take off your hands.

Read more →
KSeF permissions in an accounting office: 40 clients, 40 different kinds of access, and the list nobody keeps
Blog

KSeF permissions in an accounting office: 40 clients, 40 different kinds of access, and the list nobody keeps

Every client gave your office KSeF access in its own way: entity-level or personal, with delegation or without, by token or by certificate. While invoices keep downloading, nobody writes it down. The problem surfaces when an employee leaves or a certificate expires. Here's how to build a permission register in an afternoon, and what to check against it every night.

Read more →
An AI Agent for an Accounting Office — How It Works Inside
Blog

An AI Agent for an Accounting Office — How It Works Inside

A document lands in the mailbox and minutes later sits in the accounting system with a proposed dekret, waiting for one click from an accountant. Nine things happen in between. I drew all of them — the rules that stop a document, and the single gate anything must pass to reach the books.

Read more →
Optima's multi-company module: the accounting office already has a status layer and does not read it
Blog

Optima's multi-company module: the accounting office already has a status layer and does not read it

The Operacje wielofirmowe module, formerly Biuro Rachunkowe, computes a per-client, per-month status for VAT, CIT, PIT, ZUS DRA and JPK filings in one place, across every client database. Which means the hardest part of integrating with an accounting office — forty databases and forty logins — is already solved for that one question. Offices click through this module daily and never treat it as data.

Read more →
Rewizor nexo and Sfera: the accounting integration you mostly should not build
Blog

Rewizor nexo and Sfera: the accounting integration you mostly should not build

Rewizor nexo PRO ships posting schemas that can be conditioned on any attribute of the source document, plus an automaton that posts them on save. The vendor already built the automation clients come to a developer for. So the first question for an accounting office is not what to automate, but what share of last month's documents posted themselves — and why the rest did not.

Read more →
Gestor nexo and Sfera: the CRM integration where writing matters more than reading
Blog

Gestor nexo and Sfera: the CRM integration where writing matters more than reading

Gestor nexo shares a database with Subiekt nexo, so the data you came for is already inside the podmiot you connected to. But the licence is per program, not per installation, and that single sentence kills projects a week after the estimate lands. The second thing: in a CRM the read-only build is nearly worthless, and the safest write in the whole InsERT object model is an activity record.

Read more →
The accounting office's own system: four things it has to do before any automation lands
Blog

The accounting office's own system: four things it has to do before any automation lands

Yesterday I argued that an accounting office does not integrate with its clients' systems but with the channels documents already pass through. That leaves one question open: where those documents land. The answer is the office's own system, and that is the bottleneck. Forty clients usually means forty databases, one supplier spelled forty ways, and no state between not here and booked.

Read more →
Your clients run six different ERPs. That is not the problem you think it is
Blog

Your clients run six different ERPs. That is not the problem you think it is

Forty clients, six systems, so six integrations and the maths does not work — that is the first objection in every accounting office. The arithmetic is right and the premise under it is wrong. An office almost never integrates with a client's ERP; it integrates with the places documents already have to pass through. Since the KSeF mandate, most of them pass through one.

Read more →
Comarch Optima API limits: the ceilings you find out about late
Blog

Comarch Optima API limits: the ceilings you find out about late

Optima has no request limit. That sounds like good news and it is the opposite: a rate limit is a contract that tells you the safe speed. Here there is no such number, so your first feedback is an accountant whose invoice list takes eight seconds to open. Four real ceilings, and the hour that lets you measure them before you quote.

Read more →
Subiekt GT to nexo: what the migration does to your integration
Blog

Subiekt GT to nexo: what the migration does to your integration

Documents do not transfer. InsERT says so on its own product page. History stays reachable, but as a window into the old database, not a copy. If you have an integration wired into Subiekt GT, this is not a weekend with a date on it. It is the moment your system splits in two and stays that way.

Read more →
Which AI agent to build first against enova365
Blog

Which AI agent to build first against enova365

The most valuable agent is almost always the wrong first build. Not because it cannot be built, but because its first honest output arrives in week ten, and nothing holds a room's attention that long. Four questions that screen the candidates, and one number that predicts whether the project lands.

Read more →
AI agents and liability: who actually signs
Blog

AI agents and liability: who actually signs

The question of who is liable when an agent gets it wrong has a boring answer: exactly the same people as before. Liability does not move to software, because it was never available to move. Something else changes, and that part is more interesting.

Read more →
AI Accounting Agent on Telegram — the LUBART Keg Market Deployment
Case Studies

AI Accounting Agent on Telegram — the LUBART Keg Market Deployment

At LUBART Keg Market the accountant used to be the company's search engine: someone asks, she stops, opens enova365, clicks, copies numbers into a message. Now all three — accountant, director, owner — ask on Telegram and an AI agent answers in seconds off live ERP data. At 8:00 it sends the morning pulse without being asked. Here's how it's built.

Read more →
Vibecoding vs Agent-Based Development
Blog

Vibecoding vs Agent-Based Development

Vibecoding lets anyone build an app fast — but can you trust it in production? Agent-based development uses AI coding agents in specialized roles with human oversight to ship production-ready features in 2-4 hour sprints, not 2-week cycles.

Read more →
How AI Automation Works in Practice
Blog

How AI Automation Works in Practice

A step-by-step look at how an AI automation project actually unfolds — from identifying the right process through proof of concept, full build, and handover — with realistic costs and timelines.

Read more →

Let's Talk About AI for Your Business

Book a Free Call