IFS Cloud and Ramp integration
IFS Cloud runs your manufacturing and finance operations. Ramp runs your corporate spend and bill pay. Connecting the two keeps your general ledger and your spend records in agreement. Supplier invoices recorded in IFS Cloud flow into Ramp as bills aligned to the correct GL accounts, and bill approvals in Ramp can post back to IFS as vouchers. ml-connector bridges the different authentication and API models on each side and moves the data on a schedule you control.
What moves between them
The primary flow moves supplier invoices from IFS Cloud into Ramp as bills. After an invoice is recorded in IFS Cloud, ml-connector polls the PostingProposalHeadSet, extracts the supplier and amount, and creates a matching bill in Ramp mapped to the same GL account and accounting dimension from IFS. If Ramp webhooks are enabled, payment status changes on bills flow back as read events to confirm posting into Ramp. GL accounts and vendors are synchronized in both directions so bills in Ramp reference GL accounts that exist in IFS and suppliers match between systems. Cost allocation follows IFS accounting dimensions mapped to Ramp accounting connections.
How ml-connector handles it
ml-connector stores IFS OAuth2 credentials and Ramp OAuth2 credentials encrypted and refreshes tokens before expiry. On the IFS side it accepts the tenant-specific base URL and validates that projections exist at connect time via the AllProjections.svc endpoint, then polls PostingProposalHeadSet with OData filters on modified timestamps to find new invoices. When reading IFS records for update, ml-connector captures the ETag value and includes it in any PATCH request to enforce optimistic concurrency. When writing to Ramp, it creates bills with the correct GL account mapping and lets Ramp implicitly create vendors if they do not exist. IFS rate limits are approximately 1000 requests per minute per tenant, and ml-connector backs off with exponential jitter on HTTP 429 responses. Ramp webhooks push bill payment events in real time when enabled, reducing polling overhead. Every record carries a full audit trail, and failed bill creates are stored with the original invoice data so they can be replayed once the issue is resolved.
A real-world example
A mid-sized manufacturing company runs IFS Cloud for production planning, procurement, and finance across three regional plants. The company uses Ramp for corporate cards, bill pay, and expense management. Before the integration, accounts payable staff received supplier invoices in IFS, manually exported the data, and re-entered it into Ramp as bills with GL coding by hand. Month-end reconciliation required matching invoices across two systems and chasing discrepancies between IFS supplier records and Ramp vendor files. With IFS Cloud and Ramp connected, each invoice flows into Ramp automatically with the correct GL account and cost center from IFS. Ramp webhooks notify the integration of payment status changes, which sync back to close the invoice in IFS. The manual re-entry step is eliminated, and month-end matching is automated.
What you can do
- Poll IFS Cloud for supplier invoices on a schedule and write them into Ramp as bills with GL account and cost center alignment.
- Map IFS GL accounts and accounting dimensions to Ramp GL accounts and accounting connections so bill coding is consistent across systems.
- Bridge IFS OAuth2 client credentials authentication and Ramp OAuth2 credentials, with automatic token refresh before expiry.
- Respect IFS OData ETag concurrency control and page-size limits, backing off on rate-limit responses with exponential jitter.
- Capture Ramp bill payment webhooks to confirm posting status and update invoice records in IFS without re-polling.
Questions
- Which direction does data move between IFS Cloud and Ramp?
- The main flow is IFS Cloud to Ramp. Supplier invoices move from IFS Cloud into Ramp as bills with GL account mapping. GL accounts and vendors are synchronized in both directions so bill coding is consistent. Payment status updates from Ramp webhooks can flow back to IFS to mark invoices as paid or reconciled.
- How does ml-connector handle IFS Cloud's ETag requirement and page-size limit?
- ml-connector queries PostingProposalHeadSet with OData filters on modified timestamps, requesting results in pages under the 5000-element limit. When updating an invoice record, it reads the ETag value first, then includes it in the PATCH request header so IFS enforces optimistic concurrency and rejects stale updates. Large bill batches are paginated automatically.
- What happens if an invoice fails to create in Ramp?
- ml-connector stores the invoice record with error details in its audit trail. The record can be retried once the issue is resolved (for example, if a GL account mapping was missing). Webhooks from Ramp confirm successful bill creation and payment status so the integration knows which invoices have reached Ramp successfully.
Related integrations
More IFS Cloud integrations
Other systems that connect to Ramp
Connect IFS Cloud and Ramp
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started