IFS Cloud and Deel integration
IFS Cloud runs finance, procurement, and supply chain across your enterprise. Deel handles global payroll, employee contracts, and HRIS. Connecting them keeps your general ledger and headcount in sync with payroll movements. Payroll GL documents and employee cost data from Deel post into IFS Cloud's general ledger without re-keying, mapped to cost centers and GL accounts. ml-connector manages the OData complexity, token refresh, and audit trail on every record.
What moves between them
Payroll data flows primarily from Deel into IFS Cloud. Employee cost data, invoices, and GL postings from Deel's payroll runs are read via REST API and mapped into IFS Cloud journal entries (VoucherSet), GL accounts (AccountSet), and cost center dimensions (CodePartValueSet). ml-connector polls Deel on a schedule (daily, weekly, or tied to your payroll cycle) rather than waiting for webhooks, though Deel webhooks can trigger manual syncs if configured. Employee contracts and people data from Deel are synced to keep IFS Cloud headcount dimensions aligned. GL account mappings are bidirectional so Deel's cost categorization lands on valid IFS Cloud accounts. No data flows back from IFS Cloud to Deel; GL postings are read-only in Deel.
How ml-connector handles it
ml-connector stores Deel OAuth2 credentials encrypted and refreshes the bearer token every 25 minutes to stay ahead of the 30-day expiry. For IFS Cloud, it accepts the customer's tenant URL and client credentials, authenticates with the OAuth2 Client Credentials grant, and validates all entity references (GL accounts, cost centers, company codes) against the customer's configured IFS Cloud projection. When reading Deel payroll data, ml-connector respects the Idempotency-Key header to prevent duplicate processing. When writing to IFS Cloud, it reads the current ETag for each record, applies the mutation with the If-Match header, and retries with exponential backoff if it receives a 429 (rate limit) or 412 (ETag conflict). Deel webhooks, if enabled, can trigger ad-hoc syncs; the polling schedule handles the base automation. Every record carries a full audit trail of its source ID, timestamp, and mutation result, and failed records can be replayed. IFS Cloud's page-size limits mean large payroll batches are split into chunks under 5000 elements.
A real-world example
A global services firm runs IFS Cloud for finance and procurement and uses Deel for payroll and contractor compliance across 12 countries. Before the integration, payroll journals were exported from Deel monthly and manually re-entered into IFS Cloud's general ledger by cost center, a process that often surfaced reconciliation gaps during month-end close. Employee counts in IFS Cloud also drifted from Deel as new contractors were onboarded. With IFS Cloud and Deel connected, each payroll cycle's GL postings flow automatically into the ledger split by cost center and country, and employee contract data keeps headcount synchronized. Month-end close starts with the payroll accounts already balanced, and the finance team focuses on exceptions instead of data entry.
What you can do
- Post payroll GL postings from Deel into IFS Cloud's general ledger, allocated to the correct cost centers and GL accounts.
- Keep IFS Cloud employee and contractor headcount aligned with Deel contract lifecycle events (creation, updates, terminations).
- Map Deel cost categorizations and company/country dimensions to IFS Cloud GL accounts and CodePartValueSet dimensions.
- Authenticate Deel with OAuth2 bearer tokens or personal API tokens, and IFS Cloud with OAuth2 Client Credentials, handling token refresh and expiry.
- Poll Deel on your payroll calendar with automatic retries, ETag concurrency handling, and a full audit trail on every GL posting.
Questions
- Which direction does data move between IFS Cloud and Deel?
- The main flow is Deel into IFS Cloud. Payroll GL postings, invoices, and employee cost data move from Deel into IFS Cloud's general ledger and dimension tables, mapped to cost centers and GL accounts. Employee contract and people data align in one direction so IFS Cloud headcount reflects Deel's current workforce state. GL postings are read-only in Deel, so ml-connector does not write financial entries back to payroll.
- How does the integration handle IFS Cloud's OData complexity and ETag requirements?
- ml-connector accepts the customer's tenant-specific IFS Cloud URL and stores OAuth2 client credentials encrypted. When reading data, it respects OData paging and $filter parameters. When writing GL postings (journal entries), it reads the current ETag for each VoucherSet record, applies the PATCH or POST with the If-Match header, and retries on 412 (ETag conflict) or 429 (rate limit). Company codes are validated at configuration time against the customer's IFS Cloud instance.
- Does Deel webhook support trigger the integration, or does it rely on polling?
- Polling is the base sync, scheduled on your payroll calendar (daily, weekly, or after-payroll-run). Deel webhooks, if enabled and registered with ml-connector, can trigger immediate ad-hoc syncs for urgent updates such as terminations or emergency adjustments. The polling schedule ensures no data is missed if a webhook fires or fails.
Related integrations
More IFS Cloud integrations
Other systems that connect to Deel
Connect IFS Cloud and Deel
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started