Automate payment reconciliation

Automating your reconciliation process allows your team to focus on managing exceptions rather than manually matching transactions. A key step is separating sales and bank reconciliation (see Payout and charges).  This means separating your processes into:

  • Checking consistency between your sales report and the payment requests received by Adyen.
  • Validating and booking funds received on your bank account and reported costs.

Successful implementations within ERP systems (e.g. SAP, MS Dynamics AX, etc.) use the following approach:

Step 1: Create a debit position in a GL clearing account


For each sale or payment:

  1. Create a receivable position in a clearing account in your ERP or accounting system. Implement this based on the existing sales reports from your ecommerce  or point-of-sale platform. Ensure you use a unique order reference to enable automated matching later.

    You may have to perform one-to-many bookings, for example multiple partial captures.

  2. Import Adyen's daily Received Payments Report to validate the total takings for a given period, investigate any discrepancies with your sales report and import metadata on the payment interaction. This validation is recommended for standalone / non-integrated POS terminal operations to identify discrepancies as soon as possible.

Step 2: Clear the receivable positions on receipt of funds

Adyen provides a settlement detail report for each payout. The payout refers to payments from multiple sales days. We recommend you download these reports automatically and process them line-by-line as follows:

  1. Validate the Net Debit (NC) of the MerchantPayout line against your imported bank statement, using the unique TX…XT reference as a link:
  2. For each Settled and Refunded booking line (payment), credit against the open gross (sales) amount in your pending account and the Net Credit amount into a bank account using the unique order reference submitted for each payment.
  3. Book withheld costs (ie. Adyen commission, markup, interchange and scheme fees) into a separate cost ledger(s).
  4. Perform a foreign exchange (FX) re-valuation, if applicable.
  5. Book any balance-level mutations (Fee, DepositCorrection, etc.) as well as additional payment-level booking types such as Chargebacks, PaidOut and PaymentCost items. 

    Add an explicit process to deal with unexpected journal types / booking lines.

Step 3: Manage Balance sheet, Profit and Loss and exceptions

  1. Use a transaction-level accounting approach so that all pending amounts can be recognized on your balance sheet and audited to the order level.
    The approach outlined previously would produce the following bookings (for a single payment) and end balance
  2. Monitor your overall receivables/pending balance, 
  3. Implement a report that allows retrieving open positions booked into the clearing account more than X days ago, and/or from a particular date. This allows you to monitor exceptions and identify any problems (e.g. all visa payments older than 10 days not yet cleared).


Match settlements to transactions

Depending on your implementation, you can store one or more keys per transaction. 

For example, you can configure your implementation to store the merchant transaction identifier generated by your system, and then passed on to Adyen via the reference or the merchantReference fields. Alternatively, you can store the Adyen-generated pspReference.
Adyen reports include both references, so you can easily tie the report line items back to the individual transactions in your system.

We recommend automating the matching process. The following basic guidelines can get you jump-started. 

  • Check your bank statements against the settlement records:
    • Identify the line item in your bank statement that contains the TX...XT description and the batch number.
    • Identify the corresponding settlement detail report.
    • Verify that the deposit amount matches the amount indicated in the settlement detail report.
  • Using the settlement detail report line items, update each transaction in your system with the appropriate status, as indicated in the report. For example: settledrefunded or chargeback.
  • Optional:
    • You can add a batch number field to your transaction table to look up which batch the transaction was paid out.
    • You can store the settled amount, so you can keep track of the costs per transaction.

 A fully automated system leaves no room for errors, and it contributes to making your bookkeeping system correct, as far as Adyen transactions are concerned.

Handle multi-currency transactions

  • If you have multiple settlement currencies, the settlement detail report contains a merchant payout line for each applicable settlement currency.
  • If a settlement batch contains transactions with processing currencies other than the settlement currency, then these gross amounts are converted to the net amount in the settlement currency.
    For example, if your settlement currency is EUR, and if you also process payments in SEK, you see both currencies and amounts in the reports, including the exchange rate used to convert the processing amount (SEK) to the settlement amount (EUR).
    To check the exchange rate used for the currency conversion, refer to the relevant Adyen's daily Exchange Rate Report.