Work

Synthetic data

Due-date tracker and late-payment estimate

Track due dates and estimate late-payment interest and charges, under stated assumptions. Information, not legal advice. The tool estimates; it does not decide whether a debt or a charge is owed.

The synthetic sample invoices are loaded; each is listed as upcoming, overdue, paid or review; an overdue invoice is opened to show its interest segment with dates, days, rate and source.

Who it is for

  • Small firms and freelancers that send invoices to other businesses and chase late payments.

The challenge

Under EU rules on late payment (Directive 2011/7/EU), a late payment in an eligible transaction between businesses can give rise to statutory interest and recovery compensation, under the applicable national law and its conditions. According to the European Commission, statutory interest is at least 8 percentage points above the European Central Bank reference rate, and the compensation is at least EUR 40. The Commission also reports that SMEs can be reluctant to claim it. This demo uses the Italian reference rate it is given plus 8 points; it does not apply one fixed EU-wide rate. Working it out by hand means finding the right reference rate for each period and counting the days.

What we built

  1. Lists your invoices from a CSV as upcoming, overdue, paid or needing review. It never guesses a due date or whether the late-payment rules apply: you state both for each invoice.
  2. Estimates statutory interest as simple daily interest on the full amount, from the day after the due date, at the reference rate plus 8 points. A change of rate or of year starts a new segment.
  3. Adds the EUR 40 recovery charge once per late invoice, only where you have marked the invoice as eligible.
  4. Shows its working. Every segment shows its dates, days, annual rate, day-count basis and the source of the rate. Reference rates sit in an editable table, each with its period, source link and date retrieved. Days not covered by a rate are blocked, never filled with a default.
  5. Flags instead of deciding. Missing data, duplicate IDs, invoices outside the confirmed scope and unsupported cases go to review with the reason. For an invoice already paid late, the estimate is shown with a note that it is not known whether interest was already settled.
  6. Takes open invoices from our bank reconciliation demo. Its export has no due date, currency or eligibility and does not say whether an invoice is owed to you or by you. You confirm that the rows are receivables owed to you and add the missing fields before an estimate is made; otherwise the rows go to review. An unmatched invoice is not, by itself, a legally overdue receivable.

Local calculations run on your own computer, with owner access. Results can be downloaded as JSON.

List of synthetic invoices, each marked upcoming, overdue, paid or review, with estimated interest and recovery charge.
Invoice review results · synthetic data, 5 October 2026.
Interest calculation for a synthetic overdue invoice, showing dates, days, annual rate, day-count basis and rate source.
Daily breakdown and rate source · synthetic data, 5 October 2026.

Results

A small demonstration, not an accuracy study. Measured 5 October 2026; figures from the project's evaluation report.

  • 5 of 5 invented invoices got the expected status, interest and recovery charge, checked against answers worked out in advance (as-of date 5 October 2026).
Sample invoiceAmountStatusDays lateInterestRecovery charge
1EUR 1,000.00overdue30EUR 8.55EUR 40.00
2EUR 500.00upcoming0EUR 0.00EUR 0.00
3EUR 200.00paid late (flagged: settlement unknown)2EUR 0.11EUR 40.00
4EUR 300.00review: outside the confirmed scopen/anot estimatednot estimated
5EUR 250.00review: invalid daten/anot estimatednot estimated
  • Rate used: reference rate 2.40% for 1 July to 31 December 2026, from the Ministry of Economy and Finance notice in the Gazzetta Ufficiale, retrieved 5 October 2026; so 10.40% a year, on a 365-day basis.
  • What this does not show: five hand-picked cases are not a hold-out set and not legal validation. The cases were chosen by the same developer who wrote the calculator.

Technical background

Python standard library only (no third-party runtime packages); tests with pytest; packaged with Docker.

Limits

  • Information, not legal advice. You supply the due date and confirm the late-payment rules apply; professional review is needed before making any claim.
  • One rate period is supplied (second half of 2026). Other periods must be added, with their source, before days in them can be estimated.
  • Day-count basis: 365 days by default, or actual/actual; the tool does not decide which one applies legally.
  • Out of scope: partial payments, contractual rates, consumer debts, insolvency, disputed goods, taxes, court costs and further recovery damages.
  • EUR only. Not tested on real invoices.
  • A local, single-user demo: not a hosted service.

Sources: snello-scadenzario README and reports/synthetic-evaluation.json at commit d7c2a71, 5 October 2026; reference rate: Ministry of Economy and Finance notice, Gazzetta Ufficiale, 16 July 2026, 26A03514, 2.40% for 1 July to 31 December 2026 (https://www.gazzettaufficiale.it/eli/id/2026/07/16/26A03514/sg); European Commission, "Late payment" (https://single-market-economy.ec.europa.eu/smes/challenges-and-resilience/late-payment_en); Directive 2011/7/EU (https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32011L0007); all retrieved 5 October 2026. Code is private, so it is not linked.

Related work

Bring your workflow into focus.

Send up to 3 samples or describe one process. We reply by email with what is feasible and how we would measure it.

Start a project

Optional AI assistance

The project now includes optional Groq assistance, disabled by default. The original local checks, calculations and source passages remain the basis for results. AI output needs human review.

After administrator setup, explicit consent is required before text is sent to Groq. Explanation tools show a context preview; invoice extraction can send OCR or document text after its consent step. API credentials stay on the server. Owner access, upload limits and a shared request budget protect the local demos.

This static website does not run the assistant or accept document uploads. Earlier demo recordings and measurements cover the original local workflows; the Groq integration has not yet been evaluated with live requests.

SNELLO / TOOLS

This explains the tool; it is not a live AI session. No document is uploaded.

Our working method
Full diagram

Read the project

Discuss your project

Send up to 3 samples or describe one process, the tools you use and the result you need.

snello.contact@gmail.com

Go to the Contact page

Navigation