Map closed-won deals from your CRM into your ERP
Stepwork maps a closed deal from any CRM into a sales order or invoice in your ERP, field by field, and writes the number back. Dynamics, Act!, Sage, QuickBooks, and more.
- Use case
- CRM to ERP handoffRevOps
- Best for
- Controller, Sales Operations Manager, Billing Clerk
- Applications used
Microsoft Dynamics 365
Act!
Sage 100
QuickBooks Desktop
- Business outcome
- No deal retyped; every order number back in the CRM
The problem
The deal closes. The ERP finds out when someone retypes it.
A deal goes Closed Won in the CRM, and someone in finance rebuilds it in the ERP: the customer, the billing address, the terms, each line item. It's copy and paste between two screens, and it waits until someone has a free hour.
Every retyped field is a chance to get it wrong. A missing line item is revenue that never gets billed, a wrong address is an invoice that never arrives, and the CRM never hears the order number back, so sales can't see what was invoiced.
The math
What the manual version costs finance
Example volumes for a business closing about 25 deals a week. Swap in yours.
| The manual task | Times a week | Minutes each | Hours a week |
|---|---|---|---|
| Rebuild a closed deal as an ERP order | 25 | 20 | 8.3 |
| Invoice a closed deal | 15 | 12 | 3 |
| Update an account's balance in the CRM | 40 | 3 | 2 |
- Hours a week
- 13
- Hours a year
- 667
- Of one full-time person
- 33%
Systems
Any CRM, any ERP
The steps are the same whichever systems you run: find the customer, create it if it's new, enter the order, send the number back. Stepwork works in each system's own screens, so swapping one for another means re-recording a step, not starting over.
CRM
Microsoft Dynamics 365
Act!
GoldMine
Maximizer
SugarCRM
Zoho CRM
Salesforce
HubSpot
ERP
Sage 100
Microsoft Dynamics GP
Epicor
SAP Business One
Acumatica
Infor SyteLine
NetSuite
Accounting
QuickBooks Desktop
QuickBooks Online
Sage 50
Sage Intacct
Xero
Example procedures
Three ways a deal moves between CRM and ERP
One creates the customer only when it is new, one repeats for every line item, and one sends payment status back the other way. Swap in your CRM and ERP above each one and the steps stay the same.
Closed-won deal in Microsoft Dynamics 365 to a sales order in Sage 100
Microsoft Dynamics 365
Sage 100
Step by step
- The deal closesA deal moves to Closed Won in Microsoft Dynamics 365. That stage change starts the run with the deal and the account name.
- Stepwork reads the dealIt opens the deal and reads the billing address, the payment terms, and every line item: the fields finance would otherwise retype.
- It looks for the customerBefore creating anything, Stepwork searches Sage 100 for a customer with the account's name.
- The rule prevents duplicatesIf no customer matches, the run takes the top path and creates one. If the customer exists, it skips straight to the order.
- If new customerCreate the customer in Sage 100
- If customer existsEnter the sales order in Sage 100
- A new customer gets createdOnly for new customers: the recorded Sage 100 flow fills in the name, billing address, and terms from the deal.Only on this path: If new customer
- The sales order gets enteredBoth paths meet here. Stepwork enters the sales order against the customer, one line per product on the deal.
- The CRM hears backThe order number goes onto the deal in Microsoft Dynamics 365, so sales can see what was booked without asking finance.
Watch it run
Field map
| From | To |
|---|---|
Closed deal in Microsoft Dynamics 365 to an invoice in QuickBooks Desktop
Microsoft Dynamics 365
QuickBooks Desktop
Step by step
- The deal closesA deal moves to Closed Won in Microsoft Dynamics 365, and the run starts with its ID.
- Stepwork reads the dealIt reads the company, the billing contact's email, and each line item. Every line it finds is one pass through the loop.
- It matches the customerThe recorded QuickBooks Desktop flow finds the customer by name, or adds them if they are new, and hands on the customer reference.
- The loop adds each lineInside the dashed frame, Stepwork adds one invoice line per product, with its quantity and price. A deal with forty lines runs the same way as a deal with two.Repeats: For each line item on the deal · 6 lines
- The invoice goes outAfter the last line, the invoice is sent to the billing email from the deal.
- The CRM gets the invoice numberStepwork saves the invoice number on the deal in Microsoft Dynamics 365, so the account team can see it was billed.
Watch it run
Field map
| From | To |
|---|---|
Payment status from Sage 100 back into Microsoft Dynamics 365
Sage 100
Microsoft Dynamics 365
Microsoft Teams
Step by step
- The aging report comes inEvery Monday, Stepwork pulls the AR aging report from Sage 100. Each customer on it is one pass through the loop.
- The rule checks each accountInside the loop, the Rule card reads how many days the customer is overdue. 60 days or more takes the credit-hold path; every other account goes straight to the balance update.
- If 60+ days overduePut the account on credit hold in Microsoft Dynamics 365
- If currentUpdate the open balance in Microsoft Dynamics 365
Repeats: For each customer on the aging report · 38 customers - Overdue accounts go on holdOnly for accounts 60+ days overdue: Stepwork sets credit hold on the account in Microsoft Dynamics 365, so sales sees it before the next order.Only on this path: If 60+ days overdueRepeats: For each customer on the aging report · 38 customers
- Every balance gets updatedBoth paths meet here. The open balance on the account is updated to match Sage 100, then the loop moves to the next customer.Repeats: For each customer on the aging report · 38 customers
- Finance gets the digestAfter the last customer, Stepwork posts one digest to finance in Microsoft Teams with every balance it updated and every hold it set.
Watch it run
Field map
| From | To |
|---|---|
Flows
CRM and ERP flows these procedures use
Each flow is one recorded job in one system. Procedures string them together across the CRM and the ERP, whichever ones you run.
- Salesforce
Extract closed-won handoff packet
Extracts the closed-won opportunity's details, contacts, products, and notes into a handoff summary for onboarding. - HubSpot
Update deal stage per approved change
Locates the deal in HubSpot and updates stage, amount, or close date with a note documenting the change. - QuickBooks Online
Create invoice from approved order
Creates the customer invoice in QuickBooks Online with line items, terms, and PO reference from the approved order details.
NetSuiteExtract AR aging and overdue invoices
Runs AR aging in NetSuite and extracts overdue invoices with customer, amount, and days past due for collections.- Microsoft Dynamics 365
Read a closed deal
Opens a won deal and reads the account, billing address, terms, and line items. - Sage 100
Create a customer
Adds a customer with the bill-to address and terms from the deal. - Sage 100
Enter a sales order
Creates a sales order with one line per product on the deal. - Act!
Write a number back to a CRM record
Saves the ERP order or invoice number on the deal.
More procedures
More finance and RevOps procedures
Ready-made procedures in the Marketplace that work across the same systems.
1 moreHubSpot · Gong · NetSuite + 1 moreQuarterly board and investor RevOps pack
At quarter close, extracts HubSpot pipeline and stage progression, Gong deal-risk signals, and NetSuite bookings and revenue KPIs, reconciles metric definitions, flags material variances, and delivers a review-ready pack to leadership.- 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. 
1 more
NetSuite · QuickBooks Online · Ramp + 1 moreMonth-end close checklist runner
On close day one, extracts pending journal approvals and PO-match exceptions from NetSuite, uncategorized transactions from QuickBooks, and unreconciled card spend from Ramp, and posts the consolidated close checklist with owners to the finance channel.
Why Stepwork
Every field lands in the same place, every time
Stepwork runs the mapping you set once: which CRM field fills which ERP field, and what happens when a value is missing. A rule checks for an existing customer before creating one, so duplicates don't pile up. Because Stepwork works in each system's own screens, it doesn't matter which CRM or ERP you run, how old it is, or whether it has an API.
FAQ

