IFS Cloud and SFTP / Flat Files integration
IFS Cloud runs manufacturing, supply chain, and finance. SFTP / Flat Files integrates with legacy ERP systems and EDI trading partners via structured files. Connecting the two lets you move purchase orders, invoices, payments, and GL journal entries between IFS Cloud and flat-file partners without re-keying or manual transforms. ml-connector handles the OAuth handshake to IFS, maps file columns to OData entities, enforces IFS ETag concurrency controls, and acknowledges EDI files when required.
What moves between them
Data flows bidirectionally. Inbound files on SFTP are polled, parsed into records, and written to IFS Cloud OData entities (e.g., CSV vendor lines into SupplierSet, X12 850 purchase orders into PurchaseOrderSet, invoice CSVs into PostingProposalHeadSet). Outbound data (purchase orders, invoices, GL entries created in IFS Cloud) is extracted via OData, mapped to the partner's file format (CSV, EDIFACT, X12), and deposited in the SFTP outbound folder. GL journal entries typically move from IFS Cloud out to SFTP partners, while AP invoices and purchase orders move inbound from SFTP. Polling cadence is typically every 5-60 minutes depending on volume. EDI inbound files generate acknowledgment files.
How ml-connector handles it
ml-connector polls the configured SFTP inbound folder on your schedule, discovers new files by name or timestamp, and parses each file according to its format spec and column mapping. For each record, ml-connector constructs an OData request to the tenant-specific IFS Cloud URL, includes the refreshed OAuth bearer token, and executes the mutation (POST to create, PATCH to update). IFS Cloud requires an If-Match header with the current ETag for mutations; ml-connector reads the record first to capture the ETag, then submits the change with that value to prevent lost updates from concurrent edits. For outbound flows, ml-connector queries IFS Cloud entities via OData filters on timestamp or status, extracts the records, applies the partner's column mapping and file format template, and writes to the SFTP outbound folder. When receiving X12 or EDIFACT inbound EDI files, ml-connector generates the required acknowledgment file (997 for X12, CONTRL for EDIFACT) and deposits it in the acks folder. Partner-specific field mappings (GL account number to IFS AccountSet, cost center to CodePartValueSet) are stored per trading relationship. IFS Cloud's 1000-request-per-minute rate limit is respected with exponential backoff and jitter on HTTP 429. Host key verification is required for SFTP in production.
A real-world example
A mid-market manufacturing company runs IFS Cloud for production planning, procurement, and accounting. Three major suppliers still exchange purchase orders and invoices via EDI or flat files, and they require purchase order acknowledgments. A warehouse distribution partner receives daily inventory files and ships back ASN flat files. Before the integration, the procurement team manually exported purchase orders from IFS Cloud, converted them to the supplier format, uploaded to SFTP, waited for invoice files to arrive, downloaded them, and manually keyed the AP entries back into IFS Cloud. Months of paper trails and daily re-keying created delays and reconciliation gaps. With IFS Cloud and SFTP / Flat Files connected, purchase orders flow out automatically in each supplier's format, inbound invoices are parsed and posted to IFS Cloud without re-keying, acknowledgments are generated and delivered, and the daily inventory sync with the warehouse is fully automated. Month-end close is faster because AP is already reconciled.
What you can do
- Send purchase orders from IFS Cloud to SFTP partners in their required format (CSV, X12 850, EDIFACT ORDERS).
- Receive and post supplier invoices from flat files into IFS Cloud's posting proposal and voucher entities, with GL account and cost center mapping.
- Synchronize inventory and item master data between IFS Cloud and SFTP partners as CSV or XML.
- Generate and deliver EDI acknowledgment files (X12 997, EDIFACT CONTRL) in response to received EDI transactions.
- Handle IFS OAuth token refresh, ETag-based concurrency, and SFTP polling on a schedule you control.
Questions
- Does ml-connector handle ETag concurrency in IFS Cloud when updating invoices or orders?
- Yes. IFS Cloud requires an If-Match header containing the current ETag on every PATCH or state-change POST. ml-connector reads the record first to capture the ETag, then submits the mutation with that header to prevent lost updates from concurrent changes in IFS Cloud. If the ETag has changed, IFS returns a conflict and ml-connector retries the read-update cycle.
- Which direction does data move, and at what cadence?
- Both directions. Purchase orders and GL entries typically flow from IFS Cloud to SFTP partners. Inbound invoice files from SFTP are polled on your schedule (typically 5-60 minutes) and posted into IFS Cloud as posting proposals or vouchers, mapped to the correct GL account and company code. Outbound orders and GL are extracted on the same schedule or on-demand.
- How are EDI files acknowledged, and what about partner-specific file formats?
- When ml-connector receives X12 or EDIFACT inbound files, it generates the appropriate acknowledgment (997 for X12, CONTRL for EDIFACT) and deposits it in the acks folder. Field mappings (invoice number, GL account, cost center, amount) are configured per trading partner relationship, so each partner can use their own CSV layout, column order, or EDI segment structure.
Related integrations
More IFS Cloud integrations
Other systems that connect to SFTP / Flat Files
Connect IFS Cloud and SFTP / Flat Files
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started