SAP Business One and Stripe integration
SAP Business One runs your small-to-midsize business financials on-premise. Stripe handles online payments and subscriptions in the cloud. Connecting the two means invoices created in SAP flow to Stripe for payment collection without manual entry. When a customer pays through Stripe, the payment posts back into SAP Business One's Accounts Receivable automatically. Cash application becomes instant, and your AR aging report stays accurate.
What moves between them
Invoices flow from SAP Business One to Stripe for customer payment. When a Stripe payment intent succeeds or a charge is created, the event triggers an ml-connector flow that fetches the current charge state from Stripe API and posts an incoming payment into SAP Business One's Accounts Receivable, keyed to the original customer and invoice. Customer data syncs from SAP to Stripe to keep payment profiles and subscription management in agreement. Reference data moves in both directions.
How ml-connector handles it
ml-connector stores the SAP Service Layer URL per customer and renews the session token before each 30-minute timeout by reusing the session rather than authenticating per request. It stores the Stripe Secret Key encrypted and sends all API calls via HTTP Basic Auth. On the SAP side, it polls the Invoices and IncomingPayments endpoints with an UpdateDate filter on a schedule tied to your billing calendar, handling the per-customer Service Layer URL and managing the OData v4 pagination (default page size 20, controlled by $top/$skip). Stripe webhooks are received and validated with the Stripe-Signature HMAC header, and because Stripe does not guarantee event ordering, ml-connector re-fetches the charge or payment intent from the Stripe API to get the current state before posting the payment into SAP. Stripe rate limits are managed with exponential backoff and jitter. Every invoice sync and payment post carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A B2B SaaS company running on SAP Business One for finance and ERP sends invoices to customers each billing cycle. Before the integration, the finance team manually keyed each invoice into Stripe or relied on a separate invoicing tool, then had to reconcile Stripe payments back to SAP each week, chasing down matching issues between invoice IDs and customer names. With SAP Business One and Stripe connected, each invoice created in SAP automatically pushes to Stripe, customers pay through Stripe, and the payment flow back into SAP Business One's Accounts Receivable the instant it succeeds. AR reconciliation is automatic, and the manual keying step is gone.
What you can do
- Push SAP Business One invoices to Stripe for online payment collection, mapped by customer.
- Bring Stripe payment intents and charge events back into SAP Business One as incoming payments posted to the correct invoice.
- Keep customer records and profiles in sync between SAP Business One and Stripe so subscription management reflects current AR data.
- Renew SAP Business One session tokens automatically every 30 minutes and authenticate Stripe calls with Secret Key via HTTP Basic Auth.
- Poll SAP Business One on your billing schedule with full audit trail and event replay if a Stripe webhook fails.
Questions
- Which direction does data move between SAP Business One and Stripe?
- Invoices and customer data move from SAP Business One to Stripe for payment collection. Stripe payment and charge events move back into SAP Business One as incoming payments that auto-apply to the matching invoice. Reference data such as customer profiles can sync in both directions.
- How does ml-connector handle SAP Business One session tokens?
- SAP Business One session tokens expire after 30 minutes of inactivity and return error code -5002 on timeout. ml-connector stores the Service Layer URL per customer, renews the session before each timeout by reusing the existing session rather than re-authenticating on every request, and tracks session state to avoid gaps.
- What happens if a Stripe webhook is delayed or arrives out of order?
- Stripe webhooks are not guaranteed to arrive in order. ml-connector validates each webhook with the Stripe-Signature HMAC header and then re-fetches the current charge or payment intent state from the Stripe API before posting the payment into SAP Business One, ensuring the data posted is always current and accurate.
Related integrations
More SAP Business One integrations
Other systems that connect to Stripe
Connect SAP Business One and Stripe
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started