Microsoft Dynamics 365 Business Central and Adyen integration
Microsoft Dynamics 365 Business Central runs finance and operations. Adyen processes card payments, refunds, and payouts. Connecting the two brings settled payment activity into the general ledger without re-keying. After each Adyen settlement, the captured amounts, refunds, processing fees, and chargebacks post into Business Central against the correct GL accounts and dimensions, and customer payments can be applied to the sales invoices they settle. ml-connector handles the very different APIs on each side and reconciles payment activity to the ledger on the cadence you set.
What moves between them
The flow runs from Adyen into Microsoft Dynamics 365 Business Central. ml-connector consumes Adyen settlement and reconciliation reports and posts the resulting journals into the Business Central general ledger through generic journal lines: captured payments, refunds, processing fees, and chargebacks, each mapped to the matching GL account and dimension values. Where an Adyen payment carries a merchantReference that ties to a Business Central sales invoice, the capture is applied as a customer payment so the invoice is marked paid. Capture, refund, and report-available webhooks from Adyen trigger the work as soon as activity settles, and a scheduled poll backfills anything a webhook missed. Adyen is treated as a read-only accounting source, so ml-connector never writes payment instructions or financial entries back into Adyen.
How ml-connector handles it
ml-connector stores both credential sets encrypted. It requests a Microsoft Entra ID OAuth token for the Business Central environment and refreshes it on expiry, and it sends the Adyen X-API-Key on every request, switching to the merchant-specific live URL prefix when the environment is live. Adyen webhooks arrive signed with HMAC-SHA256, so each notification is verified before processing and the pspReference is used as an idempotency key, because Adyen can deliver the same notification more than once. On REPORT_AVAILABLE, the settlement report is downloaded from the signed URL, parsed, and its lines mapped to Business Central GL accounts and dimensions, which are aligned first so every journal line lands on a valid account and dimension. Because Business Central GL accounts and ledger entries are read-only, postings are written as general journal lines, and captures that match an open sales invoice are recorded through a customer payment journal. Business Central change subscriptions expire every three days, so ml-connector renews them before expiry and falls back to an OData lastModifiedDateTime poll. Adyen rate limits return a too-many-requests error and Business Central returns HTTP 429 when throttled, so ml-connector backs off with jitter and retries, and every record carries a full audit trail and can be replayed if a Business Central post fails.
A real-world example
A direct-to-consumer manufacturer with around 200 employees sells finished goods through its own online store and uses Microsoft Dynamics 365 Business Central for finance and inventory, with Adyen as the payment processor at checkout. Before the integration, the finance team downloaded Adyen settlement reports each day and manually entered the gross sales, refunds, and processing fees into Business Central, then spent month-end close reconciling the bank deposit against the orders it was supposed to cover. With Business Central and Adyen connected, each settlement report posts into Business Central automatically as journal lines split across the right GL accounts and dimensions, so the payment fees are recognized and the deposits already tie out. The daily re-keying step is gone and close starts from reconciled numbers.
What you can do
- Post Adyen settlement and reconciliation reports into the Business Central general ledger as journal lines after every payout.
- Record captured payments, refunds, processing fees, and chargebacks against the correct Business Central GL accounts and dimensions.
- Apply Adyen captures to matching Business Central sales invoices through a customer payment journal where a merchant reference ties them together.
- Receive Adyen capture, refund, and report-available webhooks, verified by HMAC-SHA256, and act on them as activity settles.
- Authenticate Adyen with its API key and live URL prefix, and Business Central with Microsoft Entra ID OAuth, with retries and a full audit trail on every record.
Questions
- Which direction does data move between Microsoft Dynamics 365 Business Central and Adyen?
- The flow is Adyen into Business Central. Settlement reports, captures, refunds, fees, and chargebacks move from Adyen into the Business Central general ledger. Adyen is treated as a read-only accounting source, so ml-connector does not write payment instructions or financial entries back into Adyen.
- Does Adyen post invoices or purchase orders into Business Central?
- No. Adyen is a payments platform and has no native invoice, purchase order, or vendor objects. What it provides is payment, refund, payout, dispute, and reconciliation report data, and ml-connector maps that activity into the Business Central general ledger as journal lines rather than as AP or AR documents.
- How does the integration handle Adyen webhooks and Business Central subscriptions?
- Adyen webhooks are signed with HMAC-SHA256, so ml-connector verifies each notification before processing and uses the pspReference to dedup redelivered events. Business Central also offers change subscriptions, but they carry no data and expire every three days, so ml-connector renews them ahead of expiry and backstops them with a scheduled OData poll filtered on the last modified time.
Related integrations
More Microsoft Dynamics 365 Business Central integrations
Other systems that connect to Adyen
Connect Microsoft Dynamics 365 Business Central and Adyen
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started