# Chase Unpaid Invoices With an AI Employee (2026)

> By Kris Newlin · Published 2026-08-05 · Updated 2026-10-27
> Source: https://viktor.com/blog/how-to-chase-unpaid-invoices-with-an-ai-employee

## Key Takeaways

By Kris Newlin. Updated October 28, 2026.

To chase unpaid invoices without losing your week, run a fixed reminder cadence from the due date (day 7, 14, 30 and 45), send every message to a named payer with the PO and payment link, and keep a human approval step before anything reaches a customer. An [AI employee](https://viktor.com/ai-employee) can pull the overdue list, draft each reminder and log replies. You approve, he sends.

- **Most overdue invoices are not disputes:** They went to an inbox nobody reads, to a person who left, or into an approval queue that stalled. Fix the routing before you chase harder.
- **Reconcile before you remind:** Part of every aging report is already paid, part-paid or issued to the wrong entity. Asking a client for money they already sent costs more trust than a late payment.
- **Count days from the due date, not the invoice date:** Day 7, day 14, day 30 and day 45 is a cadence most B2B customers accept as fair.
- **Approval is the line that matters:** These are customer-facing messages about money. Drafting can be automatic, sending should wait for a yes.
- **Track three numbers:** Days sales outstanding (DSO), overdue percentage and promise-to-pay rate tell you whether the system works.

## The short answer

You follow up on past-due invoices with a written process, not with willpower. Confirm the invoice is really unpaid, find the person who can approve payment, send a short reminder at day 7, a firmer one at day 14 copied to the project sponsor, a call or direct message at day 30, and a final notice with late-fee or pause-of-work terms at day 45. Log every reply and every promise to pay. The lookup, matching and drafting can run without you. The decision to escalate, charge a late fee or stop work stays with a person.

## Why chasing invoices eats your week

Chasing payment looks like a small job. In practice it takes hours every week because each invoice needs the same research before you write a single line:

1. **Is it actually unpaid?** You check Stripe, then QuickBooks or Xero, then the inbox in case the client replied “paid on Friday”.
2. **Who pays?** The signer is rarely the person who releases the money, and accounts payable needs a PO number and the right legal entity.
3. **What did we already say?** Without a log, you cannot tell the first reminder from the third.
4. **What tone fits?** A strategic account at 20 days late needs a different message than a one-off client at 60 days.

Then the replies arrive in three different inboxes and the cycle starts again on Monday. For a finance lead or an agency owner, invoice follow up is recurring work that never feels finished, and every week of delay is a cash flow problem: payroll and suppliers do not wait for your clients. Payment terms of net 30 quietly become net 60 when nobody follows up on time.

## Can AI chase invoices for you?

Yes, for most of the work. AI can pull overdue invoices from your accounting tool, match them against payments, find the right contact in your CRM or email history, and draft a reminder in your voice. What AI should not do on its own is send money messages to customers without a person seeing them first, or decide to charge a late fee or pause a client.

Here is how the main options compare:

```json:object
{
  "_key": "k59",
  "_type": "table",
  "rows": [
    {
      "_key": "k53",
      "_type": "tableRow",
      "cells": [
        "Option",
        "What it does",
        "Where it falls short"
      ]
    },
    {
      "_key": "k54",
      "_type": "tableRow",
      "cells": [
        "Viktor, an AI employee in Slack or Teams",
        "Reconciles across your processor, ledger, inbox and CRM, drafts context-aware reminders, waits for approval, logs replies and promises to pay",
        "You still approve sends and make escalation calls, by design"
      ]
    },
    {
      "_key": "k55",
      "_type": "tableRow",
      "cells": [
        "Built-in reminders in QuickBooks, Xero or Stripe",
        "Sends a fixed template on set days after the due date",
        "Knows nothing about POs, contacts who left or replies sitting in your inbox"
      ]
    },
    {
      "_key": "k56",
      "_type": "tableRow",
      "cells": [
        "Dedicated AR software or an AR collections agent product",
        "Dunning sequences, payment portals, aging dashboards, sometimes SMS or AI voice calls",
        "Another tool to set up and feed, and most still send generic templates"
      ]
    },
    {
      "_key": "k57",
      "_type": "tableRow",
      "cells": [
        "A person on the finance team (in-house AR clerk)",
        "Full judgment and relationship context",
        "A salary spent largely on lookup work, and the process stops when they are away"
      ]
    },
    {
      "_key": "k58",
      "_type": "tableRow",
      "cells": [
        "A debt collection agency",
        "Formal recovery on accounts you have given up on",
        "Usually paid a contingency fee, a percentage of what it recovers, and the client relationship rarely survives"
      ]
    }
  ]
}
```

Viktor connects to 9,800+ tools, most of them through one-click OAuth, including Stripe, QuickBooks, Xero, NetSuite, Gmail, Outlook and HubSpot. He lives in Slack and Microsoft Teams, so the overdue list and the drafts show up where your finance conversation already happens.

On cost, the comparison is simple. An in-house AR clerk is a salary, even part-time. An agency takes a cut of every invoice it recovers. Viktor runs on credits: new workspaces start with up to $100 in credits and no credit card, and the Team plan is $100 a month for 40,000 credits for the whole workspace, per [viktor.com/pricing](https://viktor.com/pricing). A daily aging summary plus a handful of drafts is a small slice of that. If you want to see what this looks like with your own receivables, [give Viktor your overdue list and let him draft the first round](https://app.viktor.com/signup).

## The collections workflow, step by step

The five steps below work whether a person runs them or an AI employee does. They are the same steps, the difference is who does the lookup.

### Step 1: Pull overdue invoices from your accounting tool

Start from an invoice aging report: every open invoice past its due date, grouped by how late it is. Then check each line against two other sources before you contact anyone:

- **The payment processor.** Stripe, GoCardless or your bank feed. Look for partial payments and failed charges, not only successful ones.
- **The inbox.** Search the client’s domain. “This is in our next payment run” is a scheduled payment, not an unpaid invoice.

A prompt you can give Viktor in your finance channel:

> @Viktor pull every invoice in QuickBooks past its due date, match each one against Stripe payments and credit notes, check Gmail for replies from each client domain, and post the ones that are still genuinely unpaid in #finance.

### Step 2: Segment by age, amount and customer

Not every overdue invoice deserves the same message. Group what is left by three things:

- **Age:** 1-14 days late, 15-30, 31-45, and over 45.
- **Amount:** Large invoices get a human look earlier, regardless of age.
- **Customer:** A long-term client who always pays on the 25th is not the same risk as a new client who has gone quiet.

For each account, add the facts that decide whether a reminder gets answered: the named payer (a person, not accounts@), the PO or reference number, and the approval path.

### Step 3: Draft reminders in your voice

Good reminders are short and give the recipient something to do: the work it relates to (“the March campaign build”, not just “invoice 1182”), the reference number, amount, due date, payment link and an offer to re-issue if something is wrong.

Viktor drafts each reminder with that context pulled from the original email thread and the CRM record, and he learns your tone from past messages. When you correct a draft in the thread (“never mention the late fee to this client before day 45”), he remembers it for the next run. That memory is what turns a dozen improvised conversations into a process.

### Step 4: Approve before anything is sent

Every draft lands in Slack or Teams with the context next to it: invoice, amount, days overdue, last contact and anything odd, such as a Stripe and ledger mismatch. You approve, edit or reject each one. Approved emails go out from your own mailbox, in the original thread.

A typical morning: six items, four ready drafts, two flagged. You fix a sentence, approve four, and the job is done in a few minutes.

### Step 5: Escalate, log replies and update records

After sending, the job is tracking. Viktor watches for replies, records promise-to-pay dates, updates the invoice notes in your accounting tool or a shared sheet, and brings the account back to you if a promised date passes. At day 30 and day 45 he does not decide anything. He posts the full history (every message, every reply, the amount and the relationship owner) so the right person can make the call. That human handoff is a rule, not a fallback.

Three messy cases come up every month, and each has a default:

- **Disputes:** The client questions a line item. Viktor stops the cadence for that invoice, pulls the contract, SOW and delivery evidence, and hands it to the account owner. Nobody sends a reminder on a disputed invoice.
- **Partial payments:** He matches the payment, updates the open balance and drafts a reminder for the remainder only, quoting what was received.
- **Wrong contact:** An email bounces or an out-of-office says the person left. He checks the CRM and past threads for the new payer and asks you to confirm before writing to them.

## The approval boundary for customer-facing money messages

This section matters more than any template. An unpaid invoice is a conversation about money with a customer you probably want to keep. One wrong message costs more than the late payment: a reminder to a client who already paid, a firm tone with a strategic account, or a late fee you agreed to waive.

Set the boundary in writing before you automate anything:

```json:object
{
  "_key": "k145",
  "_type": "table",
  "rows": [
    {
      "_key": "k136",
      "_type": "tableRow",
      "cells": [
        "Action",
        "Who does it",
        "Approval needed"
      ]
    },
    {
      "_key": "k137",
      "_type": "tableRow",
      "cells": [
        "Pull the aging report and reconcile",
        "Viktor",
        "No, read-only"
      ]
    },
    {
      "_key": "k138",
      "_type": "tableRow",
      "cells": [
        "Find contacts, POs and history",
        "Viktor",
        "No, read-only"
      ]
    },
    {
      "_key": "k139",
      "_type": "tableRow",
      "cells": [
        "Draft reminders for each stage",
        "Viktor",
        "No, drafts only"
      ]
    },
    {
      "_key": "k140",
      "_type": "tableRow",
      "cells": [
        "Send a reminder to a customer",
        "Viktor, after a yes",
        "Yes, every message"
      ]
    },
    {
      "_key": "k141",
      "_type": "tableRow",
      "cells": [
        "Log replies and promises to pay",
        "Viktor",
        "No, internal records"
      ]
    },
    {
      "_key": "k142",
      "_type": "tableRow",
      "cells": [
        "Apply a late fee or interest",
        "Finance lead",
        "Human decision"
      ]
    },
    {
      "_key": "k143",
      "_type": "tableRow",
      "cells": [
        "Pause work or offer a payment plan",
        "Account owner",
        "Human decision"
      ]
    },
    {
      "_key": "k144",
      "_type": "tableRow",
      "cells": [
        "Hand to a collections agency or legal",
        "Founder or CFO",
        "Human decision"
      ]
    }
  ]
}
```

Viktor works review-first: he drafts, you approve, then it sends. Loosen that later for low-risk cases, such as the day 7 nudge to small accounts, if you want. You also control what he can see and do. If you want to scope that tightly, here is [how to control what your AI employee can see and do](https://viktor.com/blog/how-to-control-where-your-ai-employee-works).

## Is it legal to automate invoice follow-up?

For most B2B companies chasing their own invoices, yes, with a few lines to respect. This is general information, not legal advice.

- **First-party vs third-party collection:** In the US, the [Fair Debt Collection Practices Act](https://www.consumerfinance.gov/rules-policy/regulations/1006/) applies to third-party debt collectors chasing consumer debts. A business reminding its own business customers about an invoice is a different situation, but the moment you hand an account to a collection agency, the agency’s rules apply.
- **Calls and texts:** The TCPA restricts autodialed calls, artificial or prerecorded voice calls and texts to mobile numbers without prior consent, and the FCC confirmed in 2024 that AI-generated voices count as artificial. If you use an AI voice agent or SMS tool for reminders, get consent in your contract. Email from your own mailbox, which is how Viktor works, avoids most of this.
- **Customer data:** Invoices hold personal data (names, emails, sometimes sole traders’ details), so GDPR applies to EU customers. Viktor’s security posture, including SOC 2 Type 1, GDPR and CCPA, is documented on the [security page](https://viktor.com/security).

## Reminder cadence and templates (7, 14, 30, 45 days)

A cadence prevents the two classic failures: six weeks of silence, then an angry email. Days count from the due date. Put your payment terms (for example net 30) and any late-fee clause on the original invoice, because a reminder can only enforce terms the customer already agreed to.

```json:object
{
  "_key": "k180",
  "_type": "table",
  "rows": [
    {
      "_key": "k174",
      "_type": "tableRow",
      "cells": [
        "Day after due date",
        "Channel",
        "Goal",
        "Tone"
      ]
    },
    {
      "_key": "k175",
      "_type": "tableRow",
      "cells": [
        "Day -3 (optional)",
        "Email",
        "Courtesy heads-up before the due date",
        "Friendly"
      ]
    },
    {
      "_key": "k176",
      "_type": "tableRow",
      "cells": [
        "Day 7",
        "Email to the named payer",
        "Make sure they have it",
        "Friendly, factual"
      ]
    },
    {
      "_key": "k177",
      "_type": "tableRow",
      "cells": [
        "Day 14",
        "Reply in the same thread, copy the sponsor",
        "Find the blocker",
        "Direct"
      ]
    },
    {
      "_key": "k178",
      "_type": "tableRow",
      "cells": [
        "Day 30",
        "Phone call or direct message",
        "Get a payment date",
        "Firm"
      ]
    },
    {
      "_key": "k179",
      "_type": "tableRow",
      "cells": [
        "Day 45",
        "Final notice",
        "Agree a plan or state next steps",
        "Formal"
      ]
    }
  ]
}
```

**Choosing channels.** Email in the original invoice thread is the default because it carries the history. A shared Slack Connect or Teams channel with the client often gets a faster answer than the AP inbox. SMS and AI voice calls are offered by some AR tools, and they suit high-volume, small-invoice businesses more than agencies and B2B services, where a person calling at day 30 still works best.

**Day 7 template:**

> Hi Marta, a quick note that invoice 1182 for the March campaign build (PO 4471, $8,400) was due on 12 March. The payment link is below. If it needs to be re-issued to a different entity, tell me which one and I will send a corrected copy today.

**Day 14 template:**

> Hi Marta, following up on invoice 1182 for the March campaign build, now two weeks past due. Copying Tom, who owns the project on your side. Is anything blocking approval, such as a missing PO or vendor form? Happy to send whatever your AP team needs.

**Day 30 (call or direct message):** ask for a specific payment date and amount, and offer to split the payment if cash timing is the issue.

**Day 45 template:**

> Hi Marta, invoice 1182 is now 45 days past due. Under our agreement, late payments may carry a late fee, and we will need to pause new work on the account until it is settled. I would rather agree a plan with you this week. When is a good time to talk?

**Late fees and interest.** Charge them only if your contract or invoice terms say so, and treat them as a lever for the day 45 conversation rather than an automatic penalty. Some jurisdictions give a statutory right to interest on late business payments: in the UK, for example, the [Late Payment of Commercial Debts rules](https://www.gov.uk/late-commercial-payments-interest-debt-recovery) let you claim interest at 8% above the Bank of England base rate plus a fixed recovery fee. Check the rules where you and your customer operate before you quote a number.

## Where chasing fits in the receivables cycle

Chasing is one stage of the accounts receivable process, and most chasing problems start earlier:

1. **Invoicing:** Clear payment terms, the right legal entity, the PO number and a payment link on every invoice, sent to a named payer and the AP inbox.
2. **Reminders and dunning:** The cadence above. Processor dunning handles card failures, project invoices need context-aware reminders.
3. **Cash application:** Match incoming payments to invoices so the aging report stays true. Unapplied cash is how paid clients end up on the overdue list.
4. **Escalation and write-off:** Payment plans, paused work, an agency or a write-off, all human decisions.

For the wider finance stack, see our list of the [best AI tools for finance teams](https://viktor.com/blog/ai-for-finance-teams). If your bottleneck is closing the books rather than collecting cash, the [month-end close checklist and automation guide](https://viktor.com/blog/month-end-close-automation) covers that job.

## Who should hand invoice chasing to an AI employee

It fits best where invoices are few enough to matter one by one and many enough to eat hours:

- **Agencies and B2B services:** Project invoices with POs, sponsors and approval chains, where context decides whether a reminder gets paid.
- **Small finance teams:** One finance lead covering billing, payables and the close, who needs chasing to run without daily attention.

It fits less well for high-volume consumer collections, where a dedicated collections platform and compliance team make more sense.

## Metrics to watch: DSO, overdue %, promise-to-pay

Three numbers tell you whether chasing is working. Viktor can post them in your finance channel every Monday.

- **Days sales outstanding (DSO):** Accounts receivable divided by credit sales for the period, multiplied by the number of days in it. If you invoice $300,000 a quarter on credit and have $150,000 outstanding, DSO is 45 days. On net 30 terms, a DSO well above 30 means customers routinely pay late.
- **Overdue percentage:** The share of open receivables past due, ideally split by aging bucket. Watch the over-45 bucket closely, because the older an invoice gets, the less likely it is to be paid in full.
- **Promise-to-pay rate:** Of the customers who promised a payment date, how many paid by that date. A low rate means you are accepting vague promises. Ask for a specific date and amount.

An illustrative example of how these move: an agency starts the quarter with $150,000 outstanding on $300,000 of quarterly billing (DSO 45) and 22 overdue invoices. After reconciliation, 6 turn out to be paid or mis-issued. The remaining 16 go through the cadence, 11 customers give a payment date and 9 pay on it (a promise-to-pay rate of about 82%), 2 disputes go to the account owner. If outstanding falls to $110,000 on the same billing, DSO drops to 33 days, and that difference is cash flow you no longer finance yourself. Your numbers will differ: measure your own baseline in week one.

Add one operational number: hours per week spent on chasing. If the system works, it drops from a few hours to a few minutes of approvals. That is the point of handing the mechanical part to an AI employee. If you are new to the idea, this explainer covers [what an AI employee is](https://viktor.com/blog/what-is-an-ai-employee) and how he differs from a reminder tool.

To try it, connect your accounting tool and inbox, paste your cadence into a message and ask for the first aging summary. [Start free with Viktor](https://app.viktor.com/signup) and let him run the first week in draft mode.

## FAQ

### Can AI chase unpaid invoices?

Yes. AI can find overdue invoices, check them against payments, identify the right contact and draft reminders with the correct PO and amount. Viktor does this across your accounting tool, processor, inbox and CRM, then waits for your approval before sending. Late fees, payment plans and pausing work stay with you.

### How often should you send payment reminders?

A common B2B cadence is day 7, day 14, day 30 and day 45 after the due date, moving from a friendly email to a phone call and a final notice. Many teams also send a courtesy note a few days before the due date. More frequent reminders tend to annoy good customers without speeding up payment.

### Will an AI employee email customers without approval?

Not by default. Viktor drafts each reminder and posts it in Slack or Teams for review, and he sends only after you approve. You can later allow low-risk messages, such as the first friendly nudge to small accounts, to go out automatically, but money messages to customers start with a human yes. [Set up your review-first collections workflow](https://app.viktor.com/signup).