ERP Integration Services

An ERP that doesn't talk to your CRM, your e-commerce platform, or your WMS isn't a system of record -- it's another silo with a bigger price tag.

ERP integration connects your ERP to the systems around it -- CRM for customer and order data, e-commerce for online sales, WMS for warehouse operations, payroll for HR data, supplier portals for purchasing, and banking feeds for financial reconciliation. Without integration, data is entered twice -- once in the originating system and once in the ERP -- creating the reconciliation work and the errors that come with manual re-entry. RaftLabs designs and builds ERP integrations using API-based connections, EDI, and file-based transfer for systems that don't expose APIs. Bidirectional sync with conflict resolution, data transformation between schemas, error handling for failed transfers, and monitoring so integration failures surface to your team before they cause business impact.

  • Bidirectional sync between ERP and CRM -- orders, customers, and invoices in one place
  • E-commerce integration creating ERP orders from web sales and pushing fulfilment status back
  • EDI integration for supplier and retail trading partner connections that require structured data exchange
  • Integration monitoring with alerting when a sync fails -- so you know before data discrepancies appear in reports
See our work

Recent outcomes

Voice AI · Research

Text-based interviews converted to automated phone calls

6× deeper insights

AI Automation · Ops

Manual invoice OCR across 40+ gas stations

20k+ txns day one

Loyalty · Retail

SuperValu & Centra loyalty platform with receipt validation

1,062 users in 4 weeks

SaaS · Logistics

Multi-carrier shipping hub for Indonesian eCommerce

2,000+ shipments yr 1
4.9 / 5 on ClutchSee all work

RaftLabs designs and builds ERP integrations -- bidirectional sync between ERP and CRM, e-commerce, WMS, payroll, banking, and supplier systems -- using API connections, EDI, and file-based transfer. Error handling, conflict resolution, and monitoring included. Most ERP integration projects deliver in 6 to 14 weeks at a fixed cost.

Trusted by

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures

The business case for ERP usually rests on having a single system of record. That case collapses when the ERP sits in isolation from the systems that generate the data it's supposed to consolidate. Orders come in through e-commerce but get keyed into the ERP by hand. Customers exist in the CRM but not in the ERP, so invoices have to be created from scratch. Inventory levels are correct in the WMS but the ERP shows yesterday's numbers because the sync runs overnight. The system of record becomes the system everyone works around.

ERP integration engineering is distinct from building the ERP itself. Integration requires understanding two data schemas, mapping between them, handling the cases where they don't align, managing the sequence of operations when transactions depend on prior records existing in both systems, and building the error handling and monitoring that makes the integration trustworthy in production over time. A working integration on day one that drifts into silent failure six months later creates more data reconciliation work than no integration at all.

Capabilities

What we build

CRM integration

Bidirectional sync between your ERP and CRM using platform-native APIs and event-driven triggers for sub-minute propagation rather than overnight batch jobs. CRM platforms integrated: Salesforce (REST API v57+, Apex triggers for outbound events, Connected App OAuth 2.0 authentication), HubSpot (Workflows webhook action for outbound, HubSpot Contacts and Deals API v3 for inbound), Pipedrive (Webhooks v1 for events, Pipedrive API v1 for reads and writes), Microsoft Dynamics 365 CRM (Dataverse Web API OData v4), and Zoho CRM (Zoho Webhook + REST API). ERP platforms integrated: SAP (RFC/BAPI calls via SAP JCo or SAP RFC API; SAP Business Eventing for outbound; OData v4 for S/4HANA Cloud), Oracle ERP Cloud (REST API v19A+), NetSuite (SuiteTalk REST API), Microsoft Dynamics 365 Business Central (OData v4), and Odoo (XML-RPC or REST). Quote-to-order flow: deal-won event in CRM triggers an ERP order creation call with field mapping defined during scoping (deal line items to order SKU/quantity, deal shipping address to delivery address, negotiated price to price override, customer ID mapped to ERP customer master reference); the ERP-assigned order number is written back to the CRM deal record as an external reference within 30 seconds. Invoice and payment visibility in CRM: ERP invoice creation event pushes invoice number, amount, due date, and payment status to a custom object or associated record in the CRM so account managers see the full billing picture for any account without ERP access. Conflict resolution: the CRM is the system of record for contact data, relationship data, and deal stage; the ERP is the system of record for financial data, credit limits, and payment terms; conflict resolution rules enforce these boundaries per field type.

E-commerce integration

E-commerce to ERP order integration connecting web sales directly to ERP order creation -- eliminating the manual order entry that ops teams perform between checking orders in the e-commerce back end and keying them into the ERP. Platforms integrated: Shopify (Shopify Webhooks orders/create and orders/updated events, Shopify Admin GraphQL API for order data); WooCommerce (WooCommerce REST API v3 + WooHooks for order events); Magento 2 (Magento REST API + observer events); Amazon SP-API (Selling Partner Notifications API for order events); eBay (eBay Fulfillment API); Etsy (Etsy API v3). Order mapping: e-commerce order data is transformed to the ERP's order schema during import -- shipping address fields normalised to ERP address format, product SKU matched to ERP item master (with auto-creation of new SKUs if configured, or error alert if SKU not found), discount codes translated to price adjustment lines, gift messages included as order notes. Customer master: new customers created in ERP at first order import (with configurable deduplication by email address to prevent creating a new customer record for every repeat order from the same buyer). Inventory sync from ERP to e-commerce: available quantity per SKU per location pushed to Shopify Inventory API or WooCommerce Product API on every ERP inventory movement -- not on a nightly schedule -- so stock levels on the e-commerce platform reflect actual ERP availability within minutes. Oversell buffer: configurable safety stock offset per SKU (show 5 fewer than ERP available) to account for the propagation delay between a pick confirmation in the ERP and the e-commerce platform receiving the updated inventory level. Fulfilment status and tracking: ERP dispatch confirmation (carrier, tracking number, dispatch date) pushed to Shopify Fulfillment API or WooCommerce order status to trigger customer dispatch notification from the e-commerce platform.

EDI integration for trading partners

EDI integration for the trading partner and supplier connections that still require structured data exchange rather than REST API connectivity -- large retailers (Walmart, Target, Amazon Vendor Central, Sainsbury's, Tesco EDI), wholesale distributors, and logistics providers typically mandate EDI for order management, fulfilment, and invoicing. ANSI X12 document types supported: 850 (purchase order), 855 (PO acknowledgement), 856 (advance ship notice / ASN), 810 (invoice), 832 (price/sales catalogue), 846 (inventory inquiry/advice), 820 (payment order/remittance advice), 997 (functional acknowledgement). EDIFACT equivalents: ORDERS, ORDRSP, DESADV, INVOIC, PRICAT, INVRPT. Transport protocols: AS2 (applicability statement 2 -- the predominant transport for direct EDI connections) using Mendelson AS2 or OpenAS2 for AS2 session management; SFTP for trading partners that prefer file-drop exchange; VAN (value-added network) connectivity via OpenText (formerly GXS), SPS Commerce, TrueCommerce, or Cleo for indirect connections where the trading partner mandates a specific VAN. EDI-to-ERP translation: inbound EDI documents parsed, validated against the trading partner's implementation guide (envelope structure, segment requirements, field length and format constraints), and translated to ERP transaction format (SAP IDoc, NetSuite CSV import, custom API call); outbound ERP data translated to EDI and transmitted to the trading partner's endpoint. Acknowledgement tracking: 997 Functional Acknowledgement processed for every outbound transaction; alert generated if an acknowledgement is not received within the configured window (typically 24 hours for supplier POs, 2 hours for ASNs sent to retailers with same-day shipping requirements). Trading partner onboarding documentation: each partner's implementation guide, segment requirements, and field mapping specification documented in the integration specification that maps ERP fields to EDI segment/element positions.

Banking and payment integration

Bank feed integration automating the daily manual work of importing bank statement transactions into ERP accounts payable and receivable -- a task that consumes 1--3 hours of finance team time per day in businesses with high transaction volumes. Open Banking API integration (UK: Plaid UK, TrueLayer, Moneyhub supporting FCA-regulated open banking; EU: PSD2-compliant bank API providers; US: Plaid, MX, Finicity for US bank data) connecting directly to your business bank accounts to pull transactions daily (or real-time with webhook-capable banks) and import them into the ERP's bank transaction register. BACS/Faster Payments/CHAPS payment file export: ERP payment runs exported in BACS Service User format (18-column format for Bacs Direct Credit) or Faster Payments bulk file format for same-day payment; file delivered to the bank via SFTP, API (Lloyds Commercial API, NatWest/RBS Bankline API, Barclays iPortal API, HSBC HSBCnet API), or secure email per bank's requirements; payment confirmation status imported back to ERP to update AP payment status. SEPA Credit Transfer (SCT) and SEPA Direct Debit (SDD) pain.001 XML file export for EUR payment runs via European banks. Payment gateway reconciliation: Stripe payout events received via Stripe Webhooks (payout.paid, payout.failed) with payout reconciliation matching the Stripe payout amount to the sum of charges less fees for the payout period; discrepancies flagged as reconciliation exceptions for finance review. Bank statement reconciliation matching: imported transactions matched to open AR invoices (by amount and reference), AP payments (by payment reference), and known recurring items (payroll, rent, subscriptions) using configurable matching rules; unmatched transactions surfaced in a reconciliation exceptions queue for manual coding.

WMS and 3PL integration

Warehouse management system (WMS) and 3PL integration connecting ERP order management to warehouse execution systems so the fulfilment process runs end-to-end without manual handoffs between departments at each stage transition. WMS platforms integrated: SAP EWM (Extended Warehouse Management) via SAP RFC/BAPI or SAP Event Mesh; Oracle WMS Cloud REST API; Manhattan Associates WMS via REST API; Infor WMS REST API; Deposco REST API; custom WMS systems via REST API or database-level integration. 3PL platforms integrated: ShipBob API, ShipHero API, Fulfillment by Amazon (FBA) via SP-API, DHL Supply Chain EDI interface, and bespoke 3PL systems via custom API or file-based transfer. Integration flows built for the full fulfilment lifecycle: ERP sales order confirmed -- pick instruction dispatched to WMS/3PL; WMS/3PL pick completed -- pick confirmation received by ERP updating the order status; WMS/3PL dispatches goods -- shipment confirmation with carrier tracking number received by ERP, updating delivery status and triggering the customer dispatch notification; goods receipt at WMS dock -- receipt confirmation sent to ERP to post the inventory increase and update the open PO as received. Inventory level sync: real-time available inventory per SKU per location (on-hand minus allocated) synchronised from WMS to ERP on each inventory movement event; prevents the ERP's MRP planning from running on inventory data that is hours old. Returns processing: return receipt notification from 3PL (carrier scan, goods condition assessment) triggers ERP stock adjustment (return to available, return to quarantine for inspection, or write-off based on condition) and the AR credit note generation process for the originating customer order.

Integration monitoring and error management

Integration monitoring infrastructure making every sync visible and every failure surfaced before it causes downstream data problems -- because a silent integration failure discovered three days later means three days of data that must be manually reconciled. Per-integration health dashboard: event count per hour, success rate (successful records / total records attempted), average processing latency, and DLQ depth displayed per integration flow; trend charts showing 30-day history so gradual degradation is visible before it becomes a failure. Alerting thresholds configurable per integration: critical alert (PagerDuty page, immediate SMS) when a business-critical integration (order import, stock sync) has zero successful events in 30 minutes during business hours; warning alert (Slack notification, email) when success rate drops below 95% over a rolling 1-hour window; informational alert when DLQ depth exceeds 10 items (requires investigation but not immediate response). Error classification and routing: each error is classified by type (validation failure, target system error, network timeout, schema mismatch, authentication failure) so the responsible team receives the alert (data team for schema mismatches, ops team for ERP unavailability, platform team for authentication failures). Dead letter queue management interface: failed records displayed with the original payload, the error reason, the ERP error response, and the recommended resolution action; correction and manual replay available from the interface without requiring code deployment. Reconciliation report: daily automated comparison of record counts and key field checksums between source and target systems per integration; discrepancies between what the source sent and what the target received are logged and alerted even when no explicit error was thrown during processing. Integration health SLA reporting: weekly summary of integration uptime, success rate by integration, DLQ volumes, and mean time to resolution for DLQ items -- the operational scorecard for the integration layer.

Have an ERP integration project?

Tell us the systems you need to connect, the data that needs to flow between them, and where manual re-entry creates the most pain. We'll scope it and give you a fixed cost.

Frequently asked questions

Legacy ERP systems without REST APIs can be integrated through alternative approaches: database-level integration reading from and writing to the ERP database directly (requires schema access and creates risk if the schema is not documented); file-based integration using export/import files in CSV or XML format that most legacy ERPs support; RPA-based integration as a last resort when no programmatic access is available. The right approach depends on what access the ERP vendor allows and what latency is acceptable for the integration. We assess each legacy ERP's integration options during discovery.

Conflict resolution is configured per integration based on the data ownership model. The most common approach is to designate one system as the master for each data type: the ERP owns customer financial data, the CRM owns contact and activity data, and the conflict resolution rule enforces the master's value when both change simultaneously. For bidirectional integrations where either system can legitimately be updated, timestamp-based resolution (last write wins) or human review for flagged conflicts is configured based on the business impact of the data type.

A single point-to-point integration between ERP and one system -- CRM sync or e-commerce order import -- typically takes 4 to 8 weeks. A more complex integration with multiple systems, EDI trading partner connections, and full monitoring typically takes 10 to 18 weeks. Timeline depends on the number of systems, the quality of APIs available, and the complexity of data transformation between schemas.

Failed transfers are handled with transactional patterns where possible -- either all records in a batch transfer or none, preventing partial loads. Records that fail individual processing go to a dead letter queue for investigation and retry rather than being silently dropped. Monitoring alerts fire when failure rates exceed threshold or expected record counts aren't delivered. Every integration includes a reconciliation process -- comparing record counts and key values between systems after each transfer -- to detect silent failures that don't produce explicit errors.

Work with us

Tell us what you need. We'll tell you what it would take.

We scope ERP Integration Services in 30 minutes. You walk away with a clear cost, timeline, and approach. No commitment required.

  • Scope and cost agreed before work starts. No surprises. No obligation.
  • Working prototype within 3 weeks of kickoff.
  • Pay by milestone. You see progress before each invoice.
  • 60-day post-launch warranty. Bug fixes, UI tweaks, and deployment support. No retainer.
  • All conversations are NDA-protected.