The money you're owed sits with clients, not in your account — and every day of delay is either a forgotten invoice or an awkward conversation that no one wants to start. This skill takes on the awkward part: it surfaces overdue invoices on its own, selects the tone for each debtor, and prioritizes those whose payment closes the nearest cash gap. Nothing goes out without your "ok".
Quick start
Pull up the accounts receivable report, assess each client by payment history, prepare a reminder in the tone for each overdue invoice, and show it to the owner. Nothing goes out until the owner confirms.
Владелец: «кто мне должен»
→ Подтянуть дебиторку из ~~бухгалтерии
→ Сверить с поступлениями из ~~платежей (последние 14 дней)
→ Оценить клиента: добросовестный / иногда задерживает / хронический неплательщик
→ Подготовить напоминания под тон
→ Показать сводную таблицу + черновики. Ждать «отправляй».
Proactive mode and prioritization by cash
The skill works not only on request, but also proactively — as part of the weekly brief or when the cash forecast (cash-flow-snapshot) shows a cash gap.
Prioritization by cash gap (link with cash-flow-snapshot):
- If the cash forecast shows a shortfall on a specific date (for example, the simplified tax system advance payment on 07/28) — don't chase all debtors indiscriminately. Find the clients whose expected payment closes exactly this gap, and move them to the top of the queue.
- Formulate the goal in money terms: "To close the 47,000 ₽ gap on 07/28, it's enough to nudge payment from Alfa (400,000 ₽) 10 days earlier than usual — this is the only client whose payment solves the problem on time."
- Sort the queue not by debt size, but by contribution to closing the nearest cash gap × probability of payment (based on the client's history).
Proactive trigger: in the weekly brief, surface overdue accounts receivable yourself and link it to the nearest mandatory payments (taxes, payroll). Don't wait for the question "who owes me".
Escalation ladder (tone rises with the length of the delay)
Not a single email, but a sequence of touches — the tone hardens as the overdue period grows. For each client, track which stage they are at, and do not send a soft reminder to someone who has already passed the firm stage.
| Overdue | Stage | Tone |
|---|---|---|
| +1–7 days | Reminder | Friendly — perhaps they simply forgot |
| +14 days | Follow-up | Neutral and businesslike, a request to state the payment date |
| +30 days | Firm | Reference to the contract terms, mention of penalties (if any) |
| +45 days | Warning | Directly: the next step is a pre-trial claim |
| +60 days | Claim | Official document (see below) |
Setup (only on first run)
Ask the owner two questions before the first run:
- Sending channel: “What should reminders be sent through — email (
~~почта, for example Yandex 360) or a messenger (~~мессенджер, for example Telegram / WhatsApp for Business)?” — save the answer and use it to create drafts. - Invoice sources: “Where do you keep invoices for payment —
~~бухгалтерия(for example 1C or MoySklad) or acquiring through~~платежи? I will pull overdue invoices from all connected sources.”
Do not ask again on subsequent runs.
Workflow
-
Pull overdue receivables. Request from
~~бухгалтерииall invoices overdue by more than 1 day (the payment deadline has passed). If~~платежиwith invoicing is connected (for example YooKassa or Tinkoff Kassa) — pull overdue invoices from there as well. If nothing is connected — ask the owner to export the receivables register to CSV/Excel from the accounting system or bank client and attach the file. -
Reconcile with incoming payments. For each debtor, check incoming payments from
~~платежей(for example, a YooKassa / Tinkoff statement or online banking):- only credited payments (filter out incomplete and declined ones — they inflate the sample);
- window: the last 7 days up to today (not 14 and not 30 — a wide window most often hits API limits).
If
~~платежиreturn a request limit error:- Retry once immediately with a window of 3 days.
- If the retry also hits the limit — skip the incoming payments reconciliation for this run. Mark all clients in the batch as “incoming payments not checked — verify manually” in the summary table. Proceed to scoring based only on history from
~~бухгалтерии. Do not conceal the skipped reconciliation.
If a client has a credited incoming payment within the request window — mark “may have already paid — check” and exclude from the reminder queue.
-
Score each client. The scoring logic is in reference/tone-matching.md. Result:
добросовестный,иногда задерживаетorхронический неплательщик. -
Prepare reminder emails. One email per client — combine all overdue invoices into one. Tone according to the score. See reference/examples/gentle-reminder.md и reference/examples/firm-reminder.md.
-
Show the drafts to the owner. First the summary table:
Client Amount due Overdue Tone Channel Vektor LLC 120 000 ₽ 18 days Soft ~~email Smirnov Sole Proprietor 45 000 ₽ 47 days Firm ~~messenger Then show each email in full. Wait for the owner's “send” or per-item confirmation.
-
Send or queue — only after confirmation.
- If sending from the invoice source is supported — send the reminder from there.
- The rest — a draft in the configured channel (
~~почтаor~~мессенджер). - Never send without explicit confirmation.
-
Report back. List: what has been sent, what has been drafted, what has been marked (possibly paid, excluded).
Escalation: pre-trial claim (last resort)
If the invoice is critically overdue (as a rule, 60+ days) and regular reminders have not worked, suggest to the owner the next step — a pre-trial (claim) letter. This is not another reminder letter, but an official document demanding payment and indicating possible recourse to court.
- Do not issue the claim automatically. Offer it as an option: “The invoice is N days overdue, reminders have produced no result. The next step is a pre-trial claim. Prepare a draft?”
- In the claim: details of the parties, the basis (contract, invoice, act), the amount of debt, calculation of the penalty/interest (if provided for by the contract), the deadline for payment (usually 30 days), and a statement that court action will be taken if payment is not made.
- ⚠️ The text of the claim and the calculation of the penalty must be reviewed by the owner’s lawyer/accountant before sending. Do not invent the amount of the penalty — take it from the terms of the contract or write “clarify in the contract.”
Approval gates
- Never send a letter or draft without the owner’s explicit confirmation. First show all drafts, wait for the go-ahead.
- Never include a client who has paid within the last 14 days. Mark “may have already paid — check.”
- Never write to a client who is not in the receivables register (from
~~бухгалтерииor the export). No reminders from memory. - Never send a pre-trial claim without separate confirmation from the owner and review by a lawyer/accountant.
- One confirmation covers one package. Adding a client or editing a draft after confirmation starts a new approval round.
Reference materials
- reference/tone-matching.md — evaluation logic, tone, subject line formulas
- reference/gotchas.md — known pitfalls
- reference/examples/gentle-reminder.md — example of a soft reminder (conscientious)
- reference/examples/firm-reminder.md — example of a firm reminder (chronic non-payer)