SAP Business One and PayPal integration
SAP Business One runs your core financials, purchasing, and sales on-premise. PayPal handles your payments and invoicing online. Connecting them keeps your payment records in agreement across both systems. Incoming and outgoing payments recorded in SAP Business One sync with PayPal transactions and invoices so your cash position and receivables are accurate in real time. ml-connector handles the very different APIs on each side and moves the data on a schedule you control.
What moves between them
The main flow runs from SAP Business One into PayPal. ml-connector polls SAP Business One's IncomingPayments and OutgoingPayments entities on a schedule you define, maps each payment to a corresponding PayPal transaction or invoice, and tracks the sync state. Because SAP Business One is on-premise and has no webhook push to a cloud endpoint, polling with an UpdateDate filter is the primary method. PayPal transaction records are read-only in this direction, so ml-connector does not write transaction data back into PayPal from SAP Business One.
How ml-connector handles it
ml-connector maintains a persistent session with SAP Business One by reusing the B1SESSION token across multiple API calls within its 30-minute window, refreshing when needed. On the PayPal side it handles OAuth 2.0 token refresh automatically, caching the Bearer token to avoid redundant calls to the token endpoint. SAP Business One requires each payment to be matched by DocNum to prevent duplicate syncs on retry. Because SAP Business One is on-premise with a customer-specific Service Layer URL, ml-connector accepts the full base URL per customer and polls both IncomingPayments and OutgoingPayments with OData $filter=UpdateDate gt datetimeoffset(...). PayPal transaction search is limited to a 31-day window, so ml-connector maintains a sliding window of recent syncs and alerts when a transaction moves outside it. Every record carries a full audit trail and can be replayed if a downstream API call fails.
A real-world example
A small-to-midsize distribution company runs SAP Business One on-premise for core purchasing, sales, and general ledger operations, and uses PayPal for online payments and invoicing from web customers. Before the integration, the accounting team downloaded payment records from PayPal weekly and manually matched them to invoices and payments in SAP Business One, then posted the cash receipts and expenditures into the journal by hand. With SAP Business One and PayPal connected, each payment syncs automatically on a daily schedule, matched to the corresponding invoice or purchase order in SAP Business One, and the accounting team can reconcile cash and receivables without re-keying or manual matching.
What you can do
- Poll SAP Business One for incoming and outgoing payments on a schedule you control, with automatic session token refresh and DocNum-based deduplication.
- Map SAP Business One payments to PayPal transactions and invoices, keeping cash records aligned across both systems.
- Handle OAuth 2.0 token refresh on the PayPal side and session token management on the SAP Business One side.
- Store all payment attributes encrypted and maintain a complete audit trail of every record synced, with replay capability on failure.
- Respect the 31-day transaction search window in PayPal and the 30-minute session timeout in SAP Business One.
Questions
- How does ml-connector keep SAP Business One and PayPal payment records in sync?
- ml-connector polls SAP Business One's IncomingPayments and OutgoingPayments entities on a schedule you define, using OData UpdateDate filters to find only new or changed records since the last run. Each payment is matched to a PayPal transaction or invoice using the payment amount and date, authenticated with SAP Business One's session token and PayPal's OAuth 2.0 Bearer token.
- What happens if the SAP Business One session times out or a PayPal token expires?
- ml-connector automatically refreshes the SAP Business One session token before it expires by reusing the existing B1SESSION cookie and obtaining a new one on timeout. PayPal Bearer tokens are cached and refreshed only when needed. Both systems' credentials are stored encrypted, and token refresh is transparent to the sync process.
- Which direction does data move, and can ml-connector write payments back into either system?
- Payments flow from SAP Business One into PayPal as read-only records for reconciliation. ml-connector matches and tracks the payments but does not write transaction data back into PayPal from SAP Business One. This keeps PayPal the system of record for payment details while SAP Business One remains the source of truth for your financial ledger.
Related integrations
More SAP Business One integrations
Other systems that connect to PayPal
Connect SAP Business One and PayPal
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started