A mid-sized Australian equipment supplier ran Salesforce for sales, a warehouse management system for pick and dispatch, and MYOB for finance — connected by manual CSV exports and a brittle set of macros maintained by a departing staff member. Small Pea Software delivered an integration hub that synchronised orders, inventory reservations, shipments, and invoicing with observable, recoverable data flows.
Client Context
The supplier ships several thousand line items monthly from two warehouses in Sydney and Adelaide. Sales teams closed opportunities in CRM with promised delivery dates that warehouse staff could not see until orders appeared in overnight batches — often with SKU mismatches or missing freight instructions. Finance invoiced from shipment notes re-keyed into MYOB, introducing delays and occasional quantity errors that strained client relationships.
Previous integration attempts used point-to-point scripts without monitoring. When a script failed silently, stock allocations drifted until a cycle count exposed discrepancies. Leadership mandated a supportable architecture with clear ownership, Australian-business-hours alerting, and documentation their internal IT contractor could operate.
Problems to Solve
Order-to-cash latency averaged four business days from CRM win to invoice, with twenty percent of orders requiring manual correction. Inventory available-to-promise figures in CRM were stale, causing sales to commit stock already allocated to other clients. Returns and credit notes followed a separate manual path that finance reconciled weekly with growing backlog.
No correlation identifier linked records across systems — troubleshooting meant comparing timestamps and hoping descriptions matched. Audit requests for "show the trail for order 8842" consumed hours of cross-system searching.
Technical Approach
We implemented a hub-and-spoke integration layer hosted in AWS Sydney, using event-driven processing where vendors supported webhooks and scheduled reconciliation jobs elsewhere. Each entity — customer, product, order, shipment, invoice — received a canonical identifier mapped in a registry table with source-system keys. Transformations applied validation rules before writes, rejecting records into quarantine queues rather than polluting downstream systems.
Idempotent upsert patterns ensured retries did not duplicate shipments or invoices. CRM remained authoritative for commercial terms; warehouse for pick status and serial numbers; finance for tax codes and GL mapping. Conflict rules documented precedence and required human approval for exceptions such as partial shipments against single invoice requests.
Challenges
SKU catalogues diverged between CRM product bundles and warehouse pick units. We introduced a normalization layer with conversion factors maintained by product managers through an admin UI. MYOB API limitations required batch invoice creation with strict sequencing; concurrent writes triggered locks resolved through serialized job processing.
Cutover during peak season was rejected by operations. We ran eight weeks of shadow mode — hub processed events but did not write to production finance until reconciliation matched within agreed tolerances. Two major clients with custom pricing tables needed extended mapping workshops to avoid invoice rejections at go-live.
Solutions Delivered
The hub provides real-time order push from CRM to warehouse upon approval, with reservation feedback updating available quantities in CRM within minutes. Shipment confirmations trigger invoice drafts in MYOB with linked line references and freight surcharges applied from rate tables. Returns initiate reverse flows with credit note proposals requiring finance approval above threshold amounts.
Operational dashboards display sync lag, error categories, and replay controls for authorised administrators. Structured logs retain ninety days of correlation traces for support without storing unnecessary personal data. Runbooks cover credential rotation, vendor API upgrades, and disaster recovery restore validated quarterly.
Measurable Outcomes
Order-to-invoice cycle time reduced from four days to next-business-day for standard shipments — a seventy-five percent improvement on median. Manual order correction rate fell from twenty percent to under four percent within three months post cutover. CRM available-to-promise accuracy exceeded ninety-eight percent in weekly sampling against warehouse counts.
Finance month-end reconciliation hours dropped by an estimated sixty percent due to consistent cross-system identifiers and automated shipment-to-invoice linkage. Integration incidents now resolve in hours with alerting rather than surfacing days later during stock takes. The client extended engagement for hub enhancements including EDI listener additions for two enterprise retail clients.
Sales staff began trusting available-to-promise figures in CRM again, which changed commercial behaviour as much as the integration metrics suggested. Warehouse supervisors stopped maintaining shadow spreadsheets because exception queues surfaced mapping failures before they became stock discrepancies. That recovery of cross-team trust is often the hardest outcome to quantify but the easiest to recognise in day-to-day meetings.