ml-connector
Exact OnlineRippling

Exact Online and Rippling integration

Exact Online runs your accounting and finance. Rippling runs your HR and payroll. Connecting the two keeps your organizational structure and accounting dimensions in agreement. Employees hired or moved in Rippling sync into Exact Online's cost center and department records, and payroll allocations land on valid GL accounts without re-keying. ml-connector handles the different APIs on each side and moves the data on a schedule you control.

How Exact Online works

Exact Online exposes suppliers, customers, purchase and sales invoices, GL accounts, cost centers, items, and journal entries through a region-specific REST API with OData v3 query syntax. The API authenticates with OAuth 2.0 Authorization Code Grant with a 10-minute access token and 30-day rotating refresh token. Access requires app registration in Exact Online App Center. Exact Online supports webhooks for significant REST resources including Accounts, SalesInvoices, PurchaseOrders, GLAccounts, TransactionLines, and CostTransactions, delivered via HTTP POST with HMAC-SHA256 verification. Webhook payloads contain only the entity key and action (create/update/delete), so full entity data must be fetched separately via REST.

How Rippling works

Rippling exposes employees, departments, legal entities, payroll runs, compensation, teams, and accounting dimensions through a REST API with OAuth 2.0 Authorization Code (for App Shop integrations) or API key authentication. Webhooks are restricted to App Shop OAuth integrations only for employee lifecycle events such as created, updated, terminated, and rehired. Direct API-key integrations require polling. Employees and compensation data are readable via the base API; writes require App Shop OAuth with the employees:write scope. Rippling supports the Idempotency-Key header on time entries for safe retries.

What moves between them

The main flow runs from Rippling into Exact Online. When employees are created, moved between departments, or terminated in Rippling, ml-connector syncs department and cost center records into Exact Online. Payroll dimension data such as compensation amounts and department assignments flow from Rippling into Exact Online cost center and GL dimension tables on a schedule tied to your payroll cycle. Reference data is aligned bidirectionally so organizational changes in Rippling are reflected in Exact Online accounting dimensions. GL journal entries remain read-only and are not written back from Rippling.

How ml-connector handles it

ml-connector stores both credential sets encrypted and refreshes OAuth tokens on both sides when calls return 401 Unauthorized. For Rippling, ml-connector polls employee and payroll dimension records using the updated_at timestamp filter or the company_activity event log, since API-key integrations do not receive webhook delivery. For Exact Online, ml-connector can subscribe to CostTransactions and Documents webhooks where enabled, or poll via OData query filters. Before writing cost center or department data, ml-connector validates that the GL accounts and cost units already exist in Exact Online, preventing rejected writes. Department and cost center names are mapped by ID so organizational changes sync correctly. Rate-limit responses on both sides are backed off and retried with exponential jitter. Every record carries a full audit trail and can be replayed if a downstream write fails.

A real-world example

A mid-sized services firm runs Exact Online for accounting, procurement, and financial reporting across multiple offices and cost centers, and uses Rippling for HR, payroll, and benefits administration. Before the integration, the finance team manually tracked which employees belonged to which cost center and department in Exact Online, and updates to organizational structure in Rippling took several days to propagate to GL accounting dimensions. With Exact Online and Rippling connected, each employee change in Rippling updates the cost center and department records in Exact Online automatically, and the finance team can run accurate GL reports by cost center without lag or manual re-entry.

What you can do

  • Sync employees and department assignments from Rippling into Exact Online cost center and GL dimension tables.
  • Map Rippling compensation and department data to Exact Online GL accounts and cost centers so payroll allocations land on valid dimensions.
  • Authenticate Rippling with OAuth 2.0 or API key and Exact Online with OAuth 2.0, refreshing tokens on each call.
  • Poll Rippling on a schedule tied to your payroll cycle and receive webhook notifications from Exact Online when subscriptions are enabled.
  • Validate cost center and GL account existence before writing to Exact Online, with full audit trail and replay on failure.

Questions

Which direction does data move between Exact Online and Rippling?
The main flow is Rippling into Exact Online. Employee records, department assignments, and compensation data move from Rippling into Exact Online cost center and GL dimension tables. Reference data such as departments and cost centers can be aligned in both directions. GL journal entries in Exact Online remain read-only.
Does Exact Online's OAuth 2.0 and Rippling's API key requirement need special configuration?
Yes. ml-connector stores both credential sets encrypted and refreshes OAuth tokens on both sides. If you use Rippling API key authentication instead of App Shop OAuth, webhooks are not available, so ml-connector polls Rippling using the updated_at filter or company activity log on your payroll schedule.
How does ml-connector handle cost center mapping between the two systems?
Before writing cost center or department data to Exact Online, ml-connector validates that the GL accounts and cost units already exist, preventing failed writes. Department and cost center names are mapped by ID so organizational changes sync correctly and payroll allocations land on valid accounting dimensions.

Related integrations

Connect Exact Online and Rippling

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

Get started