Merchants can use the Xendit reports to reconcile payments between their order management system and the Xendit payment gateway.
System
Transaction Reconciliation ensures that all orders and payments are linked correctly. This prevents unpaid services or goods from being delivered and helps merchants associate payments with corresponding fees for accounting purposes.
Bank Reconciliation refers to the matching of payment records within Xendit to actual settlement records from the bank, ensuring funds are properly transferred and accounted.
Understanding the different transaction identifiers
The below use cases illustrate which ID can be used in order to associate a payment, with its unique payment ID, to orders in the merchant order management system. Depending on the payment interface used, the merchant may rely solely on reference id. This is however not possible for the reusable payment code and reusable payment link use case where there can be multiple payments sharing the same reference.
Single Use Payment
One order leads to one payment request, which results in a single payment and a single capture.
Relevant IDs for reconciliation: Order reference ID
Relevant IDs for investigation: Payment ID
Single Use Payment with Multiple Captures
One order and one payment request result in a single payment, which is captured in multiple parts.
Relevant IDs for reconciliation: Order reference ID
Relevant IDs for investigation: Payment ID and potentially Capture ID (if there are more than one capture)
Reusable Payment Code
A reusable payment request allows multiple payments from the same request, each followed by its own capture. The order is not directly tied to the payment intent.
Relevant IDs for reconciliation: Order reference ID, Payment IDs. Several successful payments can share the same reference ID. Payer remarks (when available) can also assist reconciliation.
Relevant IDs for investigation: Payment IDs
Single Use Payment Link
One order creates a single-use payment link, which generates one payment followed by a single capture.
Relevant IDs for reconciliation: Order reference ID
Relevant IDs for investigation: Payment Link ID, Payment ID
Reusable Payment Link
One reusable payment link generates multiple payment links. Each leads to a single payment and a capture. The order is not directly tied to the reusable payment link.
Relevant IDs for reconciliation: Order reference ID, Payment IDs. Several successful payments can share the same reference ID.
Relevant IDs for investigation: Reusable Payment Link ID, Payment Link ID, Payment ID
Notes:
Payment ID appears as product_id in reports and the UI.
Payment Link ID is the invoice_id in webhooks and reports.
Order reference ID is the reference_id or merchant_reference in Xendit and is generated by the merchant.
Bank reconciliation
In order to ensure that your bank statements reconcile with your Xendit balance, you must ensure that all withdrawal amounts recorded in the payment gateway match the funds received in your bank account.
Then, to validate your Xendit balance, you must confirm that the change in balance since your last reconciliation corresponds exactly to the sum of all your transactions.
To perform such balance reconciliation, you have two options:
Option 1: Use the Balance Report
The Balance Report contains an immutable record of all ledger entries that impact your balance. If you use this method:
Ensure that you can reconcile entries between the Transaction Report and the Balance Report.
Ensure the balance change equals the sum of all debits and credits within the selected period.
Option 2: Use the Transaction Report
This is the same report used for transaction reconciliation. To isolate transactions impacting the balance in a given time interval, apply the following filters:
Include transactions in settled status based on their settlement time within the interval.
Include transactions in reversed status based on their updated time within the interval.
Auto-withdrawal payout reconciliation
Auto-withdrawal reconciliation is an alternative way of reconciling transactions and balance. The auto-withdrawal report format is based on the Balance Report but also includes all unsettled transactions that impact the available balance.
Auto-withdrawal enables merchants to withdraw the available balance, not the total balance. This means the following are included in the withdrawal interval:
Includes pending money-out transactions based on creation time (exclude them if already settled or failed within the withdrawal interval).
Includes failed money-out transactions based on updated time in the interval (exclude if created within the same interval).
Using auto-withdrawal reconciliation is more straightforward when Xendit is used only as a payment gateway, as it reflects the true available balance at the time of withdrawal.
Transaction reconciliation issue handling
Missing Transactions
When transactions appear in one system but not the other:
Check transaction timing.
Verify webhook delivery.
Review API responses.
Contact Xendit support if needed.
Settlement Delays
For delayed settlements:
Verify payment method settlement timeline.
Check for bank holidays.
Review transaction settlement status.
Contact Xendit support if needed.