ml-connector
SAP Business OneRippling

SAP Business One and Rippling integration

SAP Business One runs your on-premise financials and supply chain. Rippling manages your workforce and payroll. Connecting them keeps your employee master and cost allocation in sync. New hires in Rippling flow into SAP Business One as business partners, compensation profiles map to cost centers, and departments align with your general ledger dimensions, so payroll allocations land on the right accounts without re-keying.

How SAP Business One works

SAP Business One is deployed on-premise with a customer-specific Service Layer instance at a port provided by the customer (default 50000 or 50001). It exposes business partners, invoices, purchase orders, items, chart of accounts, profit centers, dimensions, and journal entries through OData v4 REST. Authentication uses a session token obtained via POST /Login that returns a B1SESSION cookie and expires after 30 minutes of inactivity. Webhooks are supported in v10.0 FP 2602 and later if the customer has activated the Webhook Messenger Service, but polling is recommended as the default. SAP Business One requires session reuse to avoid the 5-second cold-start penalty of each new login, and it has no published idempotency keys, so duplicates must be checked via document number before retry.

How Rippling works

Rippling is a cloud payroll and workforce management platform that exposes employees, departments, legal entities, accounting dimensions, compensation, payroll runs, and work locations through REST. Authentication uses OAuth2 Authorization Code for App Shop integrations or API Key/Bearer Token for direct server-to-server connections. Rippling supports webhooks for employee lifecycle events (created, updated, terminated, rehired, department_changed, manager_changed) only through App Shop integrations; direct API-key integrations must poll using GET /platform/api/employees with updated_at filters or the company_activity event log. Compensation data may be redacted due to entitlement restrictions, and employee write operations require App Shop OAuth with the employees:write scope.

What moves between them

The main flow is from Rippling into SAP Business One. Employee records flow into SAP as business partners, with hire dates, status, and departments mapped to Rippling dimensions. Compensation and cost center assignments from Rippling are read and validated against existing SAP Business One dimensions before posting. Departments and legal entities are kept in sync by polling Rippling on a schedule tied to your payroll cycle. Cost centers are written as dimensions in SAP Business One only if they already exist; new cost centers must be created in SAP first. The integration does not write payroll transactions back into Rippling.

How ml-connector handles it

ml-connector stores API key and base URL for Rippling and accepts the customer-specific SAP Business One Service Layer URL and port. For SAP, it logs in once and reuses the B1SESSION cookie across requests, checking the 30-minute inactivity timeout and re-authenticating before it expires. For Rippling, it uses the API key as a Bearer token and polls employees and accounting dimensions with updated_at filters on a schedule. Before writing any cost center into SAP Business One, ml-connector validates it against the existing Dimensions table; if a cost center does not exist, the employee record is deferred with a detailed audit entry so it can be replayed once the dimension is added. Compensation records are read from Rippling but not written into SAP, since SAP compensation is managed separately. The integration tracks both the SAP session token expiry and the OData query $top parameter (default 20 records per call) to avoid pagination issues, and it retries failed Rippling calls with exponential backoff when rate limits are encountered.

A real-world example

A mid-market services firm with 200 employees runs SAP Business One on-premise for financials and project costing. They use Rippling for payroll, benefits, and HR. Before the integration, HR entered new hires and transfers into Rippling, and finance manually created matching business partners in SAP with cost center assignments, a process that took two days and created reconciliation gaps when Rippling and SAP diverged. With SAP Business One and Rippling connected, new hires in Rippling automatically appear in SAP as business partners within the polling cycle, departments map to cost centers from Rippling, and the finance team can see the employee cost allocation chain in real time. Month-end close is faster because cost center assignments are validated and ready before the first payroll journal is generated.

What you can do

  • Sync Rippling employees into SAP Business One as business partners with hire dates, department assignments, and termination status.
  • Map Rippling accounting dimensions and departments to SAP Business One cost centers and profit centers without manual re-keying.
  • Reuse SAP Business One session tokens across requests and refresh automatically before the 30-minute inactivity timeout expires.
  • Poll Rippling employees and accounting dimensions on a schedule tied to your payroll cycle with full audit trail and error replay.
  • Validate cost center existence in SAP Business One before writing employee records and defer payroll dimensions if they do not yet exist.

Questions

How does the integration handle SAP Business One's 30-minute session timeout?
ml-connector logs in once and reuses the B1SESSION cookie across requests. It tracks the session token expiry and re-authenticates before the 30-minute inactivity timer expires, avoiding the 5-second cold-start penalty of a new login. If a request returns error code -5002 (session timeout), ml-connector immediately logs in again and replays the request.
What happens if a Rippling employee is assigned to a cost center that does not exist in SAP Business One?
ml-connector validates the cost center against the Dimensions table in SAP Business One before writing the employee record. If the cost center does not exist, the employee sync is deferred with a detailed audit entry that includes the missing cost center name. Once the cost center is created in SAP (via your normal workflow), the integration can be triggered to replay the deferred employee records.
Can the integration write payroll transactions or compensation updates back into Rippling?
No. The integration reads employee records and accounting dimensions from Rippling and writes mapped business partners and cost centers into SAP Business One. Compensation data from Rippling is read for mapping but not written back. Payroll transactions in Rippling are managed by your normal payroll process and not modified by this integration.

Related integrations

Connect SAP Business One and Rippling

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

Get started