The average accounting firm spends 4–6 hours per month chasing overdue invoices. That's time you could spend on actual client work, or just not working. This guide shows you how to automate your entire billing workflow so invoices go out automatically, reminders run on schedule, and you're alerted the moment something goes past due.
There's an uncomfortable irony in accounting: the people who help clients manage money are often the worst at collecting their own fees. It's not a billing problem, it's a systems problem. Most accounting firms send invoices manually, follow up when they remember to, and write off balances they feel awkward collecting.
Automation removes the awkwardness because the system sends the reminders, not you. This guide covers five steps: setting up recurring invoices for retainer clients, collecting payment method at the engagement stage, automating a 4-touch reminder sequence, connecting project completion to automatic invoicing, and monitoring your AR without opening a spreadsheet.
Before you automate your billing, it helps to know which billing model you're using, because the automation looks different for each one. Most firms use a mix of these three.
If you have clients on a monthly retainer, bookkeeping, payroll, CFO advisory, there is no reason to manually create and send their invoice every month. Recurring invoices automate this completely. You create the invoice template once, set the schedule, and FreshBooks (or Wave or QuickBooks) sends it automatically on the same day each month.
Go to Invoices → Create New Invoice → fill in the client, service description, and amount → click "Make Recurring" → set it to repeat Monthly on the 1st → save. That invoice will now automatically send to your client on the 1st of every month indefinitely. You can pause or modify it any time.
For Wave (the free option): go to Invoices → select any invoice → click "Make Recurring." Same process. The invoice sends automatically, Wave accepts credit card or bank transfer, and you see the payment in your dashboard when it clears.
| Line Item | Example Description |
|---|---|
| Monthly Retainer, [Month] | "Monthly bookkeeping services: transaction categorization, bank reconciliation, monthly P&L report" |
| Add-on (if applicable) | "Payroll processing, [X] employees" or "Sales tax filing, [state]" |
| Payment terms | Due on receipt. Card on file auto-charged [date]. |
The "card on file auto-charged" note matters, we'll set this up in the next step. When clients know they'll be charged automatically, they don't treat your invoices as optional.
This is the single highest-impact change you can make to your billing system. When a client has a card or bank account on file, your collection rate goes from "whenever they get around to it" to nearly 100%. The best time to collect payment details is during the onboarding process, before work begins, when the client is most motivated to complete paperwork.
How to implement this: Add a payment collection step to your engagement letter process. After a client signs their engagement letter, send a FreshBooks payment request link or a Stripe payment form that asks them to enter their card details. Frame it as: "To simplify billing, please add a payment method, your retainer will be automatically charged on the 1st of each month."
For project-based clients, collect a 50% deposit at this stage via Stripe or FreshBooks. The deposit serves two purposes: it funds your upfront work, and it confirms the client is serious. No-pay situations almost always involve clients who didn't put anything down.
Subject: One last step, add your payment method Hi [First Name], Thanks for signing your engagement letter, we're ready to get started! To complete your onboarding, please add a payment method using the secure link below. This allows us to process your monthly retainer automatically on the 1st of each month, so there's nothing you need to do each billing cycle. → [PAYMENT_LINK] Your information is stored securely via Stripe, the same payment processor used by millions of businesses worldwide. If you have any questions, just reply to this email. Looking forward to working with you, [Your Name] [Firm Name]
Once the client adds their payment method, FreshBooks or Stripe stores it securely and charges it automatically on your recurring invoice schedule. You receive a payment notification; your client receives a receipt. No phone calls, no awkward follow-ups.
For clients who don't have a card on file, or project invoices that require manual payment, a systematic reminder sequence collects money without you having to make a single awkward phone call. The key is consistency: the system sends the same sequence every time, so clients come to expect it and pay before it escalates.
| Timing | Channel | Tone | Key Action |
|---|---|---|---|
| Invoice delivery day | Email (FreshBooks auto) | Professional, friendly | "Invoice attached, due [date]" |
| 7 days before due | Email (FreshBooks auto) | Gentle reminder | "Just a heads up, due in one week" |
| Due date | Email (FreshBooks auto) | Neutral, factual | "Invoice due today, pay here" |
| 7 days overdue | Email + personal follow-up | Direct, not aggressive | "Past due, please confirm payment" |
Setting this up in FreshBooks: Go to Settings → Invoice Reminders. Enable automatic reminders and set the schedule: 7 days before due, on the due date, and 7 days after. FreshBooks sends these automatically for every outstanding invoice. You handle the 7-day overdue email personally, at that point a human touch is more effective than automation.
Subject: Invoice [#XXX], past due notice Hi [First Name], I wanted to follow up on Invoice [#XXX] for [amount], which was due on [date]. If you've already sent payment, please disregard this note. If not, you can pay securely here: [PAYMENT_LINK] If there's a question about the invoice or you'd like to discuss a payment arrangement, just reply and we can sort it out quickly. Thanks, [Your Name] [Firm Name] | [Phone]
Pro tip: In FreshBooks, you can see exactly when a client opened an invoice. If they opened it three days ago and haven't paid, they saw it. That context is useful when you decide whether to call vs. email at the overdue stage.
During tax season, you're completing returns constantly. Manually creating and sending an invoice for each return filed is easy to skip, especially when you're buried. A Zapier workflow solves this by watching your practice management system (or even a simple spreadsheet) for a "filed" or "complete" status and automatically triggering the invoice.
| Step | App | Action |
|---|---|---|
| Trigger | Google Sheets / Canopy / TaxDome | Row updated: Status = "Filed" |
| Action 1 | FreshBooks | Create invoice for client with pre-filled service description and fee amount |
| Action 2 | FreshBooks | Send invoice to client email immediately |
| Action 3 | Gmail (optional) | Send you a notification that invoice was sent |
If you use a spreadsheet to track returns, your trigger is a Google Sheets row update. Keep a column called "Status" and when you type "Filed," Zapier fires. If you use TaxDome or Canopy, check their Zapier integrations, many have direct triggers for return status changes.
The result: you file a return, mark it done in your tracker, and the client's invoice hits their inbox within minutes. No end-of-week invoice batches. No forgotten billings. No "I forgot to send that one."
Subject: Your [Year] tax return has been filed, Invoice [#XXX] Hi [First Name], Great news, your [Year] [return type] has been filed with the IRS. Please find your invoice for professional services attached: • [Year] [Return Type] Preparation and Filing: $[Amount] • Due: [Due Date] Pay securely here: [PAYMENT_LINK] A copy of your return will be available in your client portal within 24 hours. Thank you for trusting us with your taxes this year. If you have any questions, don't hesitate to reach out. [Your Name] [Firm Name]
You shouldn't have to open your billing software every day to know how much money you're owed. A weekly automated AR summary lands in your inbox every Monday morning with your outstanding balance, a list of overdue accounts, and a flag on anything that's gone past 14 days. This gives you a consistent "billing pulse" without the daily administrative overhead.
FreshBooks has an Accounts Receivable Aging report under Reports → Accounting. You can't auto-email it yet from FreshBooks directly, but you can schedule a Monday morning reminder to yourself to check it. Five minutes, same time each week, full picture.
Use Zapier's Schedule trigger (every Monday at 8 a.m.) → FreshBooks "List Invoices" action filtered to "Outstanding" → Gmail action to send yourself a formatted summary. This requires a bit more Zapier setup but fully automates your Monday AR check.
| AR Age | Action |
|---|---|
| 0–7 days | No action, FreshBooks reminders handling it |
| 8–14 days | Check if client opened the invoice (FreshBooks shows this). If opened, wait. If not opened, forward personally. |
| 15–30 days | Personal email or phone call. Use the 7-day overdue template above. |
| 30+ days | Pause services for retainer clients. Offer payment plan. Flag as collections risk. |
Two-partner CPA firm with 220 clients. Had $26,000 in outstanding AR at the start of peak tax season. No automated reminders, invoicing done manually in batches.
What they set up: FreshBooks recurring invoices for 38 retainer clients, card-on-file requirement for all new engagements, 4-touch reminder sequence, Zapier → FreshBooks project completion invoicing, and weekly AR Monday check.
Results after 90 days:
Set up FreshBooks recurring invoices and automatic reminders today. Most accounting firms recover more than the software costs in the first month from previously-uncollected fees.
Start FreshBooks Free → More Accountant Guides →