Skip to content

Premium and Instalment Payment Chase

Example prompt: "Every weekday morning, find any client who's late paying a premium or a direct-debit instalment, draft a payment-chase email pitched to how overdue they are, log it, and flag anything that's about to lapse for non-payment in #accounts on Slack."

The Problem

A broker writing monthly-pay business carries a rolling tail of late payers — the direct debit that bounced because the client changed bank, the annual premium the client said they would settle "next week" three weeks ago, the instalment the premium-finance company has flagged as in arrears. Insurers will not hold cover indefinitely on an unpaid premium, and the cases that bite are the policies that get cancelled for non-payment because nobody at the broker noticed the third bounce and the cancellation notice from the insurer sat in a shared inbox unread. The chase work is not skilled — it is reading a list, writing a polite letter, and noting the date — but it is the kind of work that always loses to whatever else came in that morning.

How GloriaMundo Solves It

We build a workflow that runs every weekday. An integration step reads the Aged Debt sheet (or pulls the equivalent report from the broker's accounts package) and finds every row where the payment is overdue and the policy is still on cover. A code step bands each row by days_overdue — band 7 (gentle reminder), band 14 (firmer ask), band 21 (urgent), band 30+ (lapse risk). For each row, an LLM step composes a chase email pitched to the band, naming the policy, the amount outstanding, and the consequence of continued non-payment. An integration step saves it as a Gmail draft. Band-30+ rows additionally fire a red alert in #accounts on Slack with the cancellation deadline if the broker has one on file. Every chase is logged with a (policy_id, band) idempotency key so the same band-14 chase does not redraft every morning for the seven days the row sits in that band. Glass Box preview shows every draft and every alert before they reach the client or the office.

Example Workflow Steps

  1. Trigger (scheduled): Every weekday at 9am.
  2. Step 1 (integration): Read the 'Aged Debt' tab of the broker's Google Sheet (or the equivalent export from the accounts package) and filter to rows where payment_status is 'Overdue' and policy_status is 'On cover'.
  3. Step 2 (code): For each row, compute days_overdue from the original due_date and bucket into a band — 7, 14, 21, or 30+.
  4. Step 3 (code, gate): Dedupe on (policy_id, band) against the 'Payment Chase Log' tab; a row already logged at this band halts; otherwise write a provisional row with status 'Allocating' before any drafting step.
  5. Step 4 (llm): Compose the chase email pitched to the band — band 7 is a gentle reminder citing the original due date, band 14 names the consequence of continued non-payment, band 21 references the insurer's cancellation timeline, band 30+ states the lapse-risk deadline.
  6. Step 5 (integration): Save each composed email as a Gmail draft to the policyholder contact. Persist gmail_draft_link to the provisional Chase Log row.
  7. Step 6 (conditional + integration): For band 30+ rows, post a red alert in #accounts on Slack tagging the account handler, naming the client, the policy number, the amount outstanding, and the cancellation deadline from the insurer's most recent notice. Persist slack_alert_ts to the provisional Chase Log row.
  8. Step 7 (integration): Post the daily aged-debt digest in #accounts on Slack — counts by band, the band 30+ names called out, and a total of premium at risk.
  9. Step 8 (integration): Flip the provisional Chase Log row's status from 'Allocating' to 'Chased'.

Integrations Used

  • Google Sheets — the Aged Debt source and the Payment Chase Log
  • Gmail — the per-client chase drafts to the policyholder contact
  • Slack — the daily aged-debt digest and the band 30+ red alerts

Who This Is For

Commercial brokers carrying monthly-pay and premium-finance business at any meaningful volume, where the accounts team or the producer is responsible for chasing premiums but the work consistently gets pushed back by the morning's quote and FNOL traffic. Particularly useful for brokers placing motor fleet, property, and contractor schemes where the direct-debit bounce rate is high enough that a manual chase always lags reality.

Time & Cost Saved

A broker carrying 150 to 400 active monthly-pay policies typically loses an hour a day to reading the aged-debt report and writing chase notes by hand, and the cases that get missed cost more than the chase time — every cancelled-for-non-payment policy is a client relationship at risk and, if the broker has earned and submitted the commission, a clawback to fight. This workflow turns the morning into a ten-minute review of pre-drafted chases, surfaces the band 30+ cases that need a phone call rather than another email, and gives the producer a single Slack message a day naming the cases that are actually at risk. The cancellation-for-non-payment rate on the book drops measurably within a month.