ml-connector
IFS CloudIBM Sterling

IFS Cloud and IBM Sterling integration

IFS Cloud runs your manufacturing operations, procurement, and finance. IBM Sterling B2B Integrator routes your EDI trading partner orders and invoices. Connecting the two ensures that every inbound EDI document from trading partners becomes a purchase order or supplier invoice in IFS with the right company code and GL account assignments, and acknowledgements flow back to your trading partners without manual file management. ml-connector handles the different APIs, the EDI translation layer, and the polling cadence so your procurement team sees all partner documents in IFS within minutes of arrival.

How IFS Cloud works

IFS Cloud exposes purchase orders, supplier invoices, GL accounts, company codes, supplier records, and journal vouchers through REST OData v4 APIs, with a base URL per tenant at https://<tenant>.ifs.cloud and all entity collections paginated up to 5000 elements. Authentication uses OAuth 2.0 client credentials with a 60-minute token lifetime against the tenant-specific token endpoint. IFS has no standard webhook subscription API, so recommended integration pattern is polling with filters on modified timestamps. Mutation operations require ETag headers for optimistic concurrency control, and creation operations require checking for existing records to prevent duplicates. Company code is mandatory on almost every financial entity and must be provided as part of connector configuration.

How IBM Sterling works

IBM Sterling B2B Integrator is an on-premises or customer-managed hybrid-cloud platform that manages the end-to-end lifecycle of EDI documents between trading partners. Documents arrive via SFTP, FTP, AS2, or FTPS and are translated into standardized message payloads through X12, EDIFACT, or TRADACOMS rules. Sterling exposes mailbox messages and workflow operations through REST APIs using HTTP Basic Authentication or OAuth 2.0, both local to the customer instance at https://<b2bi-host>:<liberty-port>/B2BAPIs/svc/. Sterling REST API does not support outbound webhooks, so ml-connector polls GET /B2BAPIs/svc/mailboxMessages/ to detect new documents and extracts the EDI payload via mailbox message resources. Finance and procurement documents flow as payloads inside Sterling; they are not queryable as REST resources, and the API credential must be a non-admin user account.

What moves between them

Data flows from IBM Sterling into IFS Cloud. When a trading partner sends an EDI 850 (purchase order) or 810 (invoice) to Sterling, ml-connector polls Sterling's mailbox at a configured interval (every 5 to 30 minutes), detects the new message, extracts the EDI payload, and translates it into an IFS PurchaseOrderSet or PostingProposalHeadSet record with the customer-provided company code. Line item quantities and prices map to the corresponding GL account dimensions based on the supplier and item codes in the EDI. Functional 997 acknowledgements are posted back to Sterling as a workflow message. Reference data such as suppliers and GL accounts is read from IFS first to validate that inbound EDI references exist before creating financial records.

How ml-connector handles it

ml-connector stores IFS tenant URL, OAuth credentials, and company code configuration, and stores Sterling instance host, port, and Basic Auth credentials, all encrypted at rest. On each poll cycle, it calls Sterling's mailbox API with the configured authentication, extracts the EDI payload, and parses it using industry-standard X12 or EDIFACT rules. For each PO or invoice line, it validates that the supplier exists in IFS using the EDI supplier identifier, queries IFS GL accounts to find the matching cost center or GL account, and composes an IFS OData POST request to PostingProposalHeadSet or PurchaseOrderSet. Before posting, it reads the ETag value from the target resource (to satisfy IFS ETag requirements for mutations) and includes that ETag in the PATCH or POST operation. If Sterling rate-limits the request (HTTP 429), ml-connector backs off and retries. If IFS returns a 5000-element exceeded error on an expanded query, ml-connector paginates separately and makes multiple requests. After successful creation in IFS, it posts a 997 functional acknowledgement back to Sterling marking the EDI message as processed. A full audit trail records the source EDI, the IFS record created, any validation errors, and the timestamp of each operation.

A real-world example

A mid-sized discrete manufacturer receives purchase orders and invoices from 40 trading partners via EDI through IBM Sterling. Before the integration, the procurement team downloaded EDI files daily from Sterling, manually mapped supplier and GL codes to IFS, and re-entered the data by hand, a process that took 2 to 3 hours daily and introduced typos and duplicate orders. With IFS and Sterling connected via ml-connector, each inbound EDI document lands in IFS with the correct company code and GL account within minutes, the supplier is validated before the PO is created, and the trading partner receives a functional acknowledgement automatically. The procurement team now spends 15 minutes daily reviewing items that failed validation and correcting supplier master data, and the remaining 100+ orders per week flow through without intervention.

What you can do

  • Poll IBM Sterling mailbox for inbound EDI purchase orders and invoices on a schedule you control.
  • Translate EDI 850 (purchase orders) and 810 (invoices) into IFS Cloud PurchaseOrderSet and PostingProposalHeadSet records with the correct company code.
  • Validate supplier and GL account dimensions in IFS before creating financial records, rejecting EDI documents that reference non-existent suppliers.
  • Post EDI 997 functional acknowledgements back to IBM Sterling to confirm message receipt and processing status.
  • Maintain a full audit trail of every EDI message received, IFS record created, and validation error, with replay capability for failed operations.

Questions

How does ml-connector handle the different authentication methods required by IFS and Sterling?
ml-connector stores IFS OAuth 2.0 client credentials and Sterling Basic Auth credentials separately, encrypted at rest. On each poll cycle, it refreshes the IFS OAuth token (lifetime 60 minutes) and calls Sterling's mailbox API with the configured username and password over HTTPS. Both credentials are scoped to the customer's tenant or instance, ensuring isolated access.
What happens if an EDI purchase order references a supplier that does not exist in IFS?
ml-connector validates the supplier against IFS SupplierSet before creating the PurchaseOrderSet record. If the supplier is not found, the EDI document is marked as failed, logged to the audit trail, and the procurement team is notified via alert. The EDI payload is retained so the operator can correct the supplier master data in IFS and replay the order.
Does ml-connector handle the IFS ETag concurrency requirement?
Yes. Before posting or patching an IFS financial record, ml-connector reads the record's @odata.etag value and includes the ETag header in the mutation request. If the ETag has changed due to a concurrent update, IFS returns an HTTP 412 error; ml-connector retries the read and update cycle to ensure the record is current before proceeding.

Related integrations

Connect IFS Cloud and IBM Sterling

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started