← All workflows
Guardrail

Reconciliation & stop-chasing.

The moment Xero marks an invoice paid, the chasing stops. Instantly. No 'I already paid you' embarrassment, no double-chase, no awkward call after the money's in.

Goal

Keep the ledger and the cadence in perfect step so a customer who has paid is never contacted again about that invoice. This is the single loudest complaint about every other AR tool, and the one we designed against.

Triggers

  • Xero's signed webhook fires an invoice.paid event (with a reconcile-sweep poller behind it as belt-and-braces)
  • A payment is detected mid-cadence: before the next scheduled voice, SMS, or email touch

What the AI does

  • Listens to Xero in real time and re-fetches the invoice to confirm the paid status
  • Cancels every remaining touch in that invoice's cadence: voice, SMS, and email
  • Marks the item cleared in your Briefing and People views
  • Closes any open promise-to-pay tied to that invoice
  • Records the outcome so it feeds your DSO and recovery reporting

What the AI won't do

  • Place another call, text, or email about an invoice Xero shows as paid
  • Rely on a nightly batch: the stop is event-driven and near-immediate
  • Drift from Xero: Xero is the source of truth, our store is the cache

Tools available to the AI

xero_invoice_paid_webhookcheck_payment_statusstop_cadenceclose_open_item

Tools are typed and bounded: the AI calls them, it doesn't define them. Each tool call is logged with an idempotency key, so retries never produce duplicates.

Success looks like

A customer pays online at 4:58pm and the 5pm reminder never goes out. Your teammate looks like it's paying attention (because it is) and you never field an angry 'but I already paid' call.

Toggle

Always on: it's a safety guarantee, not a per-campaign toggle. Reconciliation runs on every org the moment Xero is connected.

Related