Workflow Template
Accounts Receivable Collections Workflow
Manages overdue invoice follow-up by a credit controller: records invoice details, contacts the customer, tracks the outcome (payment promised, disputed, or no response), routes disputes to the disputes owner, escalates high-value/aged accounts to the finance manager for approval, marks invoices paid or written off, and notifies the assigned owner when the case closes.
When overdue invoices live in spreadsheets and email threads, credit controllers lose track of who promised what, disputes stall for weeks, and high-value accounts slip through without finance manager sign-off. The Accounts Receivable Collections Workflow gives every overdue invoice a status, owner, and next action from first contact through payment or write-off, automatically routing disputes to the right owner and escalating aged or high-value cases for approval. Teams using this structured flow can close cases faster and cut the number of invoices that go silent without follow-up.
Business Outcomes
- Fewer overdue invoices falling through the cracks due to missed follow-up
- Faster dispute resolution through automatic routing to the disputes owner
- More consistent escalation of high-value or aged accounts to the finance manager
- Reduced time spent manually tracking invoice status across spreadsheets and email
- Clearer audit trail of contact attempts, promises, and resolution outcomes
Workflow Steps
Steps
- 1Create Overdue Invoice Recordcreate record
Registers the overdue invoice case for collections.
- 2Set Status to Openupdate record
Marks the case as open at intake.
- 3Contact Customercreate task
Credit controller contacts the customer and records the outcome of the conversation.
- 4Mark as Contactedupdate record
Updates status once the customer has been contacted and persists the contact outcome.
- 5Route on Contact Outcome
Branches based on whether payment was promised, the amount was disputed, or there was no response.
contact_outcome: "Payment Promised"→Mark Payment Promisedcontact_outcome: "Amount Disputed"→Mark as Disputedcontact_outcome: "No Response"→Mark as Escalated (No Response)Default→Mark as Escalated (No Response) - 6Mark Payment Promisedupdate record
Updates status to reflect a promised payment and stores the promised date.
- 7Confirm Payment Receivedcreate task
Credit controller confirms whether the promised payment was received by the promised date.
- 8Route on Payment Confirmation
Checks if the promised payment was actually received.
payment_received: "true"→Mark Invoice PaidDefault→Mark as Escalated (Broken Promise) - 9Mark as Disputedupdate record
Updates status to reflect a disputed invoice amount.
- 10Assign Disputes Ownerassign user
Routes the disputed invoice to the disputes owner for investigation.
- 11Investigate Disputecreate task
Disputes owner investigates the dispute and records a resolution before further follow-up.
- 12Route on Dispute Resolution
Branches based on how the disputes owner resolved the investigation.
dispute_resolution: "Resolved - Proceed to Collect"→Return to Contact Customerdispute_resolution: "Resolved - Write Off"→Mark Invoice Written Offdispute_resolution: "Unresolved - Escalate"→Mark as Escalated (Unresolved Dispute)Default→Mark as Escalated (Unresolved Dispute) - 13Mark as Escalated (No Response)update record
Updates status to escalated after no response from the customer.
- 14Mark as Escalated (Broken Promise)update record
Updates status to escalated after a promised payment was not received.
- 15Mark as Escalated (Unresolved Dispute)update record
Updates status to escalated after an unresolved dispute.
- 16Check Escalation Threshold
Routes accounts over the value or ageing threshold to the finance manager for approval of further action.
invoice_amount: "10000"→Request Finance Manager Approvaldays_overdue: "90"→Request Finance Manager ApprovalDefault→Standard Escalation Follow-Up - 17Standard Escalation Follow-Upcreate task
Credit controller performs standard escalation follow-up for accounts below the threshold.
- 18Route on Final Outcome (Standard)
Marks the invoice paid or written off based on the standard escalation outcome.
final_outcome: "Paid"→Mark Invoice Paidfinal_outcome: "Written Off"→Mark Invoice Written OffDefault→Mark Invoice Written Off - 19Request Finance Manager Approvalrequest approval
Finance manager approves further collection action on high-value or significantly aged accounts.
- 20Route on Finance Manager Decision
Branches based on whether the finance manager approves further collection action.
approval_status: "approved"→Pursue Further Collection Actionapproval_status: "rejected"→Mark Invoice Written OffDefault→End - 21Pursue Further Collection Actioncreate task
Credit controller pursues approved further collection action and records the final outcome.
- 22Route on Final Outcome (Escalated)
Marks the invoice paid or written off based on the further collection action outcome.
final_outcome: "Paid"→Mark Invoice Paidfinal_outcome: "Written Off"→Mark Invoice Written OffDefault→Mark Invoice Written Off - 23Mark Invoice Paidupdate record
Records the invoice as paid and closes the case.
- 24Mark Invoice Written Offupdate record
Records the invoice as written off and closes the case.
- 25Notify Assigned Owner Case Closedsend email
Notifies the assigned owner that the collections case has been closed.
- 26Return to Contact Customerrestart from step
Fields
- Customer Name*
- Customer Email*
- Invoice Number*
- Invoice Amount*
- Days Overdue*
- Dispute Raised
- +8 more fields
Forms
Overdue Invoice Intake
7 fields
Data Views
Overdue Invoices
customer_name, invoice_number, invoice_amount, days_overdue +2 more
Dashboard Widgets
Recommended integrations
Setup the following integrations to extend workflow capability.
Send email in the workflow
AWS SES
Similar Workflows
Similar Categories
FAQs
What happens if a customer promises payment but then doesn't pay?
The workflow tracks the payment promise and moves the case to a payment confirmation check. If payment isn't received as promised, the case routes to a 'broken promise' escalation step, which flags the account for follow-up or finance manager review depending on your configured thresholds. This keeps broken promises from silently sitting in a controller's inbox.
Can this handle disputes that involve multiple back-and-forth investigations?
Yes. Once an invoice is marked as disputed, it's assigned to a disputes owner who investigates and the case stays open under their ownership until a resolution routes it forward. You can customise the investigation step and add extra fields or comments if your disputes need more back-and-forth documentation before resolution.
What if we have a large volume of high-value accounts that all need finance manager approval?
The Check Escalation Threshold step lets you define what counts as high-value or aged, so only qualifying invoices route to the finance manager for approval. Everything below the threshold follows the standard escalation follow-up path instead, keeping the manager's queue focused on cases that actually need their decision.
How do we customise the escalation thresholds or approval rules?
Thresholds, routing logic, and approval steps are all configured directly inside assess.one — no developer work required. You can adjust dollar-value or aging cutoffs, change who the finance manager approval routes to, or add additional escalation tiers as your collections policy evolves.
Who needs access to this workflow?
Typically the credit controller who owns day-to-day follow-up, the disputes owner who investigates flagged invoices, and the finance manager who approves escalated cases. You can assign roles and permissions per step inside assess.one so each person only sees and acts on the cases relevant to them.
What happens at the Route on Final Outcome step?
This decision point checks whether the invoice was paid, escalated, or needs to be written off, and routes the case accordingly. It's the step that determines whether the case closes as resolved or continues into finance manager review, keeping the process from stalling in limbo.
Does this workflow support write-offs, and who approves them?
Yes, invoices that remain unresolved after escalation can be marked as written off. Depending on how you configure the finance manager approval step, write-offs can require explicit sign-off before the case is allowed to close, giving you a compliance checkpoint for bad-debt decisions.
What if a customer never responds to contact attempts?
If contact outcomes show no response, the workflow routes the invoice into a no-response escalation path rather than leaving it stuck at the initial contact stage. This ensures aging, unresponsive accounts get visibility and follow-up instead of quietly aging out.
How long does it take to get this workflow running?
Publishing takes minutes, not weeks. Once you publish the template inside assess.one, your credit controller can start logging overdue invoices and running the live process immediately, with no software installation or implementation project needed.
Can we track how many cases close as paid versus written off over time?
Yes, because every invoice moves through defined statuses like paid, escalated, and written off, you get a clear record of outcomes across your collections pipeline. This makes it easier to spot patterns in disputes, broken promises, or write-off rates without manually compiling reports.
Ready to use this workflow?
Create a free account and customise this workflow for your business.
