ml-connector
QuickBooks OnlineRippling

QuickBooks Online and Rippling integration

QuickBooks Online manages your small-to-mid-market books: invoices, bills, payroll GL, and accounting dimensions. Rippling runs payroll, benefits, and HRIS. When the two are connected, new hires and department changes in Rippling automatically reflect in your QuickBooks GL structure, and payroll journals flow from Rippling into your general ledger without manual re-keying. ml-connector handles the OAuth2 credential flow on both platforms and moves the records on a schedule that matches your payroll calendar.

How QuickBooks Online works

QuickBooks Online exposes accounting entities including vendors, customers, employees, items, accounts, departments, classes, bills, invoices, payments, and journal entries through the QuickBooks Online Accounting API (v3). All requests route through a tenant-specific realm ID captured during OAuth2 authorization. The platform supports both webhooks (which deliver entity ID and operation only, requiring a follow-up fetch) and a 30-day changelog endpoint for polling. Access tokens expire in 1 hour and refresh tokens rotate every 24 to 26 hours, requiring careful session management. All writes require exact object representation and a SyncToken for concurrency control, and hard deletes are not available for customers, vendors, or accounts.

How Rippling works

Rippling exposes employee records, departments, legal entities, accounting dimensions, compensation, payroll runs, and company activity logs through REST APIs on two endpoints. Authentication uses OAuth2 for App Shop integrations or API key / bearer token for direct server-to-server connections. Webhooks are available only for App Shop integrations and fire on employee lifecycle events (hired, updated, terminated, rehired, department changed). Direct API-key integrations must poll the employee endpoint with an updated_at filter or query the company activity log. Compensation data may be redacted due to entitlement restrictions, and employee creation and updates require the employees:write OAuth scope.

What moves between them

The integration runs primarily from Rippling into QuickBooks Online. Employee records, departments, and accounting dimensions flow from Rippling into QuickBooks, keeping the GL structure aligned with your payroll organization. Payroll run metadata and employee updates (hires, terminations, department changes) are polled from Rippling on a schedule and posted as GL journal entries or used to update department and class records in QuickBooks. Reference data such as departments and cost centers is reconciled in both directions to ensure payroll allocations land on valid QuickBooks accounts.

How ml-connector handles it

ml-connector manages two separate OAuth2 credential flows: one for QuickBooks (with 1-hour access token and rotating refresh tokens) and one for Rippling (for App Shop scope or API-key fallback). Since Rippling webhooks are only available to App Shop integrations, ml-connector polls Rippling's employee and company activity endpoints at a configurable interval tied to your payroll schedule. When a new hire or department change is detected, ml-connector fetches the full employee record and accounting dimensions, maps them to corresponding QuickBooks classes and departments, and posts the changes. QuickBooks webhooks are accepted where available, but payroll GL journal postings are always driven by polling Rippling since QuickBooks has no payroll GL webhook. Both platforms return 429 on rate limits, so ml-connector backs off and retries with exponential jitter. Every record carries an audit trail linking the source Rippling event to the resulting QuickBooks transaction, and failed posts can be replayed after the downstream issue is resolved.

A real-world example

A growing software services firm with 80 employees uses Rippling for payroll across two offices and QuickBooks Online for their general ledger and expense management. Before the integration, the accounting team manually exported employee lists from Rippling each month, cross-checked them against the GL headcount accounts in QuickBooks, and corrected mismatches caused by delays in recording new hires and terminations. After connecting Rippling and QuickBooks Online, department and employee changes sync automatically into the GL structure, and the reconciliation step at month-end is eliminated.

What you can do

  • Sync employee records and department assignments from Rippling into QuickBooks Online classes and departments.
  • Map Rippling accounting dimensions and cost centers to QuickBooks GL accounts so payroll allocations land on correct objects.
  • Poll Rippling for payroll runs and employee lifecycle events, then post GL journal entries into QuickBooks on a configurable schedule.
  • Manage OAuth2 credential refresh on both platforms, with automatic retry on rate limits and token expiry.
  • Maintain a complete audit trail linking Rippling employee events to QuickBooks transactions for reconciliation and replay.

Questions

Why does ml-connector poll Rippling instead of relying on webhooks?
Rippling webhooks are only available to App Shop integrations; direct API-key integrations do not receive webhook delivery. ml-connector polls the employee and company activity endpoints at a configurable interval to ensure all employee lifecycle events and payroll changes are captured, regardless of integration type.
How does the integration handle OAuth2 token refresh on both platforms?
ml-connector manages two separate OAuth2 flows. QuickBooks access tokens expire in 1 hour and refresh tokens rotate every 24 to 26 hours. Rippling tokens follow standard OAuth2 expiry. ml-connector monitors token age, refreshes before expiry, and detects 401 responses to initiate re-authorization if a token becomes stale.
What happens when an employee or department change is detected in Rippling?
ml-connector fetches the full employee record and accounting dimensions from Rippling, maps the department and cost center to corresponding QuickBooks classes and departments, and posts the change as a journal entry or dimension update in QuickBooks. Every transaction is audited and can be replayed if a downstream error occurs.

Related integrations

Connect QuickBooks Online and Rippling

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

Get started