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.
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.
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.
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.
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.
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.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.
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"
}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
- 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.
- Build invoice monitoring workflow and stage calculation logic.
- Build relationship context check against CRM.
- Build AI message generation for each stage.
- 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.
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.
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.