Skip to content

The specialist receives a ready draft with a separate risk check.

The specialist starts from a checked draft and sees the verdict. They can edit or reject it, then send it from their own inbox.

Overdue payment remindersDemonstration systemReview one difficult payment case

Measured on synthetic cases

This version shows the receivables queue, a reminder draft, and a separate tone check. It connects to neither email nor a client system, so it cannot send a message.

Recorded run
Measured on synthetic cases
Measurement scope
Overdue payment reminders
Verified
synthetic data

Problem, solution, and result

  1. The problem

    Every overdue invoice has a different history. Drafting reminders by hand takes time, while overly aggressive wording can damage a customer relationship.

  2. How the system works

    Rules hold disputed and paused cases. One model drafts the message under the tone policy. A second looks for threats, pressure, and unsupported promises. The specialist sees the text and verdict, then decides whether to send.

  3. What we tested

    This version shows the receivables queue, a reminder draft, and a separate tone check. It connects to neither email nor a client system, so it cannot send a message.

For whom

This is a good automation candidate when overdue balances grow faster than the team can manage them and contact rules are scattered across individual employees.

Case → draft → check → person

  1. 01The first model drafts the message
  2. 02The second model checks risky language
  3. 03The specialist decides and sends from their own inbox
Business type
B2B companies with in-house receivables or amicable collections teams
Input
Overdue receivables with debt age, contact history, and disputes; 250 synthetic cases and 90 counterparties in the public reference view
Boundary
The system has no send tool, so no message leaves without a person
Cost
USD 0.015652 per draft including preparation and a separate check; USD 0.108711 for the complete recorded run.
Security
Risky wording or an unclear case status holds the draft. Only an employee can send the message.
Speed
We measure drafting and review time in a pilot using the client’s communication rules.
Trace
The history shows case data, the draft, the wording check, and the employee’s decision.
Similar system build
from €3,500 net (approx. $3,800) · 2–6 weeks

Reference exchange rates: USD 1 = PLN 3.72; EUR 1 = PLN 4.30. PLN amounts are rounded, with the measurement currency retained in parentheses.

Where automation stops

A person sends the message

The system stops at the draft. It has no email integration or send function. Disputed and paused cases never reach drafting. The specialist always sees why a draft was held.

Boundary
The system has no send tool, so no message leaves without a person
Cost
USD 0.015652 per draft including preparation and a separate check; USD 0.108711 for the complete recorded run.
Security
Risky wording or an unclear case status holds the draft. Only an employee can send the message.
Speed
We measure drafting and review time in a pilot using the client’s communication rules.

The largest risk

A reminder must not reach a customer who has already paid while the payment remains unreconciled. We therefore test reconciliation quality before implementation. This process should not launch when those records are unreliable.

Estimated impact

Calculate the impact at your volume

This estimate uses the stated volume. Enter your own numbers to assess the possible impact in your company. The result is confirmed only during a pilot.

  1. Today

    Modelled current scenario: 112 h

  2. With the system

    Modelled after scenario: 49 h

  3. Time or cost saved

    Modelled scenario: 45-80 h/mo, base 63 h

Volume
Modelled scenario: 420 cases/mo
Formula
420 x 9 min / 60
Calculation status
medium

Data in the screenshots. The names, amounts, and documents shown in the screenshots are synthetic. Client data remains private. Measurements describe the demonstrator and are kept separate from production outcomes.

Working surfaces

The receivables specialist approves the tone and personally sends every message.

The specialist opens a queue ordered by contact risk. Each case shows its history, checked draft, and verdict. The specialist edits the text and sends it from their own inbox. The estimate below assumes 420 cases per month.

Three views for receivables work

Case queue

Receivables ordered by debt age and contact risk.

Receivable record

Invoice, conversation history, disputes, and the next allowed action.

Draft review

Message, check result, and hold reason in one place.

System screens

See how the system works in practice

These desktop and mobile screenshots come from the running application. They show the process and the points where a person makes the decision.

Screens
12
px
1440 · 390
011440×1100
A queue with debt age, value, and last contact.
390390×844
  1. 021440×1464
    A held draft with the risky phrase and checker's reason.
  2. 031440×1100
    The measurement record with sample, cost, P95, and limitations.
Open the remaining screen archive (9)
  1. 041440×1100
    A stopped draft in its case
  2. 051440×1100
    Drafts awaiting approval
  3. 061440×1100
    Tone control
  4. 071440×1100
    Stopped drafts with reasons
  5. 081440×1100
    Disputed cases
  6. 091440×1100
    Held debtors
  7. 101440×1100
    Decision history
  8. 111440×1100
    Measurement and limitations
  9. 121440×1100
    Escalation rules

Technology stack

Two separate model calls and a code gate

Anthropic drafts and assesses risk in two independent calls. Python rules combine the results and decide whether the draft reaches a person.

FastAPI + Pydantic
hold the decision contract and validate case data
Anthropic SDK
two independent calls: the drafting model and the harm checker
Python rules
the deterministic gate that stops a risky draft with a reason
PostgreSQL 17
cases, signals, and the audit of every run
Next.js + React
the receivables radar, the case card, and the draft queue

The client receives the code, tone policy, test data, and documentation. Database, API, and interface run on the client side. Email remains outside the system.

Technical details and measurements

The working loop

Every draft receives a separate check

The drafting and checking models run in separate calls. A detected risk signal holds the draft and records the reason.

01

Receivable with contact history

02

Draft under the tone policy

03

Independent risk check

Risky wording → hold with a reason

04

Specialist edits and sends

System architecture

Case rules, draft, tone check, and human queue

Code first checks disputes and holds. Two separate model calls draft and assess the text. The final gate runs in code.

  1. 01

    Radar

    Contact risk is visible before the decision.

    Debt age, conversation history, disputes, and holds make up a case's position on the radar. The order of work follows risk, and the specialist sees the basis of every position.

  2. 02

    Draft

    The drafter writes to the tone policy.

    The model receives the case, the history, and the policy: allowed phrasing, escalation matched to the debt's age, and hard bans. The draft is produced under a closed data contract.

  3. 03

    Check

    A second model judges harm and nothing else.

    The checker sees the same case as the drafter, plus the draft attached to it, but works under the opposite instruction: it does not improve the text and does not try to make the collection more effective. It looks for attributed bad faith, threats, shaming, disproportionate pressure, an ignored dispute, and a missing route to clarification; one such signal is enough for a rejection.

  4. 04

    Gate

    Code stops; a human sends.

    Python rules combine both assessments into a decision: stop, or show a human. A stopped draft carries its reason, and an approved one still leaves the system only by the specialist's hand.

Why there is no sending at all

The most reliable boundary is the one that needs no guarding. The system has no mail integration and no send button, so the runtime cannot contact a client on its own. The risk does not vanish entirely: a person can still copy a draft into their own inbox, which is why they see the check's verdict and the reason for a stop before deciding.

  • Two models work under opposed instructions, in separate calls
  • The stop decision is made by code, with a reason
  • Disputed and held cases receive no drafts
  • Sending exists only outside the system, with a human

Want to assess a similar process in your company?

  • A 30-minute call with the engineer who would lead the work.
  • A review of the processes that cost you the most time and money.
  • A written summary of what to automate first and the likely cost range.
€030 minutes · written takeaway within 2 business days
Book a free process scan (30 min)

Times are shown in your own time zone. We work with clients across time zones.

The scan is free and creates no obligation. If automation is unlikely to pay off, the written recommendation will say so.