Automate AR collections and month-end close tasks
Stepwork reads your AR aging, sends each overdue invoice the right notice, chases missing receipts before close, and checks bills against POs, in any accounting system.
- Use case
- AR collections, receipt chasing, and payables prepFinance
- Best for
- Controller, AR Specialist, AP Specialist
- Applications used
QuickBooks Desktop
Stripe
SAP Concur
Bill.com
Outlook
- Business outcome
- Reminders out every week, receipts in before close
The problem
Collections and close come down to the same chases every week
- Export the AR aging report and sort it by days overdue
- Check the billing system for payments the books haven't posted
- Email reminders one invoice at a time, attaching each PDF
- Tell the account owner when a customer goes 60 days late
- Chase cardholders for missing receipts in the week of close
- Match each vendor bill to its PO and receipt before the run
Triage
Wherever the work starts, it lands in the right procedure
An overdue invoice, a declined card, a missing receipt, and a bill due this week all show up in different tools. Stepwork reads each one where it lives and hands it to the procedure that deals with it.
QuickBooks DesktopA/R aging detailINV-10482 · 47 days past due Open balance: $8,420.00 Rep: D. OkaforGoes to AR collections
Microsoft TeamsTeams messageCan someone chase our biggest distributor? Two invoices are past 30 days and they just placed another orderGoes to AR collections
StripeFailed paymentCard declined · expired card Amount: $1,250.00 Retries left: 0 of 4Goes to Failed payment recovery
SAP ConcurMissing receiptCard charge · airfare · $612.40 No receipt attached · 9 days Close deadline: FridayGoes to Missing receipt chase
Bill.comBill due ThursdayBill 55210 · $14,980.00 PO 4471 · 3 of 4 lines receivedGoes to Payables run prep
Systems
Works in the accounting system you already run
Collections and close cross the books, the billing system, the card platform, and the AP tool. Stepwork works in each one's own screens with a login your team grants, so desktop and on-prem accounting is covered the same as the cloud tools, with no connector or API needed.
- Desktop and on-prem accounting and ERP: QuickBooks Desktop, Sage 50, Sage 100, Microsoft Dynamics GP, Epicor
- Cloud accounting and ERP: QuickBooks Online, Xero, Sage Intacct, NetSuite, Acumatica
- Billing: Stripe, Chargebee, Recurly
- Cards and expenses: SAP Concur, Expensify, Ramp, Brex, Airbase
- Accounts payable: Bill.com, AvidXchange, Tipalti
- Where reminders and flags go: Outlook, Gmail, Microsoft Teams, Slack, Zendesk
Example procedures
Four finance procedures, card by card
One works the aging report every week, one chases receipts before close, one checks bills before the payment run, and one follows up failed card payments. Swap in your accounting system, ERP, or card platform above each one and the steps stay the same.
Weekly AR collections from the QuickBooks Desktop aging report
QuickBooks Desktop
Stripe
Outlook
Microsoft Teams
Step by step
- The aging report comes inStepwork runs the AR aging report in QuickBooks Desktop and reads each overdue invoice: the customer's billing email, how many days it's past due, and the rep on the account.
- Payments get checked firstIt looks each invoice up in Stripe. Anything paid there but not yet posted to QuickBooks Desktop comes off the list, so nobody gets chased for a bill they've paid. For the rest it reads the open balance and saves the invoice PDF.
- The rule reads how late it isInside the dashed frame, each open invoice is one pass. Over 60 days takes the top path, 31 to 60 days the middle, and 1 to 30 days the bottom.
- If over 60 daysSend it to the account owner in Microsoft Teams
- If 31 to 60 daysEmail a second notice from Outlook
- If 1 to 30 daysEmail a friendly reminder from Outlook
Repeats: For each invoice still open · 46 invoices - Late accounts go to a personOnly past 60 days: the account owner gets the invoice and the open balance in Microsoft Teams, and no email goes to the customer. A person decides what happens next.Only on this path: If over 60 daysRepeats: For each invoice still open · 46 invoices
- A second notice goes outFor 31 to 60 days: the recorded flow sends your second-notice template from the AR mailbox in Outlook, with the invoice attached.Only on this path: If 31 to 60 daysRepeats: For each invoice still open · 46 invoices
- The customer record gets a noteStepwork adds a dated note to the customer in QuickBooks Desktop saying the second notice went out, so whoever opens the account next sees it.Only on this path: If 31 to 60 daysRepeats: For each invoice still open · 46 invoices
- A friendly reminder goes outFor 1 to 30 days: the customer gets your friendly reminder from Outlook, with the invoice attached.Only on this path: If 1 to 30 daysRepeats: For each invoice still open · 46 invoices
- Finance gets the pictureAll three paths end here. After the last invoice, the Summary card lists every reminder and notice sent, each account escalated, and the balance still open.
Field map
| From | To |
|---|---|
Missing receipt chase in SAP Concur before the close deadline
SAP Concur
Microsoft Teams
Step by step
- The missing items come inStepwork reads every card charge in SAP Concur with no receipt or no memo, grouped by cardholder, with the link to upload each one.
- Each cardholder hears onceInside the dashed frame, each cardholder gets one message in Microsoft Teams listing their charges and the upload link, instead of one ping per charge.Repeats: For each cardholder with missing items · 23 cardholders
- The rule checks the deadlineOn the close deadline, anyone still missing items takes the top path. Before then, the reminder is enough.
- If still missing at the deadlineFlag the charges to the controller in Microsoft Teams
- If there's still timeList what's still missing for close
Repeats: For each cardholder with missing items · 23 cardholders - The controller hearsOnly at the deadline: the controller gets the cardholder and the charges still missing in Microsoft Teams, so close doesn't wait on a guess.Only on this path: If still missing at the deadlineRepeats: For each cardholder with missing items · 23 cardholders
- The card gets locked, if policy says soIf your card policy locks cards over missing receipts, the recorded flow locks the card in SAP Concur. If it doesn't, leave this card out.Only on this path: If still missing at the deadlineRepeats: For each cardholder with missing items · 23 cardholders
- Close gets a listBoth paths end here. After the last cardholder, the Summary card lists who was reminded, what's still missing, and any card that was locked.
Field map
| From | To |
|---|---|
Weekly payables run prep: each bill in Bill.com matched to its PO in Sage 100
Bill.com
Sage 100
Microsoft Teams
Step by step
- The bills come inStepwork reads every bill in Bill.com due before the next payment run: the vendor, the amount, and the PO number it was billed against.
- Each bill meets its POInside the dashed frame, Stepwork opens the purchase order in Sage 100 and reads its amount and whether the goods or services were received. Desktop and on-prem ERPs work the same way.Repeats: For each bill due · 64 bills
- The rule checks the matchIf the bill's amount differs from the PO, or nothing has been received yet, the run takes the top path. If all three agree, the bill goes on to approval.
- If they don't matchHold the bill out of the run in Bill.com
- If they matchQueue the bill for approval in Bill.com
Repeats: For each bill due · 64 bills - Mismatches stay out of the runOnly on the top path: the recorded flow holds the bill in Bill.com, so it can't be paid until someone looks.Only on this path: If they don't matchRepeats: For each bill due · 64 bills
- AP hears whyAP gets the vendor, the bill amount, and the PO amount in Microsoft Teams, so the fix starts with the numbers in front of them.Only on this path: If they don't matchRepeats: For each bill due · 64 bills
- Matches go to approvalBills that match are queued for approval in Bill.com, the same way your AP team would route them.Only on this path: If they matchRepeats: For each bill due · 64 bills
- The run gets totaledBoth paths meet here. After the last bill, the Summary card totals what's queued for the run and lists each bill on hold.
- Finance sees the runThe summary goes to the finance channel in Microsoft Teams before the approver signs off.
Field map
| From | To |
|---|---|
Failed card payments in Stripe followed up before they lapse
Stripe
Outlook
Zendesk
Step by step
- The failed charges come inStepwork reads each charge that failed since yesterday in Stripe, with the customer's email, the amount, how many retries are left, and the link to update their card.
- The customer hears from youInside the dashed frame, each customer gets an email from your billing address in Outlook with the amount and the update link, in your words rather than a processor's template.Repeats: For each failed charge · 7 charges
- The rule checks the retriesIf Stripe has no retries left on the charge, the run takes the top path. If retries remain, Stripe tries again on its own schedule.
- If no retries leftOpen a billing ticket in Zendesk
- If retries remainSum up today's failed payments
Repeats: For each failed charge · 7 charges - A person picks it upOnly when the retries are used up: a billing ticket opens in Zendesk with the customer and the amount, so someone reaches out before the account lapses.Only on this path: If no retries leftRepeats: For each failed charge · 7 charges
- Finance gets the day's listBoth paths end here. After the last charge, the Summary card lists every email sent, every ticket opened, and the total still at risk.
Field map
| From | To |
|---|---|
Flows
The finance flows these procedures are built from
Each flow is one recorded job in one app. Procedures run them on a schedule, and any of them can also run on its own from a request in Teams or Slack.
- QuickBooks Online
Extract unpaid invoices for collections
Extracts open invoices past due with customer, amount, and days overdue from QuickBooks Online.
NetSuiteExtract AR aging and overdue invoices
Runs AR aging in NetSuite and extracts overdue invoices with customer, amount, and days past due for collections.- Stripe
Extract failed payments and dunning status
Opens Stripe billing and extracts failed charges and subscriptions in dunning with customer, amount, and retry state. - Stripe
Apply credit to customer per approved request
Applies the approved credit or coupon to the customer's Stripe account with an internal note referencing the approval. - Stripe
Issue refund per approved request
Locates the charge in Stripe and issues the approved full or partial refund with the reason code. - Ramp
Extract missing receipts chase list
Opens Ramp transactions and extracts card charges past the receipt deadline with cardholder and amount. - Brex
Extract missing memo compliance report
Extracts transactions missing required memos or receipts past the policy window, grouped by cardholder. - Ramp
Extract card transactions by department for close
Extracts the month's card transactions with department, category, and memo coding for the close package. - Ramp
Suspend cards for departed employee
Suspends all physical and virtual cards for the departing employee and notes open subscriptions tied to them. - Ramp
Issue virtual card for approved purchase
Creates a Ramp virtual card with the approved limit, category lock, and expiry for the requesting employee. - Bill.com
Extract bills awaiting approval
Extracts bills in the approval queue with vendor, amount, approver, and days pending.
NetSuiteExtract PO-to-invoice match exceptions
Extracts invoices that fail matching against their purchase orders on price or quantity for exception review.
NetSuiteExtract AP aging report
Runs the AP aging report in NetSuite and extracts open payables bucketed by age with vendor detail.
NetSuiteEnter approved journal entry
Creates the journal entry in NetSuite from the approved close-checklist item with lines, memo, and supporting reference.
NetSuiteExtract pending journal approvals for close
Extracts unposted journal entries awaiting approval with preparer and age during the close window.- QuickBooks Online
Extract uncategorized transactions for close
Extracts bank feed transactions still uncategorized so the close doesn't stall on coding gaps. - QuickBooks Desktop
Run the A/R aging detail report
Opens the company file, runs A/R Aging Detail, and reads each overdue invoice with its customer, rep, and days past due. - QuickBooks Desktop
Add a collections note to a customer
Opens the customer, adds a dated note saying which notice went out, and saves it. - Sage 100
Match a bill to its PO and receipt
Looks up the purchase order and its receipts, and reads the ordered, received, and invoiced amounts.
More procedures
More finance procedures
Ready-made procedures in the Marketplace for collections, disputes, expense policy, and vendor terms.
- QuickBooks Online · Stripe · Slack
AR collections cycle
Weekly, extracts overdue invoices from QuickBooks and failed payments from Stripe, merges them into a per-account collections list, sends staged dunning emails by aging bucket, and posts the cash-at-risk summary to finance. - Stripe · Slack
Dispute response war room
Daily, extracts open disputes with response deadlines from Stripe, opens a thread per dispute with the evidence checklist, assigns an owner, and escalates disputes within 48 hours of deadline until evidence is submitted. - Expensify · Ramp · Slack
Expense policy violation review
Weekly, extracts out-of-policy flags from Expensify and Ramp, groups violations by person and policy rule, routes each to the approving manager for a decision, and logs dispositions for the audit trail.
NetSuite · Airbase · SlackPayment terms optimization audit
Quarterly, extracts the vendor payment terms audit from NetSuite and upcoming recurring payments from Airbase, flags vendors on worse-than-standard terms or early-payment patterns, and packages renegotiation candidates with working-capital impact for the finance lead.
Why Stepwork
The same steps in your books, and a record for the auditors
Stepwork is a deterministic agent platform: it runs the steps you recorded in your accounting system's own screens, including desktop and on-prem ones like QuickBooks Desktop and Sage 100, in the same order every time. Every run records which invoices, charges, and bills were read, what was sent, who triggered it, and when, so the audit trail matches what happened. Credentials stay in your vault, and nothing posts to your books unless a procedure is built to post it.
FAQ
Common questions
The math
What the manual version costs a finance team
Example volumes for a finance team at a mid-size company with a weekly payment run. Swap in yours.
| The manual task | Times a week | Minutes each | Hours a week |
|---|---|---|---|
| Check an overdue invoice and send its reminder | 40 | 7 | 4.7 |
| Chase a cardholder for missing receipts | 15 | 6 | 1.5 |
| Match a bill to its PO and receipt | 60 | 4 | 4 |
| Follow up a failed card payment | 8 | 10 | 1.3 |
- Hours a week
- 12
- Hours a year
- 575
- Of one full-time person
- 29%
