The 12 Plays
Play 6Beginner~18 min read

Billing and Invoice Follow-Up

Run a consistent, automatically escalating invoice follow-up sequence that pauses the moment payment is received.

The business case

Collections is the task most professional services firms handle worst - not because the team lacks skill, but because chasing invoices feels awkward. It implies distrust. It risks friction with a client relationship that took years to build. So partners delay. They wait for the right moment. They tell themselves the client is probably just slow this month. And then the 90-day AR problem happens. The second challenge: billing complexity. Monthly schedules, project-based billing, hourly work, and retainers often mean different follow-up schedules for each client. Under manual processes, things fall through. This Play removes the judgment calls from day-to-day collections. Instead of a partner deciding each time whether to follow up, the workflow follows a consistent tiered sequence automatically - and pauses the moment payment is received.

What this play does

n8n monitors invoices on a scheduled basis and checks each open invoice against your defined follow-up timeline. Before any follow-up message goes out, a relationship context check runs: does the CRM show any open deals, complaints, or disputes for this client? If yes, the invoice is held and routed to the exception queue. If not, the appropriate follow-up message goes out automatically. The sequence escalates gradually - from confirmation to friendly reminder to warm follow-up to direct notice to partner escalation - with the tone shifting appropriately at each stage. The sequence pauses immediately when payment is received.

Before and after

Before

Invoice goes out. Nothing happens for 30 days because no one wants to chase it. On day 35, someone mentions it in a meeting. A partner sends a casual email. Another 15 days pass. Now you're 50 days out on an invoice that should have been paid in 30, and the conversation is more awkward than it would have been on day 32.

After

Invoice goes out. Confirmation is automatic. Reminders run on schedule. The client receives consistent, professional follow-up at appropriate intervals. Most clients pay before the sequence gets past the first reminder - not because they were chased aggressively, but because the consistent process made it easy to act. Average days to collection drops. AR aging improves.

Business impact

Most professional services firms carry 20 - 30 days of unnecessary AR aging simply because follow-up is inconsistent. Getting that number down by even 15 days on a $2M annual billing base represents $82,000 in working capital that's no longer sitting in unpaid invoices. Write-off reduction is harder to model but consistent: invoices that age past 90 days are recovered at a significantly lower rate, and most of them get there because nobody followed up consistently early on.

ROI Calculator

Coming Soon

Prerequisites

Complete these before opening n8n. Skipping prerequisites is how you end up rebuilding workflows.

1

Confirm your billing system has API access

QuickBooks, Xero, Clio, Bill4Time, and most major billing platforms support API access or webhook output. You'll need to query open invoices and their status. Confirm API access before building.

2

Define your payment terms and follow-up sequence

Write out the exact sequence you want to run, including the exact timing for each stage. Example: Day 0 (send confirmation), Day -5 before due (friendly reminder), Day 0 due date (warm follow-up), Day 10 past due (direct notice), Day 21 past due (partner escalates manually). Define the tone for each stage.

3

Write or pull example messages for each stage

The AI generates follow-up messages using your tone examples as style guides. Write or pull one example for each stage in your sequence. The tone should shift from informational to friendly to warm-direct to firm before escalating to the partner.

4

Define how you'll flag open service issues

The relationship context check only works if service issues are consistently logged in your CRM. Define what constitutes an open issue and make sure your team knows to log it immediately when one arises. This is the safety valve that prevents the automation from damaging relationships.

Step-by-step implementation

The steps below are the full build guide. Each step includes configuration notes and exact AI prompts where applicable.

1

Build the scheduled invoice monitoring workflow

Create an n8n workflow with a Schedule trigger - once or twice daily is sufficient for most firms. When the trigger fires, add an HTTP Request node that calls your billing system's API to pull all open invoices. The API call returns invoice records including: invoice ID, client name, client ID, amount, issue date, due date, payment status, and assigned relationship owner. Filter this list to include only invoices that are unpaid and that haven't already been sent through the complete follow-up sequence. For each qualifying invoice, calculate the invoice age relative to today and the due date relative to today. This determines which stage of the follow-up sequence applies.

Configuration Notes

QuickBooks invoice query example:
GET https://quickbooks.api.intuit.com/v3/company/{{realmId}}/query?query=SELECT * FROM Invoice WHERE Balance > '0' AND TxnDate > '{{30_days_ago}}'

Xero invoice query example:
GET https://api.xero.com/api.xro/2.0/Invoices?Statuses=AUTHORISED,SENT&DateFrom={{start_date}}

For both: filter the returned invoices by PaymentStatus = "outstanding" and calculate DaysUntilDue and DaysOverdue for each invoice in an n8n Function node.
2

Build the relationship context check

This is the most important step in the workflow. Before any follow-up message goes out, check the CRM for open service issues, active complaints, or disputes on the client account. For each invoice, use the client ID or email to look up the client record in your CRM. Check for any activity records tagged as "Service Issue," "Complaint," "Dispute," or equivalent. If any such record exists and is marked open/unresolved, route the invoice to the exception queue with a note: "Invoice #X for [Client] is at Stage Y of follow-up but has an open service issue: [issue summary]. Human review required before sending." This check must run on every workflow execution - not just at setup time. A service issue that wasn't logged yesterday could be logged today. The check runs each time, every time.

3

Generate and send the appropriate follow-up message

For invoices that pass the relationship context check, determine the appropriate follow-up stage based on the invoice's position in your timeline. Pass the invoice details and the stage to an AI node to generate the follow-up message. The AI uses your example messages for that stage as tone guides. Configure the node to output the message text and the subject line. Send the message from the relationship owner's email address (not a generic billing address) for all stages up to the partner escalation stage. Log every outbound message as a CRM activity on the client record immediately after sending. This creates a complete audit trail - if a partner needs to step in at day 21, they can see exactly what the automated system already sent before making any manual contact.

AI Prompt

You are writing a billing follow-up message for a professional services firm. You need to match the tone and approach for the specific stage in the follow-up sequence.

Invoice details:
- Client: {{client_name}}
- Invoice amount: {{invoice_amount}}
- Invoice number: {{invoice_number}}
- Invoice date: {{invoice_date}}
- Due date: {{due_date}}
- Days overdue: {{days_overdue}} (negative means still before due date)
- Relationship owner: {{owner_name}}

Stage: {{stage_name}}
Stage description: {{stage_description}}

Example message for this stage (use for tone reference only):
{{stage_example_message}}

Write a follow-up message that:
- Matches the tone described for this stage exactly
- References the specific invoice number and amount
- Makes it easy for the client to take action (includes payment link placeholder: [PAYMENT_LINK])
- Sounds like {{owner_name}} wrote it personally
- Is appropriately brief for the stage (confirmation = 2-3 sentences, reminder = 3-4 sentences, direct notice = 4-5 sentences)

Return ONLY the email body text and a suggested subject line as JSON:
{
  "subject": "Subject line",
  "body": "Email body"
}
4

Handle payment detection and sequence termination

The most critical operational requirement is immediate sequence termination when payment is received. Set up a secondary workflow (or a path in the same workflow) that fires when your billing system reports an invoice as paid. The payment detection can work two ways: (1) real-time via webhook if your billing system supports payment webhooks, or (2) on each scheduled run, cross-reference the open invoice list against a "paid in the last 24 hours" query and remove newly paid invoices from the active sequence. When payment is detected, the workflow should immediately: mark the invoice as resolved in the tracking system, remove it from the active follow-up queue, and send a payment receipt confirmation to the client. Log the payment as a CRM activity. Test this payment detection logic thoroughly before going live. The worst outcome of billing automation is a client paying an invoice and then receiving a follow-up reminder. Run a complete payment simulation before launch.

Week-by-week rollout plan

Week 1Setup
  • Define complete follow-up sequence: stages, timing, tone guidelines.
  • Write example messages for each stage. Have partner review.
  • Confirm billing system API access. Document invoice query endpoints.
Week 2Build
  • Build invoice monitoring workflow and stage calculation logic.
  • Build relationship context check against CRM.
  • Build AI message generation for each stage.
Week 3Test and Launch
  • Test payment detection and sequence termination - this is critical.
  • Test service issue flag routing.
  • Run simulation with 5 real invoices in test mode. Review every generated message.
  • Launch on next invoice cycle. Monitor closely for first two weeks.

Success benchmarks

These are the specific, measurable signals that confirm the play is working. Check against each benchmark at the 30-, 60-, and 90-day mark.

Average days-to-collection reduced by 15+ days within 60 days of launch
Zero follow-up messages sent to clients with open service issues
Zero follow-up messages sent after payment received
AR aging over 60 days reduced by 30%+ within 90 days
Partner time spent on collections reduced to escalation-only cases

Common mistakes

Not building the service issue check

This is the most important safety mechanism. Sending an automated collections email to a client who is actively unhappy about something your firm did is a relationship-ending mistake. The check must run on every execution, not just at setup.

Not testing payment detection before launch

The worst outcome of billing automation is a client paying an invoice and then receiving a collections message anyway. Test the payment detection and queue removal logic thoroughly before going live - not after.

Using a generic billing address

Clients respond better to messages that appear to come from the person they have a relationship with. Route early-stage messages through the assigned partner or account manager's email address.

Not logging outbound messages to the CRM

If a partner needs to step in at day 21, they need to see everything the automated system already sent. Without activity logging, the partner walks into a potentially awkward conversation blind.

Exception rule

Read before going live

Invoice follow-up sequences must check for open service issues before every send - not just at setup, but on every run. A service issue that wasn't logged yesterday could be logged today. The check runs each time.

Related plays

Revenue Institute

Want someone to build this play for your firm? Revenue Institute implements the full AI Workforce Playbook system as part of every engagement.

RevenueInstitute.com