SAP Business One and Adyen integration
SAP Business One runs your financials and operations. Adyen processes your payments. Connecting the two turns raw payment activity into clean accounting without re-keying. Adyen settlement reports and the events behind each payment, refund, and chargeback become journal entries in SAP Business One, booked against the correct GL accounts and profit centers. ml-connector handles the very different APIs on each side and posts the entries on a schedule you control or as Adyen reports become available.
What moves between them
The main flow runs from Adyen into SAP Business One. As each Adyen settlement report becomes available, ml-connector downloads it, parses the settlement lines, and posts balanced journal entries into SAP Business One, allocated to the GL accounts and profit centers that represent gross sales, scheme fees, refunds, and chargebacks. Individual authorisation, capture, refund, and chargeback events can be booked the same direction as they happen, each tagged with its Adyen pspReference. Where a customer runs Adyen payouts to suppliers, approved SAP Business One outgoing payments can be sent to Adyen as transfers in the other direction. Adyen holds no GL data, so ml-connector never writes accounting records back into the payments platform.
How ml-connector handles it
ml-connector stores both credential sets encrypted, sends the Adyen X-API-Key on every request against the merchant-specific live URL prefix, and logs in to the SAP Business One Service Layer to obtain a B1SESSION cookie, reusing that session and re-authenticating on error code -5002 instead of logging in per request. Adyen webhooks are verified with HMAC-SHA256 before anything is booked, and because Adyen can deliver the same notification more than once, the pspReference is used as the dedup key. Settlement report lines map to journal entry lines, with fee, refund, and chargeback categories routed to the GL accounts and profit centers configured for the merchant account, so each batch posts as a balanced entry. Since the Service Layer has no idempotency keys, ml-connector checks the document number before re-posting after a network failure, and groups linked lines in an OData batch changeset so a settlement entry succeeds or fails as a whole. Outgoing Adyen calls carry an Idempotency-Key, and rate-limit and session-timeout errors are retried with backoff, with every record fully audited and replayable.
A real-world example
A mid-sized online retailer with about 150 staff runs SAP Business One for finance and inventory and takes card and local payment methods through Adyen across its web store and a handful of physical stores. Before the integration, an accountant downloaded the Adyen settlement report each cycle, split out gross sales, processing fees, refunds, and chargebacks by hand, and keyed the totals into SAP Business One as manual journals, which made month-end close slow and left the cash account hard to reconcile against the bank deposit. With SAP Business One and Adyen connected, each settlement batch posts automatically as a balanced journal entry allocated to the right accounts and store profit centers, so the payout on the bank statement matches the ledger and close starts with payments already reconciled.
What you can do
- Post Adyen settlement reports into SAP Business One as balanced journal entries split across sales, fee, refund, and chargeback accounts.
- Book Adyen authorisation, capture, refund, and chargeback events into the general ledger, each tagged with its pspReference.
- Allocate payment activity to SAP Business One profit centers per merchant account or store.
- Bridge the Adyen API key and the SAP Business One session login, reusing the session and re-authenticating on timeout.
- Send approved SAP Business One outgoing payments to Adyen as transfers where supplier payouts run through Adyen.
Questions
- Which direction does data move between SAP Business One and Adyen?
- The main flow is Adyen into SAP Business One. Settlement reports and payment, refund, and chargeback events move from Adyen and become journal entries in SAP Business One. Adyen holds no general ledger data, so ml-connector does not write accounting records back into Adyen, though approved outgoing payments can optionally be sent to Adyen as transfers.
- How does the integration turn Adyen payments into accounting entries?
- Adyen has no invoices or GL accounts, so the canonical source is the settlement and reconciliation report. When Adyen sends a REPORT_AVAILABLE notification, ml-connector downloads the report from the signed URL, parses the settlement lines, and posts a balanced journal entry in SAP Business One with gross sales, fees, refunds, and chargebacks routed to their configured GL accounts and profit centers. Each transaction's pspReference is stored on the entry for traceability.
- How does it handle Adyen webhooks and the SAP Business One session and base URL?
- Incoming Adyen notifications are verified with HMAC-SHA256 before booking, and the pspReference is used as a dedup key because Adyen can resend the same notification. On the SAP Business One side, ml-connector accepts the full customer-specific Service Layer base URL, since there is no shared hostname, logs in for a B1SESSION cookie, and re-authenticates on the -5002 session-timeout error rather than logging in on every call.
Related integrations
More SAP Business One integrations
Other systems that connect to Adyen
Connect SAP Business One and Adyen
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started