Reports & Reconciliation

Pull settlement, deposit, and activity reports and reconcile payments to your bank

Reports let you see what you processed, what settled, and what was deposited to your bank — so you can reconcile payments end to end. Each report is a read-only GET that returns a paged list plus totals for a date range. Use them to close your books, investigate a chargeback, or track deposits. For the full catalog, jump to Available reports.

Reconciliation follows the money: payments are grouped into a batch, the batch settles, and settled funds are deposited to your bank. This page pulls the reports for each step; Batch Management covers opening and closing the batches those reports summarize.

Common use cases

  • Reconcile a day's settled volume against the deposit to your bank account
  • Pull per-transaction settlement detail for accounting
  • Track chargebacks, ACH returns, and expiring saved cards

How reporting works

Every report is a GET that takes a merchant and a date range and returns a paged result. The shared query parameters are the same across reports:

ParameterRequiredDescription
merchantIdYour PCE merchant identifier.
startDateStart of the range, MM/DD/YYYY.
endDateEnd of the range, MM/DD/YYYY.
limitOptionalPage size. Defaults to 20.
offsetOptionalNumber of records to skip for paging. Defaults to 0.

The response is a paged envelope: a records array, a recordCount, and a totals object that sums the range. For example, the Deposits report:

GET /checkout/v3/report/ach/items?merchantId=1000157980&startDate=01/01/2026&endDate=01/31/2026
{
  "records": [
    {
      "id": 188036000002785,
      "merchantId": 1000157980,
      "dba": "Demo Merchant",
      "workOfDate": "2026-01-18T05:00:00Z",
      "transmissionDate": "2026-01-21T05:00:00Z",
      "achCodeDescription": "DEPOSIT - CHECKING",
      "routingNumberLast4": "0104",
      "accountNumberLast4": "0200",
      "creditCount": 1,
      "creditAmount": "0.01",
      "debitCount": 0,
      "debitAmount": "0",
      "netCount": 1,
      "netAmount": "0.01"
    }
  ],
  "recordCount": 3,
  "totals": {
    "totalNetAmount": "0.01",
    "totalNetCount": 3,
    "totalCreditAmount": "0.02",
    "totalCreditCount": 2,
    "totalDebitAmount": "-0.01",
    "totalDebitCount": 1
  }
}

Read totals for the range summary and page through records with limit/offset. See Pagination.


Available reports

All reports live under /checkout/v3/report (except API Traffic). Each links to its API Reference entry.

Settlement & deposits

ReportEndpointWhat it shows
SettlementGET /checkout/v3/report/volumeSettled volume, grouped for the range.
Settlement Transaction DetailGET /checkout/v3/report/settlement/batch/transactionPer-transaction settlement detail within a batch.
DepositsGET /checkout/v3/report/ach/itemsACH deposits and withdrawals to your bank account.
ACH ActivityGET /checkout/v3/report/ach/activitySummarySummary of ACH funding activity.
ACH ReturnsGET /checkout/v3/report/ach/returnsACH transactions that were returned.

Sales & activity

ReportEndpointWhat it shows
User SalesGET /checkout/v3/report/usersalesSales by user.
User Sales SummaryGET /checkout/v3/report/usersalessummarySummarized sales by user.
StatementGET /checkout/v3/report/statementMerchant statement for the range.
API TrafficGET /checkout/v3/accesslogAPI request activity for your account.

Risk

ReportEndpointWhat it shows
ChargebacksGET /checkout/v3/report/chargebackChargebacks raised against your transactions.
Expired CardsGET /checkout/v3/report/cardexpirationSaved cards that are expired or expiring.

Reconcile payments to your bank

Reconciliation walks the payment from capture to deposit. Each stage has a report (or the Batch Management API) you can pull to match the numbers.

flowchart LR
    A([Payments<br/>captured]) --> B([Batch<br/>closed])
    B --> C([Batch<br/>settled])
    C --> D([Funds deposited<br/>to bank])
    B -. Batch Management API .-> B
    C -. Settlement report .-> C
    D -. Deposits / ACH reports .-> D
    style C fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
    style D fill:#E8F5E9,stroke:#2E7D32,stroke-width:2px
  1. Confirm the batch closed. Open and close batches, and read batch contents, with the Batch Management API — see Batch Management. Batch payments are available at GET /checkout/v3/batchpayment/{id}.
  2. Match settled volume. Pull the Settlement report for the date range and reconcile it against your batch totals; use Settlement Transaction Detail to drill into individual transactions.
  3. Match the deposit. Pull the Deposits and ACH Activity reports to confirm settled funds landed in your bank account, and ACH Returns for anything that bounced back.

For the settlement-to-funding flow, auto-close configuration, and how settled batches become bank deposits, see Settlement & Funding.

Invoice activity can also be exported for reconciliation with Invoice Export (GET /checkout/v3/invoice/export). See Invoicing and Recurring Billing.


Best practices

PracticeDescription
Reconcile dailyPull the Settlement and Deposits reports for each processing day and match them to your bank statement.
Page through large rangesUse limit and offset for wide date ranges rather than one huge request. See Pagination.
Keep date ranges tightNarrow startDate/endDate windows return faster and are easier to reconcile.
Watch returns and chargebacksPull ACH Returns and Chargebacks regularly so reversed funds don't surprise your books.
Automate expiring cardsUse the Expired Cards report (or Account Updater) to refresh saved cards before they fail.

See also



Did this page help you?
.readme-logo { display: none !important; }