Exact Online and Deel integration
Exact Online runs accounting and ERP for SMEs across Europe and the USA. Deel runs payroll, HRIS, and contractor management globally. Connecting the two keeps your workforce data and GL account balances in step. New hires and terminations in Deel update employee records in Exact Online, payroll journals sync after each cycle, and labor cost allocations route to the correct cost centers so month-end reconciliation starts clean.
What moves between them
Employee and contractor records flow from Deel into Exact Online after each payroll cycle. When a contract is created, updated, or terminated in Deel, ml-connector reads the contract and related people records and updates the matching employee in Exact Online. Cost allocation data flows both directions so payroll tax and benefit amounts map to the correct GL accounts and cost centers in Exact Online. GL account mappings are stored in Exact Online (as Cost Unit or custom dimension) and validated before any journal entry is posted. Journal entries themselves are read-only in Deel, so ml-connector reads the final payroll totals from Deel and posts the aggregate labor cost entries into Exact Online's GL.
How ml-connector handles it
ml-connector stores the Deel API token (or OAuth refresh token) and Exact Online OAuth credentials encrypted, and refreshes the Deel bearer token when a call returns 401 (within the 30-day refresh window). On the Exact Online side, it fetches and caches the division ID per customer instance, since all Exact Online API calls require the division ID in the URL path. It receives Deel webhook events for contract and employee lifecycle changes, reads the full contract and people records from Deel, validates that the cost centers and GL accounts in the mapping exist in Exact Online, and posts journal entries into Exact Online on the payroll schedule you define. For payroll cycles, ml-connector reads the payroll invoices and worker invoices from Deel (which contain summary GL amounts), maps those amounts to the cost centers you configure, and posts them to Exact Online's general ledger. Because Exact Online's webhook payloads contain only the entity key and action (not the full record), ml-connector fetches the complete entity data from the Exact Online REST API after receiving a webhook. If a cost center is missing from Exact Online when a payroll posting arrives, the sync halts and logs the mismatch in the audit trail so you can add the missing dimension and replay the job. Rate limits and retries follow Deel's 429 responses and Retry-After headers; Exact Online rate-limit behavior is not published but ml-connector backs off on HTTP 500 and 429 responses.
A real-world example
A European SME with 50 employees across two offices runs Exact Online for accounting and Deel for global payroll and EOR compliance. Before the integration, the finance team exported payroll registers from Deel every pay period, manually matched labor costs to cost centers (one per office), and entered the totals into Exact Online's GL by hand. Employee changes in Deel (new hires, role changes, terminations) were not reflected in Exact Online until the finance team manually updated the employee master. Reconciling the labor GL accounts to actual payroll spend during month-end close required re-exporting from Deel and re-checking Exact Online by hand. With Exact Online and Deel connected, each payroll cycle's labor cost entries flow automatically into the GL, allocated to the correct cost center per office. Employee master updates sync when Deel records change, keeping Exact Online headcount current. Month-end close starts with labor GL accounts already reconciled.
What you can do
- Sync employee contracts and people records from Deel into Exact Online when contracts are created, updated, or terminated.
- Post payroll labor cost journals from Deel into Exact Online's general ledger, allocated to cost centers and GL accounts you configure.
- Map Deel cost allocations and tax withholdings to Exact Online GL accounts and cost units before posting.
- Handle Deel OAuth2 token expiry and refresh, and manage Exact Online's division ID routing so each customer instance points to the correct region and division.
- Validate cost center and GL account mappings before every payroll posting, halt on mismatch, and log a full audit trail for replay.
Questions
- How do employee records flow between Deel and Exact Online?
- When a contract is created, updated, or terminated in Deel, ml-connector receives a webhook event, fetches the full contract and people record from Deel, and updates the matching employee record in Exact Online. The integration maps Deel employment type and status to Exact Online employee dimensions (cost center, department, GL account) based on the mapping you configure. Employee data flows one direction, from Deel into Exact Online.
- How does the integration handle Exact Online's division ID requirement and regional endpoints?
- ml-connector fetches the division ID from the /current/Me endpoint on first sync and caches it per customer. All subsequent API calls include the division ID in the URL path. The regional base URL (Netherlands, UK, Germany, etc.) is set once during setup, since Exact Online does not publish a shared API base. If you switch regions, you must reconfigure the base URL and re-authenticate.
- What happens if a cost center referenced in a Deel payroll posting does not exist in Exact Online?
- ml-connector validates every cost center and GL account mapping before posting a journal entry. If a cost center is missing, the sync halts, logs the mismatch in the audit trail with the record details, and does not post the journal. You can then add the missing cost center to Exact Online and replay the job to post the entry.
Related integrations
More Exact Online integrations
Other systems that connect to Deel
Connect Exact Online and Deel
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started