SAP ECC and Adyen integration
SAP ECC runs your enterprise finance. Adyen processes your payments. Connecting them keeps your cash and revenue accounts reconciled without manual posting. Every Adyen payment, capture, refund, and settlement flows into SAP ECC's general ledger, matched to the correct customer and GL account. ml-connector handles Adyen's webhook signatures, reconciliation to SAP ECC customer records, and the GL posting mechanics.
What moves between them
Payment and settlement data flow from Adyen into SAP ECC. After each Adyen transaction or at the end of the settlement cycle, ml-connector receives the webhook event, matches it to a SAP ECC customer via order ID or email, reconciles the amounts and currency, and posts the GL entries into SAP ECC's general ledger. Settlements and chargebacks post to revenue and receivables accounts respectively. SAP ECC is the system of record for GL posting - ml-connector does not write payments or settlements back into Adyen.
How ml-connector handles it
ml-connector listens for Adyen webhook POST requests on a configured endpoint and verifies each signature with HMAC-SHA256 before processing. It stores the Adyen API Key encrypted in SAP ECC and uses it to fetch additional transaction detail if needed. For each payment event, ml-connector queries SAP ECC's BAPI_CUSTOMER_GETLIST and BAPI_GL_ACC_GETLIST to match the transaction to a customer record and the correct GL accounts for revenue and receivables. It then calls BAPI_ACC_DOCUMENT_POST to create the GL entry, specifying the GL account, cost center, customer, amount, and currency. Because SAP ECC write BAPIs require explicit transaction commit and can leave documents locked on error, ml-connector calls BAPI_TRANSACTION_COMMIT after each successful posting and logs failed postings for replay. The on-premises RFC agent must be running and network-accessible for BAPI calls to succeed. Adyen disputes and chargebacks are tracked separately and posted to a designated chargeback or dispute account.
A real-world example
A mid-sized SaaS company processes customer payments through Adyen and runs SAP ECC for accounting and revenue recognition on-premises. Before the integration, the finance team exported settlement reports from Adyen daily and manually entered the cash and revenue journal entries into SAP ECC at month-end, a process that took two to three days and was error-prone due to mismatched customer references and currency rounding. With SAP ECC and Adyen connected, each payment event posts a GL entry into SAP ECC within minutes of the transaction, matched to the customer and the correct GL account. Revenue is recognized in real time, reconciliation happens automatically, and month-end close begins with cash and receivables already balanced.
What you can do
- Receive Adyen payment events via webhook and verify each signature with HMAC-SHA256.
- Post Adyen settlements and refunds into SAP ECC's general ledger using BAPI_ACC_DOCUMENT_POST, allocated to the correct GL account and customer.
- Match Adyen transactions to SAP ECC customers by order ID or email, and reconcile amounts and currencies before posting.
- Track Adyen disputes and chargebacks separately and post them to a designated GL account for investigation.
- Replay failed GL postings and maintain a full audit trail of every transaction from Adyen through SAP ECC.
Questions
- Does ml-connector support Adyen's Balance Platform and payout features?
- ml-connector focuses on payment and settlement reconciliation into SAP ECC's general ledger. Adyen Balance Platform payouts are supported via the Transfers API; ml-connector can post payout settlements as GL entries if your contract includes the Balance Platform. Consult your Adyen account setup to confirm which APIs and features are enabled.
- What happens if an Adyen webhook fails to reach ml-connector or SAP ECC is down?
- If ml-connector cannot post a GL entry to SAP ECC, the failed transaction is logged with the Adyen event ID and the full request, and can be replayed once SAP ECC is restored or the underlying data issue (e.g., a missing customer or GL account) is fixed. ml-connector retries transient network errors up to a configurable limit. Permanent failures are surfaced in the audit trail for manual review.
- Do Adyen refunds and cancellations reverse the original GL entry or create a new offsetting entry?
- ml-connector treats refunds and cancellations as separate Adyen events and creates offsetting GL entries with negative amounts, reversing the original revenue or settlement posting. This approach avoids modifying GL entries after posting, which SAP ECC discourages. The audit trail shows both the original transaction and the reversal with their Adyen event IDs linked.
Related integrations
More SAP ECC integrations
Other systems that connect to Adyen
Connect SAP ECC and Adyen
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started