Financial Data Exchange (FDX) · Schema
Transaction
Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`
Financial DataOpen BankingOpen FinanceFinancial Data ExchangeConsumer PermissionedAccount DataTransactionsInvestmentsInsuranceTax DataPayrollRESTOAuth2FAPICFPB 1033
Properties
| Name | Type | Description |
|---|---|---|
| accountCategory | object | |
| transactionId | object | Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs |
| referenceTransactionId | object | For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the auth |
| postedTimestamp | object | The date and time that the transaction was posted to the account. This property is **required** by Plaid when `status=POSTED`. Plaid expects this property to be omitted when `status=PENDING` ISO 8601 |
| transactionTimestamp | object | The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to [IETF RFC 3339](https://datatracker.iet |
| cardNumberDisplay | string | The payment card number (e.g. debit, credit or digital), suitably masked, used to originate the transaction. May differ from primary account number as a secondary or employee card or a one-time use nu |
| description | string | Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer |
| debitCreditMemo | object | |
| category | string | Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable |
| subCategory | string | Transaction category detail specifying the standard of the transaction category. For example, "MCC" |
| status | object | |
| amount | number | The amount of money in the account currency. The amount is an absolute value. Plaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction |
| foreignAmount | number | The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set |
| foreignCurrency | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Transaction",
"description": "Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",
"type": "object",
"discriminator": {
"propertyName": "accountCategory"
},
"properties": {
"accountCategory": {
"$ref": "#/components/schemas/AccountCategory"
},
"transactionId": {
"description": "Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",
"$ref": "#/components/schemas/Identifier"
},
"referenceTransactionId": {
"description": "For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",
"$ref": "#/components/schemas/Identifier"
},
"postedTimestamp": {
"description": "The date and time that the transaction was posted to the account.\nThis property is **required** by Plaid when `status=POSTED`. Plaid expects this property to be omitted when `status=PENDING`\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",
"$ref": "#/components/schemas/Timestamp"
},
"transactionTimestamp": {
"description": "The date and time that the transaction was added to the server backend systems\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",
"$ref": "#/components/schemas/Timestamp"
},
"cardNumberDisplay": {
"type": "string",
"description": "The payment card number (e.g. debit, credit or digital), suitably masked,\nused to originate the transaction. May differ from primary account number as a\nsecondary or employee card or a one-time use number. This is an optional field\nand won't be returned for certain types of transactions such as cash or check deposits\n"
},
"description": {
"type": "string",
"description": "Description of the transaction, such as information about a merchant's\nname or place of business in a manner that is user friendly and accessible to the customer\n"
},
"debitCreditMemo": {
"$ref": "#/components/schemas/DebitCreditMemo"
},
"category": {
"type": "string",
"description": "Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"
},
"subCategory": {
"type": "string",
"description": "Transaction category detail specifying the standard of the transaction category.\nFor example, \"MCC\"\n"
},
"status": {
"$ref": "#/components/schemas/TransactionStatus"
},
"amount": {
"type": "number",
"description": "The amount of money in the account currency. The amount is an absolute value. Plaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"
},
"foreignAmount": {
"type": "number",
"description": "The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"
},
"foreignCurrency": {
"$ref": "#/components/schemas/Iso4217Code"
}
},
"required": [
"debitCreditMemo",
"description",
"transactionId",
"transactionTimestamp",
"status",
"amount"
]
}