ERP API Integration Explained: REST, Webhooks, Auth and Idempotency
A plain-English explanation of ERP API integration: REST APIs, webhooks, authentication methods, idempotency, pagination, rate limits and error handling.
Integration · CRM & Marketing
Overview
We connect Salesforce and the ERP with clear ownership rules: Salesforce owns the pipeline, the ERP owns products, prices, orders, stock and invoices.
01Data
| Entity | Direction | Notes |
|---|---|---|
| Accounts & contacts | ⇄ Both | Created in Salesforce, enriched with ERP customer number, credit and terms. |
| Products & price books | ERP → App | ERP as master for products and prices used in quotes. |
| Closed-won opportunities | App → ERP | Converted into ERP sales orders with lines. |
| Order & delivery status | ERP → App | Status and tracking visible on the opportunity or order. |
| Invoices & payments | ERP → App | Invoice and overdue status shown on the account. |
02Use cases
Won deals become orders without re-entry.
Sales sees orders, deliveries and balances.
Quotes use ERP prices and availability.
03 — Architecture
Salesforce Change Data Capture or Platform Events notify the integration layer of relevant changes; the ERP side uses its own events or polling. Both feed a queue processed by the middleware.
API usage is monitored against Salesforce's daily limits, and bulk operations use the Bulk API for large initial loads.
04Reliability
A Salesforce connected app with OAuth 2.0 (JWT bearer flow for server-to-server), using a dedicated integration user with a minimal permission set.
Validation rule failures in Salesforce and mapping errors in the ERP are captured with full context and routed to an exception queue owned by sales operations.
Retries with backoff for transient errors and limit responses; duplicate prevention through external ID fields on both sides.
05 — Data mapping
| Salesforce | ERP |
|---|---|
| Account.Id | Partner (external ID)ERP number written back |
| Opportunity (Closed Won) | Sales order |
| OpportunityLineItem.Product2 | Product |
| PricebookEntry | Pricelist itemERP master |
| Invoice status (custom object) | Invoice payment state |
06 — Automation
07 — Security
The integration user has least-privilege access. Credentials and certificates are stored in a secrets manager. Field-level security applies to financial data exposed in Salesforce.
Related
Other integrations
Insights
A plain-English explanation of ERP API integration: REST APIs, webhooks, authentication methods, idempotency, pagination, rate limits and error handling.
How to integrate an ERP with eCommerce, CRM, payments and other systems: data ownership, integration patterns, middleware, error handling, monitoring and common failure modes.
How to integrate RFID readers with Odoo inventory: middleware design, mapping EPCs to products and serials, receiving and counting flows, performance and what to build vs buy.
FAQ
Usually Salesforce creates prospects and the ERP becomes master for billing data once a customer is active. We document ownership per field.
Event-driven design and batching keep usage efficient; we monitor consumption.
Yes, by synchronising products and price books from the ERP.
Next step
Describe the data that needs to move and who owns it. We will propose a design with error handling and monitoring included.