v0.38.0 — Bad-debt relief: state tabs, a maturing forecast and confirming a selection at once
The relief screen was a technical table: ten columns, an invoice number with no debtor name, and confirming one proposal at a time. It is now five state tabs, a figures strip above the table, search, export and confirming a selection — plus a “Coming up” tab that shows the invoices maturing towards a correction before the 90 days are up.
Bad-debt relief is one of the few things in VAT that genuinely gives money back — and the easiest one to miss, because the deadline passes on its own. The previous screen knew everything it needed to and said almost none of it: ten technical columns, an invoice number without the debtor's name, no search, and proposals confirmed one row at a time.
- Five tabs instead of one list. Qualifying · Coming up · Give-backs · Filed · Dismissed. Each carries a count that states the size of exactly what it opens — under the active period and search.
- “Coming up” shows what does not exist yet. A forecast of the invoices that will reach the correction threshold within the next 30 days, computed by the same code as a real correction — so the figure in the forecast is the figure you will see once the threshold is crossed. Nothing is stored: it is a preview, not a decision.
- The row finally names the debtor. Counterparty name, tax ID, invoice number and the side of the deal (a sale under art. 89a, a purchase under art. 89b) in one cell that is a link to the invoice itself.
- You can see how far past due a claim is. A miniature meter runs to the 90-day threshold and warns when less than a week is left. Once the invoice is paid the counter freezes on the payment date, and once the correction is in the JPK the meter disappears — there is nothing left to wait for.
- A figures strip above the table. How much VAT is settleable now, what the effect on the JPK is — stated separately for sales and for purchases, because the same minus means opposite things for the two sides — how much matures within 30 days, and whether any give-backs are waiting. One line under the strip says which scope those figures cover.
- Confirming a selection. Tick the proposals and confirm them in one move; the selection bar states how much VAT enters the JPK once you do. Only proposals can be ticked, and only with the right to manage taxes — the other rows carry no checkbox at all.
- Search and export. Search by counterparty name, tax ID or invoice number; export to CSV/XLSX exactly what the screen shows, with headers that say outright which currency each amount is in. The forecast gets its own set of columns, because it has neither a status nor a decision yet.
- “Apply in the JPK” opens the declarations screen on the period you have selected in the list.
- All of it reachable through the AI assistant. The correction list with its full filters, the maturing forecast and the export each have their own MCP tool, gated by the same permissions as the screen.
- Nothing computes differently. The amounts come from the same code as before — verified by comparing a snapshot of the results before and after the change, down to the grosz.