SAP Business One and ServiceNow integration
SAP Business One runs purchasing and invoicing for small-to-midsize manufacturers and distributors. ServiceNow runs procurement and accounts payable for enterprises. Connecting them keeps your purchase orders and supplier invoices synchronized between your ERP and your shared service platform. Purchase orders initiated in SAP Business One appear in ServiceNow for approval and processing, and invoices flow into the Accounts Payable module without manual re-entry. ml-connector handles the on-premise nature of SAP Business One and ServiceNow's role-based access control.
What moves between them
Purchase orders and supplier invoices created in SAP Business One flow into ServiceNow on a daily schedule (configurable per customer). Supplier information and cost centers are aligned in both directions so invoice lines reference valid procurement dimensions. Payment records from SAP Business One are read and matched against ServiceNow invoices to prevent duplicate processing. The flow is primarily source-to-target; ServiceNow records are not written back to SAP Business One.
How ml-connector handles it
ml-connector stores the SAP Business One Service Layer URL per customer and reuses the session token for the duration of its lifespan to avoid the 5-second cold-start latency of each login. When a token approaches its 30-minute inactivity limit, ml-connector refreshes it before the next poll cycle. On the ServiceNow side, ml-connector uses OAuth 2.0 client credentials to obtain a bearer token valid for 30 minutes and checks that the service account has the required roles for both the Procurement module and the Accounts Payable module. Because ServiceNow is pull-only, ml-connector polls both systems on a fixed schedule and deduplicates using the document number in SAP Business One and the sys_id in ServiceNow. Purchase order items are expanded inline using OData $expand to avoid N+1 calls. The integration validates that all suppliers and cost centers referenced in SAP Business One purchase orders exist in ServiceNow before syncing, and logs a failure if a dimension is missing so the customer can align the master data.
A real-world example
A mid-sized distributor runs SAP Business One on-premise for purchasing and invoicing across regional warehouses, and uses ServiceNow for enterprise procurement governance and expense management. Before the integration, the procurement team manually keyed supplier invoices from SAP Business One into ServiceNow's Accounts Payable module, a process that took 4-6 hours daily and introduced data entry errors. Purchase order approvals in ServiceNow were disconnected from the actual PO in the ERP, so approvers had to cross-reference two systems. With SAP Business One and ServiceNow connected, purchase orders are automatically populated in ServiceNow on creation, and invoices flow through Accounts Payable without re-keying. The procurement team spends less time on data entry and can focus on supplier management and payment policy compliance.
What you can do
- Sync purchase orders from SAP Business One into ServiceNow procurement on a daily schedule, mapped to the correct vendors and cost centers.
- Flow supplier invoices from SAP Business One into ServiceNow Accounts Payable staging tables for approval and processing.
- Reuse SAP Business One session tokens to avoid auth latency and refresh them before timeout.
- Authenticate ServiceNow using OAuth 2.0 client credentials and validate the service account has the required Procurement and Accounts Payable roles.
- Deduplicate records using document numbers and system IDs, and align supplier and cost center master data before syncing to prevent downstream failures.
Questions
- Which direction does data move between SAP Business One and ServiceNow?
- Purchase orders and supplier invoices move from SAP Business One into ServiceNow. Supplier information and cost centers are aligned in both directions to ensure all invoice lines reference valid procurement dimensions in ServiceNow. Payment records from SAP Business One are matched against ServiceNow invoices to prevent duplicate processing.
- How does ml-connector handle SAP Business One session token expiry and ServiceNow role-based access?
- ml-connector reuses the SAP Business One B1SESSION token for its entire lifespan and refreshes it 5 minutes before the 30-minute inactivity timeout to avoid losing the session mid-sync. On ServiceNow, ml-connector obtains an OAuth 2.0 bearer token and verifies that the service account has the Procurement and Accounts Payable module roles before attempting any data operations.
- Why does ml-connector validate suppliers and cost centers before syncing?
- SAP Business One purchase orders reference suppliers (BusinessPartners) and profit centers that must exist in ServiceNow before an invoice can be processed. ml-connector performs this validation upfront and logs a detailed error if a dimension is missing, so the customer can align master data and retry without creating orphaned records in ServiceNow.
Related integrations
More SAP Business One integrations
Other systems that connect to ServiceNow
Connect SAP Business One and ServiceNow
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started