Deliver Prepaid Statements
Overview
This page explains how to generate a statement for consumer prepaid card products. For credit card statements, see Deliver Credit Statements.
In the prepaid context, there is no concept of an "amount due" or "amount owing" -- this is not a "billing" statement -- as funds must be preloaded onto the account.
You can show card holders the remaining balance of those funds by adding periodPurchasesAmount { value } to the request.
As with credit statements, use the appropriate statement snapshot based on your card product configuration to access transaction or balance details:
Period dates
The period start and end dates occur at midnight Eastern Time (EST or EDT) and are presented in the API response in Coordinated Universal Time (UTC), for example, 12am EST => 5am UTC.
| Field | Internal Date (EST) | API Response (UTC) |
|---|---|---|
| Period Start | 2025-06-26 00:00:00 | 2025-06-26 05:00:00 |
| Period End | 2025-07-26 00:00:00 | 2025-07-26 05:00:00 |
Generate current prepaid statement
Use the following query to generate the current prepaid statement for an account holder:
FindFinancialAccount
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
__typename
periodStart
periodEnd
openedAt
closedAt
createdAt
updatedAt
primaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingPrimaryCreditBalance {
value
}
startingPrimaryDebitBalance {
value
}
endingPrimaryCreditBalance {
value
}
endingPrimaryDebitBalance {
value
}
secondaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingSecondaryCreditBalance {
value
}
startingSecondaryDebitBalance {
value
}
endingSecondaryCreditBalance {
value
}
endingSecondaryDebitBalance {
value
}
}
query FindFinancialAccount($id: ID!) {
node(id: $id) {
... on FinancialAccount {
id
statementSnapshot {
... on ConsumerPrepaidCardFinancialAccountStatementSnapshot {
asOf
currentOpenStatement {
...statement
}
latestClosedStatement {
...statement
}
}
}
}
}
}
Variables
{ "id": "ac_c02215bf2edade754e0586df0cc407f2285f" }
Result
{
"data": {
"node": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f",
"statementSnapshot": {
"asOf": "2025-08-27T15:26:04.095Z",
"currentOpenStatement": {
"id": "si_0a34111cd18243d0bb4718ff2f635275",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T15:25:08.395Z",
"periodEnd": "2025-09-27T15:25:08.395Z",
"openedAt": "2025-08-27T15:26:03.368Z",
"closedAt": null,
"createdAt": "2025-08-27T12:23:10.058Z",
"updatedAt": "2025-08-27T15:26:04.053Z",
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 71000
}
},
"startingPrimaryCreditBalance": {
"value": 0
},
"startingPrimaryDebitBalance": {
"value": 71000
},
"endingPrimaryCreditBalance": {
"value": 0
},
"endingPrimaryDebitBalance": {
"value": 0
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 0
}
},
"startingSecondaryCreditBalance": {
"value": 0
},
"startingSecondaryDebitBalance": {
"value": 0
},
"endingSecondaryCreditBalance": {
"value": 0
},
"endingSecondaryDebitBalance": {
"value": 0
}
},
"latestClosedStatement": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T12:19:48.368Z",
"periodEnd": "2025-08-27T15:25:08.395Z",
"openedAt": "2025-08-27T12:23:09.790Z",
"closedAt": "2025-08-27T15:26:03.368Z",
"createdAt": "2025-08-27T12:18:32.116Z",
"updatedAt": "2025-08-27T15:26:04.053Z",
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 71000
}
},
"startingPrimaryCreditBalance": {
"value": 0
},
"startingPrimaryDebitBalance": {
"value": 88000
},
"endingPrimaryCreditBalance": {
"value": 0
},
"endingPrimaryDebitBalance": {
"value": 71000
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 0
}
},
"startingSecondaryCreditBalance": {
"value": 0
},
"startingSecondaryDebitBalance": {
"value": 0
},
"endingSecondaryCreditBalance": {
"value": 0
},
"endingSecondaryDebitBalance": {
"value": 0
}
}
}
}
},
"extensions": {
"requestId": "569e6a0b-d14e-9a40-85c6-6f4a1e038883",
"rateLimit": {
"cost": 32,
"limit": 60060,
"remaining": 60028,
"asOf": "2025-08-27T15:30:47.262Z",
"complexity": {
"limit": 60060,
"remaining": 60028,
"cost": 32
},
"count": {
"limit": 60060,
"remaining": 60059,
"cost": 1
}
}
}
}
Find prepaid statement history
To filter data, search by periodStart or periodEnd of the period.
If there is no data for a specific period, the query returns no results.
You can look up past statements for up to 24 months.
FindFinancialAccount
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
__typename
periodStart
periodEnd
openedAt
closedAt
createdAt
updatedAt
primaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingPrimaryCreditBalance {
value
}
startingPrimaryDebitBalance {
value
}
endingPrimaryCreditBalance {
value
}
endingPrimaryDebitBalance {
value
}
secondaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingSecondaryCreditBalance {
value
}
startingSecondaryDebitBalance {
value
}
endingSecondaryCreditBalance {
value
}
endingSecondaryDebitBalance {
value
}
}
query FindFinancialAccount($id: ID!) {
node(id: $id) {
... on FinancialAccount {
id
createdAt
statements(first: 10) {
edges {
node {
...statement
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
}
}
Variables
{ "id": "FINANCIAL_ACCOUNT_ID" }
Result
{
"data": {
"node": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f",
"createdAt": "2025-08-27T12:12:03.733Z",
"statements": {
"edges": [
{
"node": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T12:19:48.368Z",
"periodEnd": "2025-08-27T15:25:08.395Z",
"openedAt": "2025-08-27T12:23:09.790Z",
"closedAt": "2025-08-27T15:26:03.368Z",
"createdAt": "2025-08-27T12:18:32.116Z",
"updatedAt": "2025-08-27T15:26:04.053Z",
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 71000
}
},
"startingPrimaryCreditBalance": {
"value": 0
},
"startingPrimaryDebitBalance": {
"value": 88000
},
"endingPrimaryCreditBalance": {
"value": 0
},
"endingPrimaryDebitBalance": {
"value": 71000
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 0
}
},
"startingSecondaryCreditBalance": {
"value": 0
},
"startingSecondaryDebitBalance": {
"value": 0
},
"endingSecondaryCreditBalance": {
"value": 0
},
"endingSecondaryDebitBalance": {
"value": 0
}
},
"cursor": "cursor_value"
}
],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "start_cursor",
"endCursor": "end_cursor"
}
}
}
}
}
Fetch prepaid statement by ID
You can search for details on a prepaid statement using a statement ID. Prepaid statement details include:
- Information from financial events during the statement period
- Summary-level balances
Use the following query to fetch statement details by ID:
LookupStatement
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
__typename
periodStart
periodEnd
openedAt
closedAt
periodPurchasesAmount {
value
}
periodRefundsAndPaymentsAmount {
value
}
primaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingPrimaryCreditBalance {
value
currencyCode
}
startingPrimaryDebitBalance {
value
currencyCode
}
endingPrimaryCreditBalance {
value
currencyCode
}
endingPrimaryDebitBalance {
value
currencyCode
}
secondaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingSecondaryCreditBalance {
value
}
startingSecondaryDebitBalance {
value
}
endingSecondaryCreditBalance {
value
}
endingSecondaryDebitBalance {
value
}
statementEntries(first: 20, filterBy: $filterBy) {
edges {
node {
__typename
postDate
creditAmount {
value
}
debitAmount {
value
}
primaryCreditBalance {
value
}
primaryDebitBalance {
value
}
ledgerEntry {
...ledgerEntry
}
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
fragment ledgerEntry on LedgerEntry {
__typename
id
memo
creditBalanceAtLedgerEntry {
value
currencyCode
}
debitBalanceAtLedgerEntry {
value
currencyCode
}
amount {
value
currencyCode
}
financialEvent {
... on ClearingEvent {
id
approvedAmount {
value
currencyCode
}
}
... on FeeTransferEvent {
id
feeTransfer {
__typename
... on ChargedFeeTransfer {
feeActivityType
feeAmount {
value
currencyCode
}
}
... on ReversedFeeTransfer {
feeTransferAmount {
value
currencyCode
}
}
}
}
}
}
query LookupStatement(
$id: ID!
$filterBy: FinancialAccountStatementEntriesFilterInput
) {
node(id: $id) {
...statement
}
}
Variables
{ "id": "STATEMENT_ID" }
Result
{
"data": {
"node": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T12:19:48.368Z",
"periodEnd": "2025-08-27T15:25:08.395Z",
"openedAt": "2025-08-27T12:23:09.790Z",
"closedAt": "2025-08-27T15:26:03.368Z",
"periodPurchasesAmount": {
"value": 19500
},
"periodRefundsAndPaymentsAmount": {
"value": 2500
},
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 71000
}
},
"startingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"startingPrimaryDebitBalance": {
"value": 88000,
"currencyCode": "USD"
},
"endingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"endingPrimaryDebitBalance": {
"value": 71000,
"currencyCode": "USD"
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 0
}
},
"startingSecondaryCreditBalance": {
"value": 0
},
"startingSecondaryDebitBalance": {
"value": 0
},
"endingSecondaryCreditBalance": {
"value": 0
},
"endingSecondaryDebitBalance": {
"value": 0
},
"statementEntries": {
"edges": [],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": null,
"endCursor": null
}
}
}
}
}
Filter prepaid statement entries
Statement entries are presented in a paginated format. You can filter these entries based on their posting date.
The following query applies these filters to statement entries for a consumer prepaid card product:
LookupStatement
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
__typename
periodStart
periodEnd
openedAt
closedAt
periodPurchasesAmount {
value
}
periodRefundsAndPaymentsAmount {
value
}
primaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingPrimaryCreditBalance {
value
currencyCode
}
startingPrimaryDebitBalance {
value
currencyCode
}
endingPrimaryCreditBalance {
value
currencyCode
}
endingPrimaryDebitBalance {
value
currencyCode
}
secondaryLedger {
id
name
normalBalance
creditBalance {
value
}
debitBalance {
value
}
}
startingSecondaryCreditBalance {
value
}
startingSecondaryDebitBalance {
value
}
endingSecondaryCreditBalance {
value
}
endingSecondaryDebitBalance {
value
}
statementEntries(first: 20, filterBy: $filterBy) {
edges {
node {
__typename
postDate
creditAmount {
value
}
debitAmount {
value
}
primaryCreditBalance {
value
}
primaryDebitBalance {
value
}
ledgerEntry {
...ledgerEntry
}
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
fragment ledgerEntry on LedgerEntry {
__typename
id
memo
creditBalanceAtLedgerEntry {
value
currencyCode
}
debitBalanceAtLedgerEntry {
value
currencyCode
}
amount {
value
currencyCode
}
financialEvent {
... on ClearingEvent {
id
approvedAmount {
value
currencyCode
}
}
... on FeeTransferEvent {
id
feeTransfer {
__typename
... on ChargedFeeTransfer {
feeActivityType
feeAmount {
value
currencyCode
}
}
... on ReversedFeeTransfer {
feeTransferAmount {
value
currencyCode
}
}
}
}
}
}
query LookupStatement(
$id: ID!
$filterBy: FinancialAccountStatementEntriesFilterInput
) {
node(id: $id) {
...statement
}
}
Variables
{ "id": "STATEMENT_ID", "filterBy": { "postDate": { "lessThan": "2026-06-07T22:21:50.108Z" }, "isCredit": { "equals": true } } }
Result
{
"data": {
"node": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T12:19:48.368Z",
"periodEnd": "2025-08-27T15:25:08.395Z",
"openedAt": "2025-08-27T12:23:09.790Z",
"closedAt": "2025-08-27T15:26:03.368Z",
"periodPurchasesAmount": {
"value": 19500
},
"periodRefundsAndPaymentsAmount": {
"value": 2500
},
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 71000
}
},
"startingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"startingPrimaryDebitBalance": {
"value": 88000,
"currencyCode": "USD"
},
"endingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"endingPrimaryDebitBalance": {
"value": 71000,
"currencyCode": "USD"
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0
},
"debitBalance": {
"value": 0
}
},
"startingSecondaryCreditBalance": {
"value": 0
},
"startingSecondaryDebitBalance": {
"value": 0
},
"endingSecondaryCreditBalance": {
"value": 0
},
"endingSecondaryDebitBalance": {
"value": 0
},
"statementEntries": {
"edges": [],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": null,
"endCursor": null
}
}
}
}
}
Simulate shifting prepaid end period
In the Test environment, you can end a financial account's period early to simulate a statement. When performing this simulation, refer to the following guidelines:
- Set the new period at least 60 seconds in the future.
- If no
periodBoundaryis provided, the system defaults the statement’sendPeriodto 60 seconds from now.
To simulate changing a statement's end period for a consumer prepaid card, use the following mutation:
SimulateShiftCurrentStatementPeriod
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
periodEnd
}
mutation SimulateShiftCurrentStatementPeriod(
$input: SimulateShiftCurrentFinancialAccountStatementPeriodInput!
) {
simulateShiftCurrentFinancialAccountStatementPeriod(input: $input) {
__typename
... on FinancialAccount {
id
statementSnapshot {
... on ConsumerPrepaidCardFinancialAccountStatementSnapshot {
__typename
asOf
currentOpenStatement {
...statement
}
}
}
}
... on UserError {
errors {
errorPath
code
}
}
}
}
Variables
{ "input": { "financialAccountId": "FINANCIAL_ACCOUNT_ID", "periodBoundary": "2025-08-05T00:43:26.96" } }
Result
{
"data": {
"simulateShiftCurrentFinancialAccountStatementPeriod": {
"__typename": "FinancialAccount",
"id": "ac_c02215bf2edade754e0586df0cc407f2285f",
"statementSnapshot": {
"__typename": "ConsumerPrepaidCardFinancialAccountStatementSnapshot",
"asOf": "2025-08-27T15:24:03.557Z",
"currentOpenStatement": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"periodEnd": "2025-08-27T15:25:08.395Z"
}
}
}
}
}
Simulate rolling to next prepaid cycle
As with credit cards, you can transition the statement period of a prepaid financial account to the next cycle, simulating the end of one statement cycle and the start of another.
Use the following mutation to simulate rolling over the current statement period for a consumer prepaid card, and use the ConsumerPrepaidCardFinancialAccountStatementSnapshot.
SimulateRolloverCurrentStatementPeriod
Query
fragment statement on ConsumerPrepaidCardFinancialAccountStatement {
id
__typename
periodStart
periodEnd
openedAt
closedAt
primaryLedger {
id
name
normalBalance
creditBalance {
value
currencyCode
}
debitBalance {
value
currencyCode
}
}
startingPrimaryCreditBalance {
value
currencyCode
}
startingPrimaryDebitBalance {
value
currencyCode
}
endingPrimaryCreditBalance {
value
currencyCode
}
endingPrimaryDebitBalance {
value
currencyCode
}
secondaryLedger {
id
name
normalBalance
creditBalance {
value
currencyCode
}
debitBalance {
value
currencyCode
}
}
startingSecondaryCreditBalance {
value
currencyCode
}
startingSecondaryDebitBalance {
value
currencyCode
}
endingSecondaryCreditBalance {
value
currencyCode
}
endingSecondaryDebitBalance {
value
currencyCode
}
}
mutation SimulateRolloverCurrentStatementPeriod(
$input: SimulateRolloverCurrentFinancialAccountStatementPeriodInput!
) {
simulateRolloverCurrentFinancialAccountStatementPeriod(input: $input) {
__typename
... on FinancialAccount {
id
statementSnapshot {
... on ConsumerPrepaidCardFinancialAccountStatementSnapshot {
__typename
asOf
latestClosedStatement {
...statement
}
}
}
}
... on UserError {
errors {
errorPath
code
}
}
}
}
Variables
{ "input": { "financialAccountId": "FINANCIAL_ACCOUNT_ID" } }
Result
{
"data": {
"simulateRolloverCurrentFinancialAccountStatementPeriod": {
"__typename": "FinancialAccount",
"id": "FINANCIAL_ACCOUNT_ID",
"statementSnapshot": {
"__typename": "ConsumerPrepaidCardFinancialAccountStatementSnapshot",
"asOf": "2025-08-27T15:26:04.095Z",
"latestClosedStatement": {
"id": "si_2f2b73e7c2dc465eb7f926103f67225e",
"__typename": "ConsumerPrepaidCardFinancialAccountStatement",
"periodStart": "2025-08-27T12:19:48.368Z",
"periodEnd": "2025-08-27T15:25:08.395Z",
"openedAt": "2025-08-27T12:23:09.790Z",
"closedAt": "2025-08-27T15:26:03.368Z",
"primaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 71000,
"currencyCode": "USD"
}
},
"startingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"startingPrimaryDebitBalance": {
"value": 88000,
"currencyCode": "USD"
},
"endingPrimaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"endingPrimaryDebitBalance": {
"value": 71000,
"currencyCode": "USD"
},
"secondaryLedger": {
"id": "ac_c02215bf2edade754e0586df0cc407f2285f_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 0,
"currencyCode": "USD"
}
},
"startingSecondaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"startingSecondaryDebitBalance": {
"value": 0,
"currencyCode": "USD"
},
"endingSecondaryCreditBalance": {
"value": 0,
"currencyCode": "USD"
},
"endingSecondaryDebitBalance": {
"value": 0,
"currencyCode": "USD"
}
}
}
}
}
}