Every step of the chase, in one place.
muups writes the first nudge, escalates the next, reads every reply, drafts the right next move, and stops the moment you've been paid. Here's how each piece works.
What actually happens on a normal Tuesday.
Real events from a representative account (anonymised). One timeline, every channel — exactly what shows up in your activity feed.
- 08:14PlaidBank credit detected · €4,200 matched to INV-2418 (Acme).
- 08:14muupsActive sequence on INV-2418 stopped · invoice flipped to paid.
- 09:02InboxReply from Vandelay (INV-2509): "Wire Monday — sorry, my mistake."
- 09:02muupsClassified · promise to pay. Draft response queued for approval.
- 10:30SendDay-14 nudge sent · Initech · INV-2503 ($8,061) · tone: firm.
- 11:47StripeCharge succeeded · Pied Piper · INV-2477 · €2,400.
- 14:08InboxReply from Initech (INV-2503): "PO 88-A line 3 wasn't approved."
- 14:08muupsClassified · dispute. Sequence paused. Draft acknowledges and requests specifics.
- 16:21SendDay-7 friendly nudge · Globex · INV-2491 · €11,800.
- 17:55PlaidBank credit · partial €5,900 against INV-2491 · flagged for review.
Sounds like a person on your team.
muups builds a sender-voice profile from three inputs: a writing sample you paste at onboarding (5–10 historical reminders), the customer-edits you apply on the first dozen drafts, and the org-level style settings (formal/casual, vous/tu, currency placement). Every draft afterwards reads in that voice.
- Writing samples — 5–10 of your historical reminders teach phrase patterns, sign-offs and rhythm.
- Continuous tuning — every edit you make to a draft is remembered and folded into the next.
- Per-buyer overrides — set a stricter or warmer tone for specific accounts when context demands it.
- Sign-off + signature — configured once at the org level, applied across every send.
"Hey Marc — quick one. I know last quarter was rough; just wanted to flag INV-2901 is sitting at 14 days now. Anything I can do to help us close this out?"
"Hey Daria — quick one. Hope close went smoother for you than last quarter; just flagging INV-3120 is 14 days out now. Anything I can do to help us close this out?"
The right message, on the right day.
Cadence is set per buyer, not per template. The first reminder reads friendly. The third tightens. The last sets a clear, polite consequence — never threatening, never canned. muups writes against your sender profile so it sounds like a person on your team, not an automation.
- Per-buyer cadence — based on how that customer has actually paid before.
- Tone steps up by stage — friendly → firm → final, never sliding into shaming.
- Reviewed before send — approve, edit, or let trusted ones auto-send.
- Tracked send + bounce — every email logged with open and click events.
- Day 0Quick note on INV-2418Heads-up
Hi Sam — invoice 2418 is due Friday. Easy heads-up.
- Day 5Just circling back · INV-2418Friendly
Hi Sam — just nudging this back to the top of your inbox.
- Day 14INV-2418 — past dueFirm
Hi Sam, I'm following up — 2418 is two weeks past due now.
- Day 21Final notice — INV-2418Final
Sam — before we escalate, we'd really like to resolve this with you.
Firmer step by step. Never threatening.
Tone tightens by stage, not by anger. Heads-up · friendly · firm · final — same four-stage model across every buyer, every override adjustable per account.
"Hi Marc — quick note, INV-2901 is coming due Friday."
"Hi Marc — just nudging this back to the top. Anything blocking?"
"Hi Marc — INV-2901 is now two weeks past due. Could we get an ETA today?"
"Marc — before escalating internally, we'd really like to resolve this with you."
We don't threaten escalation we haven't earned. Tone tightens — but the sender never becomes the bad guy.
Reads every reply. Drafts the next move.
An "out of office" isn’t a dispute. A promise to pay isn’t a complaint. A partial offer isn’t a refusal. The inbox classifies every reply into one of six intents, drafts the right next message, and queues it for your approval.
- Six intent labels — promise · dispute · partial · OOO · unsubscribe · other — covering 97% of inbound.
- Context-aware drafting — invoice ref, amount, prior thread, customer language — all baked in.
- Approve · edit · dismiss — one-click actions; dismiss silences the sequence, never the customer.
- Auto-send for trusted intents — once you've green-lit a label a few times, muups can run that one unattended.
Hi Marc — thanks for the heads up, that's helpful. Use INV-2901 as the reference and we'll match it the moment it lands. If Friday slips, no need to write — I'll check back the following Monday before chasing again.
Stops the chase the moment you're paid.
Half the chase isn't sending reminders — it's stopping them. muups watches Stripe charges and (optionally) connected bank credits via Plaid. As soon as a payment matches an outstanding invoice — by amount, reference, or both — the sequence stops and the row flips to recovered.
- Stripe matches — charges, refunds and disputes flow through automatically.
- Bank matches via Plaid — read-only credits matched to invoice amount + reference.
- Match scoring — exact > amount-only > partial — partials are flagged for review.
- Audit trail — every event logged with timestamp + source for compliance.
Closing the loop on wires & ACH.
Stripe catches Stripe; Plaid catches the rest. Bank credits that match an open invoice — by reference, amount, currency and originator — flip the invoice on their own. Ambiguous credits surface for one-click confirm. Partial payments stay partial until topped up.
- Three-signal scoring — reference (+50) > amount + currency (+35) > name + date (+15). See the math on the integrations page.
- Partial payment handling — remainders stay outstanding; sequence resumes with a softer, context-aware tone.
- Multi-currency matching — fx-aware: if the bank credit is in your invoice currency, we match; cross-currency credits surface for confirm.
- Audit trail — every match logged with signal breakdown — exportable for your accountant.
Speaks five languages, natively.
Same invoice, five drafts — each in its own cultural register. Not machine translation. Set the language at the org level, override per buyer when needed.
Hi Sam — just a heads up, invoice 2418 is due Friday. Easy heads-up.
Bonjour Samuel — je me permets un petit rappel concernant la facture 2418, à échéance vendredi.
Guten Tag Herr Müller — kurze Erinnerung: Rechnung 2418 ist am Freitag fällig.
Hola Samuel — solo un recordatorio, la factura 2418 vence el viernes.
Hoi Sam — even een herinnering, factuur 2418 vervalt vrijdag.
Sees what landed, adapts what's next.
Every send is tracked — open, click, bounce, reply. Cold debtors get a new subject line on the next attempt; engaged ones get a softer hand. You see the whole pipeline at a glance: who's overdue, who's been chased, who's been paid, who's gone quiet.
- Per-send events — open, click and bounce events tied to each invoice.
- Cold-debtor detection — no engagement after N attempts → muups switches tactic.
- Pipeline view — outstanding, in-sequence, replied, paid — filterable and exportable.
- CSV export — ledger-ready exports for your accountant or your CFO.
DSO trends, cohort by cohort.
Every invoice is bucketed by issue-month cohort. You see which cohorts recover fastest, which buyers are systematically late, and which segments need a different cadence. No fancy BI tool needed — it's already in the dashboard.
- Per-cohort recovery curves — % recovered at day 7 / 14 / 30 / 60, plotted per issue month.
- Repeat-offender list — buyers who pay late 3+ months running — surfaced for a tougher cadence.
- Segment filters — slice by amount band, currency, industry tag, or sender.
- CSV export — raw data export for your CFO / FP&A team.
| Issue mo. | Day 7 | Day 14 | Day 30 | Day 60 |
|---|---|---|---|---|
| Feb | 22% | 48% | 71% | 89% |
| Mar | 28% | 55% | 76% | 92% |
| Apr | 31% | 58% | 79% | 94% |
| May | 35% | 62% | 81% | 95% |
Built for four shapes of finance team.
Same product, different defaults. We tune the cadence, tonal model and sender setup to your team's actual world.
Mid-market B2B (SMB)
One AR lead, 80–150 monthly invoices.
- Single sender voice, casual register
- Cadence tuned to invoice value bands
- QuickBooks/Xero import (CSV today, native soon)
Creative agency
Per-client retainers, occasional overdues.
- Per-client sender overrides (creative directors handle their own)
- Tone biased softer; relationships matter
- Stripe Invoicing pulled, no bank connection needed
B2B SaaS
High volume, mixed contract sizes.
- Multilingual (EN/FR/DE/ES) defaults
- Auto-send trusted intents after first 30 approvals
- Stripe + Plaid both connected; reconciliation matters
Marketplace / platform
Many small invoices, lots of partials.
- Aggressive partial-payment handling
- Repeat-offender segment with stricter cadence
- API ingest planned · CSV bridges today
From signup to first auto-recovered invoice.
Five steps. Most teams ship day-one and let sandbox bake for a week before flipping live. No CSM call required — but we'll do one if you want.
Sign up + invite
Email/password or Google. Invite your AR lead and finance owner. Sandbox mode is on by default — nothing goes out until you flip it.
Connect sources
CSV/Excel: drop a file, map columns. Stripe: OAuth in one click. Plaid: optional, takes 90 seconds inside the bank's flow.
Train the sender voice
Paste 5–10 of your historical reminders. Pick a register (formal/casual). Pick a sign-off. Save.
Approve the first wave
Drafts queue up. Approve the first dozen — muups learns your edits. After ~30 approvals, trusted intents can auto-send.
Flip sandbox off
When the drafts feel right, switch live. Sequences run; reconciliation engages; you watch the activity feed.
The honest answers.
Quick reads, no slippery wording. If yours isn't covered below, we're one email away.
Stop chasing.
Start collecting.
The AI agent that follows up on your overdue B2B invoices — in your voice, until they're paid. Start a free 14-day trial; if you cancel before day 14, you owe nothing.