ERP & Custom API Integrations
Note: Synplex doesn't provide out-of-box ERP integrations. This guide is for teams that want to build custom integrations with their own systems.
When to Use Custom Integrations
If you need to connect Synplex to a system that's not pre-built:
Accounting / ERP
├─ QuickBooks, NetSuite, SAP, Xero
├─ Sync POs to GL accounts
├─ Track invoices and payments
└─ For: Finance teams wanting full visibility
3PL / Warehouse Management
├─ ShipBob, Flexport, custom WMS
├─ Sync inventory levels from warehouse
├─ Receive picking and shipping updates
└─ For: Multi-location businesses
Demand & Forecasting
├─ Shopify Flow, custom forecasting tool
├─ Send demand data to Synplex
├─ Receive refined forecasts back
└─ For: Advanced planning
Order Management / POS
├─ Custom POS systems, order management platforms
├─ Sync orders beyond Shopify
├─ Get demand visibility across channels
└─ For: Multi-channel sellers
Internal Systems
├─ Custom inventory, invoicing, or reporting systems
├─ Any system with an API
└─ For: Highly specific business needs
How Custom Integrations Work
You have:
├─ Synplex (data: products, POs, inventory, forecasts)
└─ Your system (data: orders, invoices, stock, forecasts)
You want:
├─ Data to flow between them automatically
└─ Real-time or scheduled sync
Solution:
├─ Build an integration using Synplex API
├─ Listen for events (webhooks)
├─ Push/pull data as needed
└─ Typical: 1–4 weeks of development
Real Example: QuickBooks Integration
Goal: When a PO is created in Synplex, automatically add it to QuickBooks as a bill.
Data Flow
Day 1: Create PO in Synplex
├─ Supplier: Nike
├─ Items: 100x shoes @ $50/unit = $5,000
├─ Status: Pending
Synplex API fires:
├─ Event: "PO created"
└─ Data includes: supplier, items, amounts
Your integration reads event:
├─ Extracts: supplier name, line items, cost
├─ Calls: QuickBooks API to create bill
├─ QB bill now shows: Nike bill for $5,000
Result:
├─ Finance can track: PO → bill → payment in QB
└─ Cash flow forecasting works correctly
Integration Components
1. Authentication
Connect Synplex to your system securely:
OAuth (recommended)
├─ You log in via your system
├─ Grant Synplex permission to access it
└─ No passwords shared
API Keys
├─ Generate key in your system settings
├─ Provide to Synplex integration
└─ Treat like a password (keep private)
IP Whitelisting
├─ Only allow requests from Synplex servers
└─ Extra security layer
2. Webhooks (Real-Time Sync)
Listen for events in Synplex:
Synplex Events
├─ "PO created"
├─ "PO status changed" (pending → shipped → received)
├─ "Inventory updated"
└─ "Forecast adjusted"
Your Integration subscribes:
├─ "Tell me when a PO is created"
└─ "I'll immediately send it to QuickBooks"
Advantage:
├─ No polling (checking constantly)
├─ Real-time data
└─ Less load on both systems
3. Data Mapping
Match fields between systems:
Synplex PO: QuickBooks Bill:
├─ supplier_id → vendor_id
├─ order_date → bill_date
├─ items (array) → line_items (array)
│ ├─ product_name → description
│ ├─ quantity → qty
│ └─ unit_cost → amount
└─ total_amount → total
Your integration translates between formats.
4. Error Handling
What happens if sync fails?
Synplex sends webhook:
├─ Your system is temporarily down
└─ Request times out (no response)
Integration should:
├─ Retry 3–5 times with exponential backoff
├─ Log the error
├─ Alert you (email or dashboard notification)
├─ Create a "sync queue" for manual review
└─ Don't lose data
When your system comes back online:
├─ Retry failed syncs manually
└─ Or re-sync for that date range
5. Rate Limiting
APIs have limits (e.g., "100 requests per minute"):
Your integration should:
├─ Respect API rate limits
├─ Queue requests if hitting limit
├─ Spread syncs over time
└─ Monitor usage, alert if approaching limits
Common Integration Patterns
Pattern 1: ERP / Accounting
Flow: Synplex → QuickBooks / NetSuite
Step 1: PO created in Synplex
Step 2: Webhook fires
Step 3: Integration creates bill in QB
Step 4: Finance monitors cash flow
Useful for:
├─ Cost control (actual PO costs vs. budget)
├─ Cash flow forecasting
├─ Audit trail (all orders tracked)
└─ Approval workflows (QB can flag large orders)
Pattern 2: 3PL / Warehouse
Flow: 3PL → Synplex
Step 1: You receive stock at 3PL
Step 2: 3PL updates inventory in their system
Step 3: Integration syncs stock to Synplex
Step 4: Synplex updates your inventory levels
Useful for:
├─ Real-time multi-location inventory
├─ Prevent overselling
├─ Understand inbound stock
└─ Track warehouse movements
Pattern 3: Demand Forecasting
Flow: Synplex → Forecasting tool → Synplex
Step 1: Synplex sends last 90 days orders to tool
Step 2: Tool runs ML/statistical models
Step 3: Tool returns refined forecast
Step 4: Synplex uses forecast for supply planning
Useful for:
├─ Advanced forecasting (beyond simple averages)
├─ Seasonal adjustments
├─ Promotional impact modeling
└─ Accuracy improvements
Building Your Integration
Step 1: Check API Documentation
- Does Synplex have an API? (Yes, available to Enterprise plans)
- Does your other system have an API? (Most modern tools do)
- Are there webhooks available?
Step 2: Plan the Data Flow
Draw a diagram:
├─ System A (source of data)
├─ Integration (translator)
└─ System B (destination)
Example: Synplex → Custom QB integration → QuickBooks
Step 3: Choose Technology
Common languages for integrations:
Node.js / JavaScript
├─ Fast to build
├─ Great for webhooks
└─ Good libraries for most APIs
Python
├─ Great for data transformation
├─ Scheduled jobs (daily syncs)
└─ Strong error handling
Zapier / Make (no-code)
├─ No coding required
├─ Limited flexibility
└─ Good for simple syncs (QB, Slack, etc.)
Step 4: Develop & Test
Local testing:
├─ Connect to sandbox/test environments
├─ Create test PO in Synplex
├─ Verify it appears in QB test
└─ Check all fields match
Staging:
├─ Run integration in non-production
├─ Test error cases (what if QB is down?)
├─ Monitor logs
Production:
├─ Deploy integration
├─ Monitor for errors
├─ Be ready to roll back
Step 5: Monitor & Maintain
Daily:
├─ Check logs for errors
├─ Verify recent syncs completed
└─ Monitor API rate limits
Weekly:
├─ Review sync statistics
├─ Spot check data (does QB bill match Synplex PO?)
└─ Look for patterns in failures
Monthly:
├─ Review API changes (vendors update APIs)
├─ Performance review (is it fast enough?)
└─ Gather feedback from users
Troubleshooting Custom Integrations
"Integration stopped syncing"
Possible causes:
- API credentials expired
- Vendor changed API
- Network issue
Solutions:
- Check integration logs
- Verify API connection is active
- Test manually (call API from command line)
- Contact vendor support if API changed
"Some syncs work, some fail"
Possible causes:
- Data validation error (field is required but missing)
- Rate limiting (too many requests)
- Field mapping wrong for certain records
Solutions:
- Check logs for specific error messages
- Add validation before sending (check required fields)
- Add delays between requests
- Fix mapping for edge cases
"Syncing is slow"
Possible causes:
- Making one request at a time (no batching)
- Large data volume
- Waiting for confirmations
Solutions:
- Batch requests (sync 10 POs at once, not 1 by 1)
- Use asynchronous processing (don't wait for each response)
- Add caching (don't re-sync unchanged data)
Next Steps
- Identify your system – What do you need to integrate?
- Check APIs – Do both systems have APIs?
- Plan data flow – What data flows which direction?
- Get help – Reach out to Synplex support or hire a developer
- Start small – Build one sync first (e.g., just PO creation), expand later
Related
- Integrations Overview — Overview of all integrations
- Supplier Catalog Integrations — Built-in integration (easier than custom)
- Creating Purchase Orders — What data a PO contains