List payments
Operation ID: payments
Group: Accounting › Payments
Open in the interactive reference
GET /accounting/payments
Read-only: Reads and returns; changes nothing.
Lists payments. The collection doesn't include accountId, thirdPartyPayerId, paymentReference, or paymentNote. To get these fields, use GET accounting/payments/:id or POST accounting/payments/search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepaymentDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenpaymentType— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecustomerPaymentStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedisputeStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecustomerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, paymentDate, paymentType, currency, customerPaymentStatus, disputeStatus, amount, unappliedAmount, lastModifiedDate
- Selectable: id, paymentNumber, paymentDate, paymentType, currency, paymentAccountCurrency, exchangeRate, amount, appliedAmount, unappliedAmount, refundAmount, bankFeeAmount, smallBalanceWriteOffAmount, totalEarlyPaymentDiscount, customerPaymentStatus, disputeStatus, customerName, customerId, entityId, accountName, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of paymentsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the payment. |
paymentNumber |
string | null | no | no | no | The payment number, unique within the tenant. A human-readable reference used for reconciliation. |
paymentDate |
date | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the payment was made. Format YYYY-MM-DD. |
paymentType |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The payment method. Possible values: 'check', 'ach', 'wire', 'creditCard', 'directDebit', 'sepaCreditTransfer'. |
currency |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The currency the customer paid in. Every amount on the payment is in this currency. Format ISO 4217, for example 'USD'. |
paymentAccountCurrency |
string | null | no | no | no | The currency of the bank account the payment was received into. Present only when it differs from the payment currency. Format ISO 4217, for example 'USD'. |
exchangeRate |
decimal | null | no | no | no | The rate used to convert the payment currency to the entity's functional currency. A ratio, not an amount, with no currency of its own. |
amount |
decimal | null | no | no | yes | The amount paid, in the payment currency. |
appliedAmount |
decimal | null | no | no | no | The portion already applied to invoices, in the payment currency. The sum of the payment's applications. |
unappliedAmount |
decimal | null | no | no | yes | The portion not yet applied to any invoice, in the payment currency. unappliedAmount = amount - appliedAmount - refundAmount. |
refundAmount |
decimal | null | no | no | no | The portion refunded through approved refunds, in the payment currency. |
bankFeeAmount |
decimal | null | no | no | no | The bank fee deducted from the payment, in the payment currency. |
smallBalanceWriteOffAmount |
decimal | null | no | no | no | The total written off as a small residual balance across the payment's applications, in the payment currency. |
totalEarlyPaymentDiscount |
decimal | null | no | no | no | The total early-payment discount granted across the payment's applications, in the payment currency. |
customerPaymentStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The derived lifecycle status of the payment. Possible values: 'unapplied', 'partiallyApplied', 'appliedInFull', 'partiallyRefunded', 'refunded', 'disputed', 'chargedBack'. |
disputeStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The dispute state of the payment. Possible values: 'disputed', 'chargedBack'. Absent on an undisputed payment. |
customerName |
string | null | no | no | no | The name of the customer the payment came from. |
customerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The customer of record the payment belongs to. |
entityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The legal entity that received the payment. |
accountName |
string | null | no | no | no | The name of the ledger account the payment was posted to. |
lastModifiedDate |
date-time | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the payment last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"paymentNumber": "<paymentNumber>",
"paymentDate": "2026-01-15",
"paymentType": "<paymentType>",
"currency": "<currency>",
"paymentAccountCurrency": "<paymentAccountCurrency>",
"exchangeRate": "19.99",
"amount": "19.99",
"appliedAmount": "19.99",
"unappliedAmount": "19.99",
"refundAmount": "19.99",
"bankFeeAmount": "19.99",
"smallBalanceWriteOffAmount": "19.99",
"totalEarlyPaymentDiscount": "19.99",
"customerPaymentStatus": "<customerPaymentStatus>",
"disputeStatus": "<disputeStatus>",
"customerName": "<customerName>",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"accountName": "<accountName>",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error