ml-connector
SAP Business OneLooker

SAP Business One and Looker integration

SAP Business One runs your small-to-midsize business financials, purchasing, and inventory. Looker turns warehouse data into analytics dashboards and reports. Connecting them gives you real-time visibility into cash flow, profit margins by cost center, and inventory aging without manual data export and re-keying. SAP Business One data flows into your warehouse, Looker models it, and your business analysts see it on a schedule you control.

How SAP Business One works

SAP Business One exposes financial data, purchase orders, invoices, payments, journal entries, chart of accounts, cost centers, dimensions, and inventory items through OData v4 REST APIs at a customer-specific Service Layer URL (no shared global endpoint). Authentication uses a session token obtained via POST /Login that returns a B1SESSION cookie expiring after 30 minutes of inactivity, or OAuth 2.0 if the customer instance has identity management enabled. SAP Business One v10.0 FP 2602+ supports webhooks for Create/Update/Delete events if the Webhook Messenger Service is activated, but polling is the recommended default pattern and works across all versions via scheduled GET with UpdateDate filters.

How Looker works

Looker exposes business intelligence data via REST API, including modeled queries, dashboards, scheduled delivery plans, users, groups, folders, and metadata. Authentication uses OAuth2 client credentials: exchange client_id and client_secret for a bearer token valid for one hour, then use the token in an Authorization header. Looker has no inbound webhooks or real-time change events; integration is pull-based via REST API queries. Scheduled Plans can push data outbound to email, S3, or SFTP, but the main pattern for active system-to-system sync is querying the REST API on a schedule and extracting results.

What moves between them

SAP Business One financial and inventory records flow into Looker via a warehouse as the intermediary. ml-connector polls invoices, purchase invoices, purchase orders, journal entries, incoming and outgoing payments, items, and chart of accounts from SAP Business One at a cadence you set (typically daily or weekly), transforms them to a normalized schema, loads them into your warehouse, and Looker models and analyzes them. The flow is read-only from SAP Business One into the warehouse and dashboard; no data flows back from Looker into SAP Business One.

How ml-connector handles it

ml-connector accepts the customer-specific SAP Business One Service Layer URL from your instance and uses session token authentication (reusing the same session across multiple calls to avoid the 5-second cold-start penalty on each login). It polls on a schedule using OData filters ($filter=UpdateDate gt...) to fetch only changed records since the last run, handles session token timeout errors by logging in again, and respects the default 20-record page size with $skip/$top for pagination. On the Looker side, ml-connector authenticates once per hour using the OAuth2 client credentials, caches the bearer token for subsequent calls, and refreshes it when expiry approaches. GL accounts and cost centers from SAP Business One are mapped to warehouse dimensions so Looker dashboards can slice revenue and cost by profit center. SAP Business One uses self-signed TLS certificates in many on-premise deployments; ml-connector is configured to accept them per customer. Retries use exponential backoff when hitting rate limits or transient errors, and every record carries a full audit trail.

A real-world example

A mid-market food distributor runs SAP Business One on-premise for purchasing, invoicing, and GL accounting across three regional warehouses. The finance team needs to track gross margin by region and cost of goods by product line but currently exports invoices and GL entries to Excel each month and rebuilds margin calculations by hand. The warehouse team needs visibility into aging inventory across locations. With SAP Business One connected to Looker, invoice and cost data flows automatically into a cloud warehouse, Looker models it by region, product family, and warehouse, and the finance team uses Looker dashboards to monitor margin trends during the month instead of waiting for month-end close. The warehouse team sees inventory aging dashboards updated weekly, triggering faster decisions on slow-moving stock.

What you can do

  • Poll invoices, purchase orders, and GL journal entries from SAP Business One and load them into your warehouse on a schedule you set.
  • Map SAP Business One GL accounts and cost centers to warehouse dimensions so Looker dashboards can slice revenue and profit by business unit.
  • Handle SAP Business One session token authentication and hourly OAuth token refresh for Looker, with automatic retry on timeout.
  • Respect OData page size defaults and use UpdateDate filtering to fetch only records changed since the last run, reducing load on SAP Business One.
  • Carry a full audit trail on every record moved, with error replay if a downstream warehouse load fails.

Questions

How does ml-connector handle the 30-minute session token timeout in SAP Business One?
ml-connector detects a 5002 session timeout error, logs in again using the customer Service Layer credentials, and retries the request with the new session token. It reuses the session token across multiple API calls to avoid triggering the 5-second cold-start penalty on each request.
Does ml-connector work with on-premise SAP Business One instances?
Yes. ml-connector accepts the customer-specific Service Layer URL (e.g. https://customer-server:50001/b1s/v2/) and is configured to accept self-signed TLS certificates common in on-premise deployments. The customer must expose the Service Layer port to your network or allow ml-connector network access.
What direction does data flow between SAP Business One and Looker?
Data flows from SAP Business One into your warehouse and then into Looker for analytics and dashboards. SAP Business One is the source of truth; Looker is read-only for reporting and analysis. No financial data flows back from Looker into SAP Business One.

Related integrations

Connect SAP Business One and Looker

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

Get started