> ## Documentation Index
> Fetch the complete documentation index at: https://docs.singapay.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Reconciliation

Reconciliation is the process of matching SingaPay transaction records to your own internal order system — confirming that every payment received is accounted for, and every settlement transfer matches your bank statement.

***

## The reconciliation flow

<Steps>
  <Step title="Pull SingaPay transaction history">
    Use the Transaction History API or dashboard export to pull all completed transactions for the period. Filter by account and product type as needed.
  </Step>

  <Step title="Match against your internal orders">
    Use the `merchant_reff_no` field — your internal order or reference ID — to link each SingaPay record to your own order management system. Every transaction you create should carry this reference.
  </Step>

  <Step title="Cross-reference the settlement report">
    Download your settlement report for the same period. Confirm the net transferred amount (gross payments minus fees) matches what landed in your bank account.
  </Step>

  <Step title="Flag and investigate discrepancies">
    Any transaction in SingaPay not matched to an internal order — or any settlement amount that differs from your bank statement — should be flagged and reviewed. Contact [cs@singapay.id](mailto:cs@singapay.id) with the transaction ID for assistance.
  </Step>
</Steps>

***

## Best practices

✓ Always set `merchant_reff_no` when creating any transaction — this is your primary reconciliation key and is returned in every API response and webhook payload.

✓ Run reconciliation daily for high-volume operations, or at minimum at the end of each settlement cycle.

✓ Use per-account transaction history if you operate sub-accounts, so you get a clean view per business unit.

✓ Never rely solely on webhook events for reconciliation — always back them up with a daily scheduled pull of the transaction history API.

✓ Store SingaPay transaction IDs alongside your own order records so you can look up any transaction instantly when investigating a discrepancy.

***

## Settlement vs. transaction timing

It's important to understand the difference between when a payment is *confirmed* and when funds *arrive in your bank account*. A customer payment may be confirmed in real time, but the net settlement to your bank account follows the standard T+1 or T+3 cycle depending on the payment method. Your balance statement shows both the credit (when it hit your SingaPay balance) and the settlement transfer (when it left SingaPay for your bank).

***

<Note>
  If you spot a discrepancy between your SingaPay settlement report and your bank statement, always check whether the settlement cycle spans two calendar periods — some transactions confirmed late in the day may settle in the next batch. Contact our team at [cs@singapay.id](mailto:cs@singapay.id) for discrepancy investigations.
</Note>

***
