Reconciliation Reports

Reconciliation Reports

Understand and work with NjiaPay reconciliation reports to match your transactions against PSP settlement data.

NjiaPay provides a suite of reconciliation reports that help you verify every transaction processed through your account matches what your payment service providers (PSPs) report on their end. These reports are available as CSV downloads from the Merchant Portal under the Reconciliation tab.

Last updated: March 2026

Why Reconciliation Matters

When you process payments through NjiaPay, the flow involves multiple systems:

mermaid
graph LR
    A[Your Customer] --> B[NjiaPay]
    B --> C[PSP e.g. Adyen]
    C --> D[Bank / Card Network]
    D --> C
    C --> B
    B --> A

Each system keeps its own records. Reconciliation is the process of cross-checking NjiaPay's records against the PSP's settlement files to make sure:

  • Every successful payment in NjiaPay also appears in the PSP settlement
  • The amounts match (no discrepancies in what was charged vs. what was settled)
  • You can account for PSP fees, currency conversions, and net payouts
  • No transactions are missing on either side

Available Reports

NjiaPay generates four reconciliation reports, each serving a different purpose in your monthly close process:

NjiaPay Transactions

All successful transactions recorded by NjiaPay. Your single source of truth for what was processed.

Successful Payments

Every successful payment with its reconciliation status: matched against PSP settlement data or still awaiting confirmation. Includes side-by-side amounts, fees, and break flags.

Refunds, Chargebacks & Pending

Non-success transactions: refunds, chargebacks, and payments that haven't reached a final state.

Fees & Settlements

Operational entries from your PSPs: settlement payouts, processing fees, dispute holds, and other non-transaction records.

Guides

Timezone Settings

How the timezone selector affects which transactions appear in each month and how timestamps are displayed in exports.

Uploading PSP Data

How to upload settlement files and use the coverage timeline to ensure complete reconciliation.

PSP Export Guides

Step-by-step instructions for exporting settlement files from Adyen, PayPal, and Paystack.

Example Workbook

Download this example Excel workbook to see how the four reconciliation reports look in practice, with sample data and ready-made analysis sheets:

Download Example Workbook (.xlsx)

The workbook contains six sheets:

SheetWhat it contains
njia_transactionsSample data from the NjiaPay Transactions report: 80 successful payments across multiple currencies and PSPs.
matched_success_txSample data from the Successful Payments report: the same 80 payments with PSP matching status, fees, net amounts, and break flags. Includes both matched and unmatched rows.
matched_other_txSample data from the Refunds, Chargebacks & Pending report: pending checkouts, refunds, and chargebacks.
psp_non_txSample data from the Fees & Settlements report: merchant payouts, processing fees, and dispute holds from Adyen and PayPal.
Reconciliation KPIsA dashboard sheet with formulas that calculate key metrics: match rate, total volume per currency, unmatched amounts, and PSP fee totals. Use this as a template for your own monthly summary.
Inconsistency FinderAn analysis sheet that automatically flags transactions with amount breaks, currency mismatches, or other anomalies. Adapt the formulas to your own data.

Open the workbook in Excel or Google Sheets and explore the formulas in the last two sheets to understand how they reference the report data. You can use these sheets as starting templates for your own reconciliation process.

Typical Reconciliation Workflow

Here is how a finance team typically uses these reports each month:

Step 1: Upload PSP Settlement Files

Before downloading reports, make sure you have uploaded PSP settlement data for the month. Check the coverage timeline. Your goal is a fully blue bar for each PSP.

Step 2: Start with NjiaPay Transactions

Download the NjiaPay Transactions report for your period. This gives you the complete list of successful payments. Use it as your master checklist.

Step 3: Review Successful Payments Reconciliation

Download the Successful Payments report. This contains every successful payment along with its reconciliation status. Filter by exists_in_psp:

  • True rows are matched: both NjiaPay and the PSP agree. Check the break_gross_amount column: False means the amounts agree, True means investigate.
  • False rows are unmatched: the PSP settlement hasn't been received yet. Common reasons: settlement file not yet uploaded, transaction too recent, or the PSP doesn't have settlement integration yet (e.g. StartButton).

Step 4: Review Refunds, Chargebacks & Pending

Download the Refunds, Chargebacks & Pending report. This shows non-success transactions: payments still in Pending state (customer may have abandoned checkout), refunds, and chargebacks. Use this to:

  • Track your checkout drop-off rate (pending items)
  • Reconcile refund amounts against your records
  • Monitor chargeback exposure

Step 5: Account for Fees & Settlements

Download the Fees & Settlements report. This shows PSP-level items that are not tied to individual transactions: batch payouts to your bank account, monthly processing fees, dispute holds and releases, and currency conversion charges.

Step 6: Cross-check Totals

Use a pivot table or SUMIFS in your spreadsheet to compare:

CheckFormula Idea
Total NjiaPay volume=SUMIFS(njia_transactions[amount], njia_transactions[currency], "USD")
Total matched volume=SUMIFS(success[njia_amount], success[njia_currency], "USD", success[exists_in_psp], "True")
Unmatched volume=SUMIFS(success[njia_amount], success[njia_currency], "USD", success[exists_in_psp], "False")
Net after fees=SUMIFS(success[psp_net_amount], success[psp_net_currency], "USD")
Settlement payouts=SUMIFS(fees[net_amount], fees[transaction_type], "MerchantPayout", fees[net_currency], "USD")

How Reports Are Generated

NjiaPay's reconciliation engine runs daily. It:

  1. Collects all successful NjiaPay transactions for the selected period
  2. Imports PSP settlement files (uploaded via the portal)
  3. Matches each NjiaPay transaction to its PSP counterpart using the PSP reference ID
  4. Classifies each record as: successful payment (matched or unmatched), non-success item (refund/chargeback/pending), or operational entry (fees/settlements)
  5. Outputs the four CSV reports
Reports reflect the state of the data at the time of generation. If you upload a PSP settlement file after downloading your reports, wait up to 10 minutes for processing, then re-download to get updated matching results.

Column Conventions

Across all reports, you will notice these conventions:

  • Amounts in major units. All amounts are shown in the main currency unit (e.g. 10.00 means ten dollars, not 1000 cents). Some reports also include a _minor_units column with the raw cent value for precision.
  • Timestamps follow your timezone. CSV exports use the timezone from the timezone selector, locked to the offset at the start of the selected month. If no timezone is explicitly selected, it defaults to your browser's locale timezone.
  • njia_ prefix: columns from NjiaPay's side of the ledger.
  • psp_ prefix: columns from the PSP settlement file.
  • break_ prefix: discrepancy flags. True means the values don't match between NjiaPay and PSP; False means they agree.
  • exists_in_njia / exists_in_psp: boolean flags showing whether a transaction was found on each side.