- Home
- /
- Salesforce Testing
- /
- Business Processes
- /
- Salesforce → ERP Order
Salesforce to ERP Order Testing
Salesforce to ERP order testing validates the single handoff where a Salesforce order becomes an order in the ERP — the moment of activation or submission, the mapping of header and line data, the identifiers each system stores for the other, and the acknowledgment that returns. It proves that what sales committed to in Salesforce is exactly what operations and finance receive, without duplicates, dropped lines or unexplained totals.
Cross-application journeys are on the active roadmap and available for proof-of-concept engagements, aligned to the ERP and middleware in each landscape.
Why the order handoff deserves its own test
Most Salesforce revenue journeys end with an Order record — created from a CPQ quote, a standard opportunity, or a commerce checkout — and most businesses then need that order in an ERP to fulfill, bill and recognize it. The handoff between them is often a small piece of integration logic: a record-triggered Flow or Apex publishing a platform event or an outbound call when Order Status becomes Activated, middleware transforming the payload, an ERP API creating the sales order, and a response writing the ERP order number back to Salesforce.
This page is deliberately scoped to that handoff, independent of which ERP receives it. The full downstream chain through fulfillment, invoicing and revenue is covered for Oracle by Salesforce to Oracle order-to-cash testing and for NetSuite by Salesforce to NetSuite quote-to-cash testing. Isolating the order handoff lets teams prove the most failure-prone crossing quickly and rerun it on every change, whether the target is Oracle, SAP, NetSuite, Microsoft Dynamics or a homegrown system.
What must match on both sides
The core of the test is a field-level comparison between the Salesforce order and the ERP order it produced. The exact ERP fields vary; the categories do not.
| Data element | Salesforce source | ERP assertion |
|---|---|---|
| Customer | Order AccountId and the account's ERP customer identifier | ERP order references the matching customer and bill-to and ship-to sites |
| Order identity | Order Id and OrderNumber | Stored as an external reference so the order can be traced and is never created twice |
| Lines | OrderItem records with Product2, quantity and unit price | Same number of lines, each mapped to the correct ERP item and unit of measure |
| Pricing and discounts | UnitPrice, discount and TotalPrice per line | Line amounts and order total agree within the agreed rounding rule |
| Dates and terms | EffectiveDate, subscription start and end, payment terms | Requested dates, service periods and terms carry into the ERP order |
| Currency and tax inputs | CurrencyIsoCode and tax-relevant address and exemption data | ERP order uses the same currency and receives the data it needs to calculate tax |
| Back-reference | Custom ERP order number and integration status fields | Salesforce shows the ERP order number and a success status after creation |
How order handoffs typically fail
Order integrations tend to work in the demo and fail on the variations real sales teams produce.
Duplicate orders on retry
A timeout causes middleware to resend, and the ERP creates a second order because the Salesforce identifier is not used as an idempotency key.
Dropped or merged lines
Bundle option lines, zero-price lines or lines with the same product are filtered or consolidated by the mapping, so line counts no longer agree.
Unmapped reference data
A new product, unit of measure, price book or payment term exists in Salesforce but has no ERP equivalent, and the order is rejected or defaulted.
Silent failures
The ERP rejects the order, but the error never returns to Salesforce, so the order appears activated while nothing has been fulfilled.
Change after send
A rep edits or cancels the order after it was transmitted, and the ERP never receives the change or receives it out of sequence.
Trigger timing
The integration fires on record creation instead of activation, sending draft orders or orders missing lines added moments later.
The handoff, step by step
SyntraFlow is designed to treat the order handoff as one scenario that begins in Salesforce and ends with an assertion in the ERP, using the ERP's own interfaces to read the result.
Prepare aligned reference data
Confirm the account has an ERP customer counterpart and every product, unit of measure and term on the order maps to an ERP value.
Create and activate the order
Create the order from a controlled quote or directly, then activate it as the user who normally does, confirming the integration trigger fires exactly once.
Observe the transfer
Where accessible, confirm the platform event, outbound message or middleware transaction was produced with the expected payload.
Read the ERP order
Query the ERP for the order by its Salesforce reference and compare header, lines, amounts, dates and currency against the source.
Confirm the acknowledgment
Verify the ERP order number and integration status written back to Salesforce, so sales and service see a consistent state.
Reconcile and record
Produce a field-level comparison showing where each value agreed or diverged, supported by data reconciliation testing techniques.
Negative and recovery paths
Most production incidents on order integrations come from these paths rather than the happy path.
- Force a middleware or ERP timeout and confirm a retry produces exactly one ERP order.
- Activate an order for an account with no ERP customer and confirm it fails visibly with an actionable error in Salesforce.
- Include a product with no ERP item mapping and confirm the whole order is rejected or held rather than created without that line.
- Edit quantities after transmission and confirm the change is either sent as an update or blocked by a validation rule, as designed.
- Cancel or deactivate the order and confirm the ERP order is cancelled or flagged.
- Send a large order with many lines to confirm payload limits and pagination behave.
- Replay a failed message after correcting the data, following the patterns in error recovery testing.
Middleware and where to assert
Order handoffs usually run through middleware such as MuleSoft, Oracle Integration Cloud, SAP Integration Suite, Boomi or a custom service, and sometimes through platform events consumed by the ERP side. Testing the middleware internals is valuable, but it is not a substitute for proving the business result. SyntraFlow's approach is to assert on what left Salesforce and what arrived in the ERP, so the test stays valid even when the integration layer is refactored or replaced.
Where teams want to go deeper into the integration layer itself, MuleSoft testing and platform events testing cover those mechanics. The ERP side of the assertion requires read access to the target system through its API or reporting interface; SyntraFlow can be configured to use the access the customer provides, and for Oracle it draws on the Oracle ERP testing tool.
Suggested test scenarios
A compact regression set for any Salesforce-to-ERP order handoff.
| Scenario | What it proves | Expected result |
|---|---|---|
| Standard order activation | A clean order crosses intact | ERP order matches header, lines and total |
| CPQ bundle order | Bundle structure survives mapping | Parent and option lines map as the ERP requires |
| Retry after timeout | The handoff is idempotent | Exactly one ERP order exists |
| Unmapped product | Reference data gaps are caught | Order held or rejected with a visible error |
| Post-send amendment | Changes are synchronized or prevented | ERP reflects the change, or Salesforce blocks the edit |
| Multi-currency order | Currency is preserved | ERP order in the Salesforce order currency with matching totals |
| Cancellation | Cancellations propagate | ERP order cancelled or flagged for review |
Test data across two systems
An order handoff test cannot start until both systems agree on the basics: customer, items, units of measure, price lists, currencies and payment terms. Keeping those aligned between a Salesforce sandbox and an ERP test instance, which are refreshed on different schedules, is usually the hardest part of running these tests repeatedly. Cross-system test data addresses provisioning and checking those counterparts before a run begins, so failures point at the integration rather than at missing setup.
Evidence from a run should include the Salesforce order at activation, the integration transaction reference where available, the ERP order as read back, and the reconciliation result. Rerun after every Salesforce release, ERP patch or middleware deployment, this gives both application teams a shared, objective view of whether the handoff still works.
Related pages
Business Processes
The full library of Salesforce business process tests this handoff belongs to.
Salesforce to Oracle Order-to-Cash Testing
The full order-to-cash chain when the receiving ERP is Oracle.
Quote-to-Contract Testing
How the accepted quote and order that feed this handoff are created.
Salesforce Integration Testing
The pillar covering integration patterns, middleware and reconciliation in depth.
Data Reconciliation Testing
Techniques for comparing records field by field across two systems.
Cross-System Test Data
Aligning customers, items and terms between Salesforce and the ERP.
Salesforce → ERP Order testing FAQs
What is Salesforce to ERP order testing?
It is testing the handoff that turns a Salesforce order into an ERP order. The test activates or submits the order in Salesforce, reads the resulting order in the ERP, and reconciles customer, lines, amounts, dates, currency and identifiers on both sides, including the acknowledgment written back to Salesforce.
How does this differ from full order-to-cash testing?
This page focuses on the order handoff itself, which applies regardless of the ERP. Order-to-cash testing continues through fulfillment, invoicing and revenue in a specific ERP. Many teams start with the handoff because it is the most failure-prone step and the quickest to automate.
Which ERPs can this approach cover?
The approach is ERP-agnostic: prove what left Salesforce and what arrived in the target system. SyntraFlow is designed with Oracle-native depth and can be configured to read other ERPs through the interfaces available in the customer's landscape. Specific targets are confirmed per engagement.
Why test retries and duplicates explicitly?
Network timeouts and middleware retries are normal in production. If the ERP does not use the Salesforce order identifier to detect a repeat, a retry creates a second order that may be fulfilled and billed. A deliberate retry scenario is the only reliable way to prove idempotency.
Do we need access to the ERP to run these tests?
Yes, read access to a non-production ERP instance is needed to assert the order that was created. The access method depends on the ERP and what the customer provides, such as an API user or reporting interface. Without it, a test can only prove that Salesforce sent something.
Is Salesforce to ERP order testing available in SyntraFlow today?
Cross-application journeys are on the active roadmap and available for proof-of-concept engagements. The ERP, middleware and order types in scope are agreed per engagement.
Prove every order lands in the ERP intact
Walk through your Salesforce-to-ERP order handoff and see how both ends can be reconciled in one test.