ml-connector
SAP Business OneWise

SAP Business One and Wise integration

SAP Business One runs your small-to-midsize manufacturing or distribution business, with financials, purchasing, and inventory. Wise handles your international payments and multi-currency operations. Connecting the two keeps payment execution in sync with your accounting records. Vendor invoices and outgoing payments recorded in SAP Business One can be converted into Wise transfers and payouts without leaving your ERP, so payment reconciliation stays current and cross-border transactions move faster.

How SAP Business One works

SAP Business One is an on-premise ERP deployed at a customer-specific Service Layer instance (https://<customer-server>:<port>/b1s/v2/). It exposes purchase invoices, outgoing payments, vendors (BusinessPartners), chart of accounts, and dimension codes through OData v4 REST endpoints. Authentication uses a session token acquired by POST /Login, which expires after 30 minutes of inactivity and returns error code -5002 on timeout. Webhooks are available in newer versions (FP 2602+) if the Webhook Messenger Service is activated, but polling is the default and recommended approach. The API supports $filter and $top/$skip for query parameters, and each customer provides their own Service Layer URL since there is no fixed global endpoint.

How Wise works

Wise exposes profiles, balances, recipients, transfer quotes, and transfer orders through a REST API at https://api.wise.com (production) with rate limits of 100 requests per second and 1000 per minute. Authentication uses OAuth 2.0 with 12-hour token expiry and long-lived refresh tokens, or a Personal API Token for simpler setups. Transfer creation requires a defined sequence: create a quote, define a recipient, create a transfer order, and fund the transfer with a payment method. Transfers and balance changes push to registered webhooks with RSA-SHA256 signature verification, but balance-to-balance transfers do not trigger transfer state-change events so balance update webhooks must be monitored. The Profile ID is required on most endpoints and must be retrieved via GET /v1/profiles first.

What moves between them

Data flows from SAP Business One into Wise. Outgoing payments and vendor invoices in SAP Business One are polled on a schedule tied to your payment calendar, then converted into Wise payment orders. Vendor names and addresses are mapped to Wise recipients on creation, and payment amounts and currencies are quoted against the Wise exchange rate at the time of scheduling. The status of each Wise transfer flows back into SAP Business One as a note or status field so the payment execution state is visible in the ERP without re-keying.

How ml-connector handles it

ml-connector maintains a persistent session token with SAP Business One, reusing it across multiple requests to avoid the 5-second cold-start penalty of session creation, and monitoring the 30-minute inactivity timeout to refresh before expiration. On the Wise side, it handles OAuth 2.0 token refresh on 12-hour expiry and executes the four-step transfer sequence (quote, recipient, transfer, fund) as a coordinated batch, tracking each step for retry if a failure occurs mid-sequence. Payment currency is read from the SAP Business One invoice, and the vendor name and remittance address are used to define or update a Wise recipient; if the same vendor is paid multiple times, the recipient is reused. Rate-limit handling is built in: when Wise returns HTTP 429, ml-connector backs off exponentially and retries. Every transfer and its corresponding SAP Business One payment record are logged with full audit trails and can be replayed if a Wise transfer confirmation fails to return.

A real-world example

A mid-sized specialty manufacturing company operates SAP Business One on-premise to manage purchasing and finance across three countries. They import raw materials and components from international suppliers and pay them in multiple currencies via Wise. Before the integration, the finance team manually entered approved payments from SAP Business One into Wise twice a week, re-keying vendor addresses and amounts, then waited for Wise to confirm the transfer before updating the payment status in SAP Business One. With SAP Business One and Wise connected, approved payments flow into Wise automatically with correct vendor details and currency conversion, and the payment status updates back to SAP Business One so the team can track cross-border transfers without switching systems.

What you can do

  • Convert outgoing payments and vendor invoices in SAP Business One into Wise transfer orders with automatic vendor-to-recipient mapping.
  • Retrieve Wise exchange rates and quotes for each payment currency to keep pricing current.
  • Execute Wise transfers in the correct sequence (quote, recipient, transfer, fund) as a single coordinated workflow.
  • Poll SAP Business One on a schedule you define, reusing the session token to avoid cold-start overhead and prevent timeout.
  • Maintain full audit trails for each payment and transfer, with replay support if a downstream step fails.

Questions

Which direction does data move between SAP Business One and Wise?
Outgoing payments and purchase invoices flow from SAP Business One into Wise, where they are converted into transfer orders. Vendor address and name details are mapped to Wise recipients, and the final transfer status flows back into SAP Business One for reconciliation. The data flows on a schedule you define tied to your payment cycle.
How does the integration handle SAP Business One's on-premise deployment and session management?
ml-connector accepts the customer-specific Service Layer URL and port, logs in once via the session token endpoint, and reuses that token across multiple requests. It monitors the 30-minute inactivity timeout and refreshes the session before expiration so polling requests never encounter a timeout error. This approach avoids the 5-second overhead of a cold-start session creation on each request.
What happens if a Wise transfer fails mid-sequence or the exchange rate changes before funding?
ml-connector tracks each step of the four-step Wise transfer sequence (quote, recipient, transfer, fund) and can retry any failed step with a fresh quote if the exchange rate moves or the quote expires. All attempts are logged in the audit trail, so you can review what was tried and replay the transfer if needed.

Related integrations

Connect SAP Business One and Wise

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

Get started