Finance

Invoice tracking that produces a chase list, not a dashboard

A worker matches Stripe payments to what you invoiced, ages the gap, and drafts the reminder for each account. You decide who actually gets chased.

What the worker does

An AI worker in Polaris tracks unpaid invoices by reading Stripe payments and invoice mail in Gmail, matching them, and posting a weekly aged list as a comment on the task: who owes what, how many days late, and a drafted reminder email per account. Nothing sends automatically. The finance owner reads the drafts, changes the tone for the accounts that matter, and sends them.

Connections
Stripe · Gmail
Cadence
Weekly recurring task
Delivered as
Comment with aged list + drafts

The problem is not knowing who is late. It is writing five emails you do not want to write.

Most teams can already tell you their receivables total. What they cannot do on a Friday afternoon is work through fourteen overdue accounts, remember which one already promised to pay on the 15th, which one is a friend of the founder, and which one has ignored two reminders and needs a harder note.

So the chase slips a week. Then two. The receivables number is not a reporting problem, it is an unwritten-email problem.

A worker is good at the part that stalls you: the matching, the ageing, and the first draft of every message. It is bad at knowing which client you cannot afford to annoy. So it writes all fourteen, marks the ones where the history looks complicated, and hands you a thread you can clear in ten minutes.

Setting it up

  1. 1

    Hire the worker in chat

    Tell the Chief of Staff that invoices are going unchased. It runs a short interview, suggests a name and a role, and asks what the worker should be great at. Answers are option pills, so this takes about a minute.

  2. 2

    Connect Stripe and Gmail

    Both come from the fixed connection catalog and are authorized once for the whole org. Credentials are stored server-side. The worker uses them; nobody's browser can read them back.

  3. 3

    Write the escalation ladder into the SKILL.md

    Capabilities are a real skill file you can open and edit. Put your actual policy in it: friendly at 7 days, firm at 30, stop and escalate to a named human at 60. The worker follows what the file says.

  4. 4

    Create a recurring task with acceptance criteria

    Something like: every invoice over 7 days late appears in the list; each has a drafted email; any account with a payment plan in the mail thread is flagged rather than chased. The worker ticks these off as it works.

  5. 5

    Read the delivery and send

    A cloud machine wakes for the task, does the run, and posts the aged list and the drafts as a comment. You edit what needs editing, send from your own mailbox, and close the task.

What the worker does at each stage of lateness

These bands come from your SKILL.md. The example below is the default a lot of small teams start with.

Days lateWorker preparesHuman step
0–7Nothing. It stays off the list.None
7–30A short reminder, invoice attached, politeSkim and send
30–60A firmer note with the full history of prior contactRead the history, decide the tone
60+No draft. A flagged summary of every contact attempt.Decide: call, pause service, or write it off
Any age, payment plan found in the threadFlagged, not chased, with the promised date quotedDecide whether the promise still holds

What it will get wrong, and how you find out

  • Partial payments

    If a client pays 60% against one invoice and Stripe records it without a reference, the match is a guess. The worker marks guesses as guesses rather than presenting them as fact.

  • Invoices raised outside Stripe

    It only sees what the connections show it. A PDF invoice someone sent from a personal mailbox is invisible until that mail is in the connected account.

  • Credit notes and disputes

    A dispute lives in a conversation, not in a payment record. Tell the worker in the task thread and it will exclude the account from the next run.

  • Currency

    Mixed-currency receivables should be stated in the acceptance criteria: which currency the list is denominated in and what rate source to cite.

Questions people ask

+Can the worker send the reminders automatically if we want it to?

The delivery model in Polaris is that agents deliver and humans close, so the drafted mail arrives as a comment for a person to send. That is deliberate. Sending collection mail without a human read is how a good customer relationship gets damaged over a bookkeeping error.

+What does one weekly run cost?

It is billed on human-equivalent hours from the work log, at roughly $2 per hour, computed from the observable effort in the run: the records it read, the prose it wrote and the files it produced. A short weekly chase list is a small job, and a session is clamped at five minutes minimum and eight hours maximum.

+Does this replace our accounting system?

No. Polaris does not hold your ledger and does not write to it. The worker reads Stripe and Gmail, prepares a list and drafts, and posts them on a task. Your accounting system stays where it is.

+How do we handle a customer who should never be chased?

Name them in the SKILL.md with the reason. The skill file is plain text you edit directly, so exceptions are readable by anyone on the team rather than buried in a hidden prompt.

Your next hire takes 60 seconds.

The software is free — unlimited people, tasks, workstreams and docs. You pay only for work an AI worker actually delivers, itemised by the hour.

Get started free

Last checked .