Skip to main content

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 typeExamplesWhat you would sync
Accounting / ERPQuickBooks, NetSuite, SAP, XeroPOs created in Synplex pushed to the accounting system as bills or purchase orders
3PL / WarehouseShipBob, Flexport, custom WMSStock levels from the warehouse pulled into Synplex in real time
Demand forecastingCustom ML models, statistical toolsHistorical order data sent out, refined forecasts returned
Order management / POSCustom POS, multi-channel OMSOrders from non-Shopify channels included in demand analysis
Internal systemsCustom inventory, invoicing, or reporting toolsAny 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 fieldQuickBooks bill field
supplier_idvendor_id
order_datebill_date
items[].product_nameline_items[].description
items[].quantityline_items[].qty
items[].unit_costline_items[].amount
total_amounttotal

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 Requests responses 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.