SAP Business One and Tipalti integration
SAP Business One runs purchasing and finance for growing mid-market manufacturers and distributors. Tipalti handles supplier onboarding, invoice automation, and global mass payments. Connecting the two means purchase orders and incoming supplier invoices flow into Tipalti for approval and payment processing, approved payments come back to SAP Business One with matching GL accounts and profit centers, and payment status and compliance workflows are visible in your ERP at all times.
What moves between them
Purchase orders and invoices move from SAP Business One into Tipalti as bill records for supplier approval and payment processing. Approved payments and GL account assignments flow back to SAP Business One as outgoing payments and journal entries so the ledger reflects what Tipalti has paid. Reference data such as suppliers, GL accounts, and profit centers is kept in sync between the systems so each payment line carries the correct SAP Business One dimension and account code.
How ml-connector handles it
ml-connector stores SAP Business One session credentials and automatically refreshes the login session before the 30-minute inactivity timeout expires, so polling never encounters an expired token. It handles both SOAP and REST transports on the Tipalti side, choosing the right API family and signature scheme for each operation: HMAC-SHA256 for SOAP calls and OAuth2 bearer token for REST. Purchase orders and invoices are mapped from SAP Business One purchase document IDs to Tipalti bill records and payee records using DocNum as the idempotency key (SAP Business One does not publish idempotency keys, so duplicates are detected by checking for existing DocNum before retry). Incoming Tipalti IPN webhooks are verified with HMAC-SHA256 before processing, and approved payments are posted back as outgoing payments in SAP Business One with the GL account and profit center preserved from the order. Poll frequency is configurable and typically tied to your invoice approval cycle.
A real-world example
A mid-market distribution company runs SAP Business One for purchasing and accounting across three regional warehouses. They receive hundreds of supplier invoices monthly and were manually forwarding them to Tipalti for approval and settlement, then hand-posting the payment receipts back to SAP Business One's journal. This created delays, duplicate data entry, and month-end reconciliation headaches. With SAP Business One and Tipalti connected, invoices flow automatically from SAP Business One into Tipalti's approval queue tagged with the correct warehouse and cost center, approved payments route back to the right GL account and profit center, and compliance updates from Tipalti appear in SAP Business One so procurement knows payee status at a glance.
What you can do
- Push purchase orders and incoming supplier invoices from SAP Business One into Tipalti as bills and payee records for approval and processing.
- Sync approved payment status and GL account assignments back to SAP Business One as outgoing payments and journal entries.
- Map suppliers, GL accounts, and profit centers between SAP Business One and Tipalti so every transaction carries the correct financial dimensions.
- Refresh SAP Business One session tokens automatically before timeout and handle both SOAP and REST transports on the Tipalti side transparently.
- Verify Tipalti IPN webhooks and receive real-time payment and compliance status updates, with full audit trail and retry on failure.
Questions
- How does the integration handle SAP Business One's session token expiry and customer-specific URLs?
- ml-connector tracks the 30-minute inactivity timeout and refreshes the login session before it expires, so polling never encounters a 5002 token error. Since each SAP Business One customer provides their own Service Layer URL and port, ml-connector stores the full URL per customer and validates all entity paths against that instance. Session reuse is enforced so a fresh login is not required for every request.
- Does the integration support both SOAP and REST on the Tipalti side?
- Yes. ml-connector handles both API families transparently, routing SOAP operations to PayeeFunctions and PayerFunctions endpoints with HMAC-SHA256 signatures, and REST operations to the Approve.com endpoint with OAuth2 credentials. The choice depends on the specific operation; most bill and payee work flows through SOAP while payment status queries often use REST.
- How are purchase order and invoice duplicates prevented across the two systems?
- SAP Business One does not publish idempotency keys, so ml-connector uses the document DocNum (purchase order or invoice number) as the deduplication key when retrying. Before posting a bill to Tipalti, ml-connector checks if a record with that DocNum already exists and skips creation to prevent duplicates on retry.
Related integrations
More SAP Business One integrations
Other systems that connect to Tipalti
Connect SAP Business One and Tipalti
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started