The reconciliation flow
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.
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.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.
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 with the transaction ID for assistance.
Best practices
✓ Always setmerchant_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).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 for discrepancy investigations.
