ERP & Custom API Integrations
Synplex does not provide out-of-box ERP or warehouse integrations. This guide is for technical teams that want to build a custom integration between Synplex and another business system.
When you need a custom integration
| System type | Examples | What you would sync |
|---|---|---|
| Accounting / ERP | QuickBooks, NetSuite, SAP, Xero | POs created in Synplex pushed to the accounting system as bills or purchase orders |
| 3PL / Warehouse | ShipBob, Flexport, custom WMS | Stock levels from the warehouse pulled into Synplex in real time |
| Demand forecasting | Custom ML models, statistical tools | Historical order data sent out, refined forecasts returned |
| Order management / POS | Custom POS, multi-channel OMS | Orders from non-Shopify channels included in demand analysis |
| Internal systems | Custom inventory, invoicing, or reporting tools | Any data flow your business requires |
Custom integrations are not needed for standard Synplex usage. If you only sell through Shopify and manage purchasing through Synplex, the built-in Shopify connection covers everything.
How custom integrations work
A custom integration is a piece of middleware you build and host. It sits between Synplex and your other system, listens for events on one side, translates the data, and pushes it to the other side.
The typical build time for a straightforward integration (for example, pushing new POs to QuickBooks) is one to four weeks depending on the complexity of both APIs and the data transformation required.
Integration components
Authentication
Most integrations use one of these approaches:
- OAuth — the user authorises the connection through a login flow. No passwords are shared. Recommended where supported.
- API keys — a key is generated in your system's settings and provided to the integration. Treat API keys like passwords — store them securely and rotate them if compromised.
- IP whitelisting — restrict your system to only accept requests from known Synplex IP addresses as an additional security layer.
Webhooks for real-time sync
Synplex can emit events when key things happen, allowing your integration to react immediately rather than polling on a schedule. Relevant events include:
- PO created
- PO status changed (draft → confirmed → shipped → received)
- Inventory levels updated
- Forecast adjusted
Subscribing to webhooks rather than polling reduces load on both systems and keeps data more current.
Data mapping
Each system uses its own field names and data structures. Your integration needs to translate between them. A simple example mapping a Synplex PO to a QuickBooks bill:
| Synplex PO field | QuickBooks bill field |
|---|---|
supplier_id | vendor_id |
order_date | bill_date |
items[].product_name | line_items[].description |
items[].quantity | line_items[].qty |
items[].unit_cost | line_items[].amount |
total_amount | total |
Error handling
Plan for failures from the start. A robust integration should:
- Retry failed requests three to five times with exponential backoff before giving up
- Log every request and response so failures are diagnosable
- Alert you when syncs fail — either by email or a monitoring dashboard
- Queue failed records for manual review rather than silently dropping them
When your system comes back online after downtime, have a mechanism to replay or re-sync missed events for that window.
Rate limiting
All APIs impose rate limits. Your integration should respect them:
- Track how many requests have been made in the current window
- Queue requests and spread them out if approaching the limit
- Handle
429 Too Many Requestsresponses gracefully with a backoff and retry
Common integration patterns
ERP / accounting — Synplex → QuickBooks or NetSuite
When a PO is created or confirmed in Synplex, the integration creates a corresponding bill or purchase order in the accounting system. When the PO is received in Synplex, the integration marks the bill as received. This keeps cash flow forecasting and accounts payable accurate without any double entry.
3PL / warehouse — warehouse system → Synplex
When stock is received or adjusted at the warehouse, the 3PL system updates its inventory. The integration reads that change and updates Shopify inventory levels, which Synplex then picks up via webhook. This ensures Synplex always reflects real warehouse stock rather than just Shopify's record.
Demand forecasting — Synplex ↔ forecasting tool
Synplex sends historical order data to the forecasting tool on a schedule. The tool runs its models and returns refined forecasts. Synplex uses those forecasts for supply planning. This pattern is useful when you need more sophisticated forecasting than Synplex's built-in models — for example seasonal adjustment, promotional lift modelling, or machine learning approaches.
Building your integration
1. Check API availability
Contact support at support@synplex.dev to confirm API access for your plan and to get API documentation. Confirm that your other system also has a public API — most modern tools do.
2. Plan the data flow
Before writing any code, map out:
- Which system is the source of truth for each piece of data
- Which direction data flows (A → B, B → A, or both)
- How often it needs to sync (real time, hourly, daily)
- What happens when a sync fails
3. Choose your technology
- Node.js — well suited for webhook handlers and real-time integrations; large ecosystem of API client libraries
- Python — well suited for scheduled batch jobs and data transformation; strong support for async processing
- No-code tools (Zapier, Make) — viable for simple one-directional syncs; limited flexibility for complex data mapping or error handling
4. Develop and test
Test against sandbox or staging environments for both systems before touching production data. Cover the unhappy paths — what happens if a required field is missing, if the destination system is down, or if a duplicate record is sent.
5. Monitor in production
Once live, set up monitoring from day one:
- Check logs daily for errors or failed syncs
- Spot-check data weekly — does the QuickBooks bill match the Synplex PO?
- Review API changelogs monthly — vendors update their APIs and breaking changes happen without warning
Troubleshooting
Integration stopped syncing Check whether API credentials have expired — many systems issue tokens with a fixed expiry. Verify the connection is still active by making a test API call. Check whether the vendor recently published an API changelog that indicates breaking changes.
Some records sync, others fail Check the integration logs for the specific error message on failing records. Common causes are a required field that is missing on certain records, a field value that exceeds a length or format constraint, or a rate limit being hit during bulk syncs.
Syncing is slow If you are making one API request per record, switch to batching — most APIs support sending ten to fifty records per request. Use asynchronous processing so your integration does not block waiting for each response before sending the next one. Add caching to avoid re-syncing records that have not changed.
Getting help
For questions about Synplex API access or to discuss your integration requirements, contact support@synplex.dev. Include a description of the system you want to integrate, the data you need to sync, and the direction of the flow.
Related
- Integrations Overview — overview of all integrations
- Supplier Catalog Integrations — built-in supplier integration, no custom development needed
- Creating Purchase Orders — what data a PO contains