Overdue invoices,
chased with
receipts.

Zanii Due follows up on unpaid invoices over email and WhatsApp: a deterministic cadence, a human gate on anything final, and a provider receipt for every send, written to a ledger nobody can quietly rewrite. Not even us.

Governed by the Zanii Constitution v1.0 · Dubai

A stack of invoices sealed with a cobalt receipt seal

every send · sealed with a receipt

152

ledger entries, hash-chained

3

sends with provider receipts

6

invoices settled with proof

The cadence

Polite, then firm, then gated.

D+1email

Gentle

A polite reminder the day after the due date. Payment on its way? Nothing more happens.

D+4email + WhatsApp

Nudge

A short follow-up asking for an expected date, on the channels your client already uses.

D+8email + WhatsApp

Firm

A firmer note requesting settlement or a payment plan this week. Professional, always.

D+15human gate

Final notice

Nothing sends until you approve it. Silence is not consent: an unanswered gate expires loudly.

A reply from your client pauses everything and comes to you. The language model only reads; the engine alone sends.

The journey

Seven moves. Overdue to settled.

Register: Upload a CSV. We validate and de-dupe.
01

Register

Upload a CSV. We validate and de-dupe.

POST /api/invoices
Delegate: You sign a scoped, expiring authority to chase.
02

Delegate

You sign a scoped, expiring authority to chase.

signed · expires 60d
Approve: One tap arms the polite steps. Late invoices join mid-cadence.
03

Approve

One tap arms the polite steps. Late invoices join mid-cadence.

plan · approved
Send: Fixed templates, your name, every 10 minutes. No improvisation.
04

Send

Fixed templates, your name, every 10 minutes. No improvisation.

tick */10
Prove: Provider receipt bound in, or the record says attempted.
05

Prove

Provider receipt bound in, or the record says attempted.

receipt: <c9d038b1…>
Listen: Any reply pauses the chase and lands on your desk.
06

Listen

Any reply pauses the chase and lands on your desk.

classified: paid_claim
Settle: A payment reference closes it and seals the chain.
07

Settle

A payment reference closes it and seals the chain.

proof: FT-2026-0704

The email agent, dissected

What actually goes out.

From: Your Studio <billing@yourdomain.com>

To: Acme Trading LLC

Subject: Invoice INV-2041: a gentle reminder

Hi Acme Trading,

A quick reminder that invoice INV-2041 for AED 12,500 was due on 28 June. If it is already on its way, thank you, please ignore this.

Pay here: yourdomain.com/pay/2041

Best,
Your Studio

sentreceipt <c9d038b1…> · ledger #47

Your identity, not ours. Mail goes out over your own mailbox (SMTP), WhatsApp from your own dedicated business number. Your clients see you. Deliverability and reputation stay in your hands, and your data stays in your systems.

Templates, not improvisation. The wording of every step is fixed and readable in advance: gentle, nudge, firm, final notice. The engine fills in the invoice facts. A language model never writes to your clients, so the tone you approved is the tone that ships.

The receipt is the claim. The chip on the letter is not decoration: “sent” can only be written into the record together with the provider's receipt. The message itself is stored as a fingerprint (a hash), so the ledger can prove what went out without hoarding your correspondence.

It knows when to shut up. Payment recorded, reply received, opt-out, expired authority, an unanswered gate: each of these stops the sending within one engine tick, and the stop itself is written to the ledger.

One entry, dissected

The receipt that cannot be quietly deleted.

chain verified · 152 entries
{  "seq": 47,  "action": "sent",  "body": {    "invoice": "INV-2041",    "channel": "email",    "receipt": "<c9d038b1…@yourdomain.com>",    "body_hash": "9cf5edb2fb6fa349…",    "tone": "gentle"  },  "prev_hash": "8a41c07d31be52aa…",  "entry_hash": "d17f45c2091e883b…"}

What was donethe action, the invoice, the channel, and the provider's own receipt for it.

What it containeda fingerprint of the message, not the message. Proof without hoarding.

Why it cannot be rewrittenevery entry's hash includes the hash of the one before it, all the way back to genesis. Delete or edit any entry and the whole chain fails verification: yours to export in one call and check offline, with no help from us.

When it does not go to plan

Failure has a script too.

“We already paid this”

Cadence pauses. The invoice moves to claimed-paid, unverified, and stays open until a real payment reference is attached. No proof, no paid claim.

“Stop messaging me”

That channel is permanently suppressed for that contact and the suppression itself is a ledger entry. The other channel resumes only if you confirm it.

The send fails

No receipt means the record says attempted, never sent. One retry after 15 minutes, then the channel is marked degraded and you are alerted with the real error.

Your delegation lapses

The engine halts before the next send and says so loudly: halted, delegation expired. It never chases on stale authority, and it never fails silently.

A big invoice reaches sending

Anything above your money-gate threshold needs confirmation for every message. A gate ignored for 48 hours expires loudly and parks the invoice.

Everything else

When the honest move is unclear, the engine stops and asks you. That is not a limitation. It is the product.

The guarantees

Law, not vibes.

II

No proof, no claim

“Sent” is only written when the provider hands back a receipt: an SMTP message ID or a WhatsApp wamid. No receipt, and the record says “attempted”. The engine cannot lie to you, structurally.

VI

Money passes a human gate

Final notices and large invoices wait for your explicit confirmation. Expired confirmations halt the cadence loudly, never silently.

III

A ledger nobody can rewrite

Every send, pause, gate decision, and payment lands in a hash-chained ledger. Export it in one call, verify it offline. A deleted action fails the run.

I

Authority that expires

Chasing runs under a scoped, expiring delegation you sign: which invoices, which channels, how far it may escalate. When it lapses, the engine stops.

Numerals refer to articles of the Zanii Constitution, enforced in code before they are promised in prose.

Get paid, on the record.

Point Zanii Due at your overdue invoices and let a deterministic engine do the uncomfortable part, with a receipt for every move.

Open the dashboard →