Instruction
Every month on the 1st at 9 AM match last month's payment emails in Gmail to open invoices in our ledger sheet, mark paid invoices and draft reminders for overdue ones that wait for my approval.
Steps in each run
- 1 Read new payment notification emails Gmail
- 2 Extract amount, payer, date and reference
- 3 Load open invoices from the ledger Google Sheets
- 4 Match payments to invoices
- 5 Mark paid invoices and list exceptions Google Sheets Waits for approval
- 6 Finance approves overdue reminders in Slack Slack Waits for approval
- 7 Send approved reminders Gmail Waits for approval
Memory. Remembers every processed payment email and every reminder sent, so no payment is matched twice and no customer gets a repeat reminder within seven days.
Reconciliation results for last month
Sample output| Invoice | Customer | Amount | Result | Next action |
|---|---|---|---|---|
| INV 1042 | Saltmarsh Coffee Roasters | $1,250.00 | Exact match | Marked as paid |
| INV 1047 | Pinegate Architecture | $3,400.00 | Exact match | Marked as paid |
| INV 1039 | Redwillow Fitness | $800.00 | Partial, $600.00 received | Review tab |
| None | Unknown payer, ref 77812 | $450.00 | No matching invoice | Review tab |
| INV 1021 | Ashbourne Tutoring | $975.00 | 14 days overdue | Reminder drafted for approval |
| INV 1030 | Glenmoor Print Co | $2,100.00 | 9 days overdue | Reminder drafted for approval |
-
INV 1042
- Customer
- Saltmarsh Coffee Roasters
- Amount
- $1,250.00
- Result
- Exact match
- Next action
- Marked as paid
-
INV 1047
- Customer
- Pinegate Architecture
- Amount
- $3,400.00
- Result
- Exact match
- Next action
- Marked as paid
-
INV 1039
- Customer
- Redwillow Fitness
- Amount
- $800.00
- Result
- Partial, $600.00 received
- Next action
- Review tab
-
None
- Customer
- Unknown payer, ref 77812
- Amount
- $450.00
- Result
- No matching invoice
- Next action
- Review tab
-
INV 1021
- Customer
- Ashbourne Tutoring
- Amount
- $975.00
- Result
- 14 days overdue
- Next action
- Reminder drafted for approval
-
INV 1030
- Customer
- Glenmoor Print Co
- Amount
- $2,100.00
- Result
- 9 days overdue
- Next action
- Reminder drafted for approval
Starts as a paused draft in your workspace. You review every step before the first run.
What the reconciliation agent does
Most small finance teams keep an invoice ledger in a spreadsheet and receive payment notifications by email from their bank or payment operator. Matching the two is slow, repetitive work. This agent reads the payment emails from the past month, extracts the amount, payer name, date and any reference, and looks for the matching open invoice in your Google Sheets ledger.
Exact matches are marked as paid with the payment date. Partial payments, overpayments and payments with no clear invoice are listed separately for a person to review. For invoices that are past due, the agent drafts a polite reminder in Gmail. Nothing is sent to a customer until someone on your team approves the batch. See more ideas on the finance use cases page.
The monthly schedule
The default schedule is every month on the 1st at 09:00 in America/New_York, written as 0 9 1 * *. Running on the first day of the month lines up with the month close, so last month's payments are matched and reminders are drafted as the books are closed. If you invoice in another region, change the timezone in the sentence, for example "every month on the 1st at 9 AM Berlin time".
Each step in order
- 1Read new payment emails. The Gmail integration step collects payment notifications that arrived since the last run.
- 2Extract payment details. An AI step reads amount, currency, payer, date and reference from each email.
- 3Load open invoices. The Google Sheets step reads unpaid rows from your ledger.
- 4Match payments to invoices. An AI step matches by reference, amount and payer and labels each result as exact, partial or unmatched.
- 5Update the ledger. The Google Sheets step marks exact matches as paid and adds partial and unmatched items to a review tab.
- 6Approve reminders. An approval gate in Slack shows drafted reminders for overdue invoices.
- 7Send approved reminders. The Gmail step sends only the reminders that were approved.
The agent never moves money. Payments are never executed by any Crons agent, on any plan.
How memory prevents double counting
Every processed email is stored in memory by its message identifier, and every reminder is stored with the invoice number and date. On the next run the agent skips emails it already processed, so a payment is never matched twice. It also will not draft a second reminder for the same invoice within the waiting period you set, which defaults to seven days.
You can read more about combining memory and human sign off in human approval in AI workflows.
How to adapt it to your ledger
- Tell the agent which columns hold invoice number, customer, amount, due date and status.
- Set the matching tolerance, for example allow a small difference for bank fees.
- Change the reminder tone and the number of days before the first reminder.
- Post a summary of matched and unmatched payments to the finance channel in Slack.
- Restrict the Gmail step to a label or sender so personal mail is never read.
Who this is for
It suits founders who handle their own invoicing, small finance teams and bookkeepers who manage several clients. If someone spends hours at the end of each month matching payments, the agent can do the matching and leave only the exceptions for a person. Accountants who close the books each month benefit most, because the ledger is up to date on the first morning of the new month, and the review tab shows exactly which items still need a decision before the close.
Frequently asked questions
Can the agent pay or refund anything?
No. Crons agents never execute payments. This template only reads emails, updates your ledger and drafts reminders that wait for approval.
Which emails does it read?
Only the emails that match the filter you set in the Gmail step, such as a label or a list of senders. We recommend a dedicated label for payment notifications.
What happens with a payment that matches no invoice?
It is added to a review tab in your sheet with the extracted details, so a person can decide what it belongs to.
Can I use it with more than one currency?
Yes. The agent reads the currency from each payment and only matches invoices in the same currency.
Is my financial data kept safe?
Credentials for Gmail and Google Sheets are stored encrypted and used only by your crons. Read more on the security page.