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:
| Parameter | Required | Description |
|---|---|---|
merchantId | ✓ | Your PCE merchant identifier. |
startDate | ✓ | Start of the range, MM/DD/YYYY. |
endDate | ✓ | End of the range, MM/DD/YYYY. |
limit | Optional | Page size. Defaults to 20. |
offset | Optional | Number 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
| Report | Endpoint | What it shows |
|---|---|---|
| Settlement | GET /checkout/v3/report/volume | Settled volume, grouped for the range. |
| Settlement Transaction Detail | GET /checkout/v3/report/settlement/batch/transaction | Per-transaction settlement detail within a batch. |
| Deposits | GET /checkout/v3/report/ach/items | ACH deposits and withdrawals to your bank account. |
| ACH Activity | GET /checkout/v3/report/ach/activitySummary | Summary of ACH funding activity. |
| ACH Returns | GET /checkout/v3/report/ach/returns | ACH transactions that were returned. |
Sales & activity
| Report | Endpoint | What it shows |
|---|---|---|
| User Sales | GET /checkout/v3/report/usersales | Sales by user. |
| User Sales Summary | GET /checkout/v3/report/usersalessummary | Summarized sales by user. |
| Statement | GET /checkout/v3/report/statement | Merchant statement for the range. |
| API Traffic | GET /checkout/v3/accesslog | API request activity for your account. |
Risk
| Report | Endpoint | What it shows |
|---|---|---|
| Chargebacks | GET /checkout/v3/report/chargeback | Chargebacks raised against your transactions. |
| Expired Cards | GET /checkout/v3/report/cardexpiration | Saved 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
- 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}.
- 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.
- 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
| Practice | Description |
|---|---|
| Reconcile daily | Pull the Settlement and Deposits reports for each processing day and match them to your bank statement. |
| Page through large ranges | Use limit and offset for wide date ranges rather than one huge request. See Pagination. |
| Keep date ranges tight | Narrow startDate/endDate windows return faster and are easier to reconcile. |
| Watch returns and chargebacks | Pull ACH Returns and Chargebacks regularly so reversed funds don't surprise your books. |
| Automate expiring cards | Use the Expired Cards report (or Account Updater) to refresh saved cards before they fail. |
See also
- Batch Management: open, close, and read the batches these reports summarize
- Payment Lifecycle: how a payment moves from capture to settlement
- Invoicing: export invoices for reconciliation
- Recurring Billing: export contracts for reconciliation
- Pagination: page through large report results
Updated about 4 hours ago