Infor CloudSuite and ShipBob integration
Infor CloudSuite runs procurement and supply chain operations. ShipBob runs order fulfillment and warehouse logistics. Connecting the two keeps inventory levels accurate and fulfillment status visible in your ERP. Sales orders fulfilled through ShipBob update cost and inventory accounts in Infor CloudSuite's general ledger, and receiving documents from ShipBob warehouse arrivals are recorded as inventory transactions. ml-connector bridges the different APIs and keeps the two systems synchronized on a schedule you control.
What moves between them
The main flow runs from ShipBob into Infor CloudSuite. When ShipBob receives an order, ml-connector converts it into a sales order or purchase replenishment order in Infor CloudSuite mapped to the correct customer and item master. Shipment events from ShipBob (order.shipped, order.shipment.delivered) update inventory transaction records in Infor CloudSuite to reflect stock issued from fulfillment. Warehouse receiving orders (wro.created, wro.completed) from ShipBob inbound shipments become receiving transactions in Infor CloudSuite, increasing inventory on hand and posting the receipt to the GL. All transactions carry the original ShipBob order and shipment IDs for traceability and can be audited back to source.
How ml-connector handles it
ml-connector stores both credential sets encrypted and calls Infor CloudSuite via the ION API Gateway, constructing the tenant-specific base URL from stored .ionapi credentials and building OAuth2 requests with the client credentials. It refreshes Infor tokens proactively before the configured lifetime expires (typically 1 to 24 hours per tenant). On the ShipBob side, ml-connector receives webhook events for orders, shipments, and warehouse receiving activities, verifies each webhook signature with HMAC-SHA256 using the registered secret, and then converts the fulfillment records into the corresponding Infor entity types: orders become SO or PO lines with the item master lookup, shipments become inventory issue transactions, and receiving orders become goods receipt transactions. Items are matched by SKU or product code; if a SKU does not exist in the Infor master, the record is flagged for manual intervention rather than creating an unknown item. Every transaction carries both the ShipBob ID and the Infor transaction ID for reconciliation, and retries with exponential backoff handle transient API failures.
A real-world example
A mid-sized wholesale distributor uses Infor CloudSuite M3 to manage procurement, suppliers, and inventory accounting. They expanded to use ShipBob for order fulfillment, sending finished goods inventory to ShipBob's warehouses for outbound orders. Before the integration, the fulfillment team manually emailed inventory counts to the finance team, who hand-entered shipment quantities into Infor as inventory transactions at month-end, leading to discrepancies between the fulfillment count and the GL. With ShipBob and Infor connected, each shipment from ShipBob automatically becomes an inventory transaction in Infor with the correct customer, item, and cost center, and inbound warehouse receiving orders flow into Infor as purchase receipts. Inventory is always in sync, month-end close no longer requires reconciliation of fulfillment to GL, and the finance team has full visibility into warehouse activity from the GL.
What you can do
- Convert ShipBob orders into sales orders or purchase replenishment orders in Infor CloudSuite, mapped to the correct customer and item master.
- Update Infor inventory transaction records and GL accounts as ShipBob shipments are fulfilled, with correct cost center and GL account allocation.
- Record ShipBob warehouse receiving orders (WRO) as goods receipt transactions in Infor, increasing inventory on hand and posting to the GL.
- Manage OAuth2 authentication to both systems and verify ShipBob webhook signatures on every fulfillment event.
- Maintain a full audit trail linking Infor transactions back to ShipBob orders and shipments for traceability and reconciliation.
Questions
- Which direction does data move between Infor CloudSuite and ShipBob?
- The main flow is ShipBob into Infor CloudSuite. Orders, shipments, and warehouse receiving events from ShipBob become transactions in Infor CloudSuite: orders map to sales or purchase orders, shipments update inventory, and warehouse receiving becomes goods receipts. Infor CloudSuite inventory and master data (items, customers, GL accounts) are read to validate and enrich the ShipBob records, but transactional writes go one direction only.
- How does the integration handle differences in how the two systems store inventory and items?
- ml-connector matches items by SKU or product code against the Infor item master. If a SKU from ShipBob does not exist in Infor, the record is flagged for manual review rather than creating a duplicate or unknown item. Customer and GL account lookups follow the same pattern: the integration validates that every transaction references an existing master record in Infor before posting to the general ledger.
- What happens if a ShipBob webhook event fails or the Infor post fails?
- ml-connector retries failed events with exponential backoff and jitter. Every transaction carries both the ShipBob ID and the Infor transaction ID, so operators can trace the flow and manually reconcile if needed. A full audit trail logs every attempt, every error, and every successful post for investigation.
Related integrations
More Infor CloudSuite integrations
Other systems that connect to ShipBob
Connect Infor CloudSuite and ShipBob
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started