BankAccount
Bank account information for an organization or person with full normalization and type safety
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| accountNumber | string | stored | Bank account number Example: | Required |
| accountType | string | enum | Type of account - checking (US current account), savings, business checking, money market, payment service, escrow, or trust account Values: Example: | Required |
| iban | string | stored | International Bank Account Number (ISO 13616) Example: | Optional |
| swift | string | stored | SWIFT/BIC code (ISO 9362) - 8 or 11 characters Example: | Optional |
| routingNumber | string | stored | Routing number (US: 9 digits) or sort code (UK: 6 digits) Example: | Optional |
| bankName | string | stored | Name of the bank (pragmatic denormalization - consider Bank entity if managing >50 banks) Example: | Optional |
| bankAddress | PostalAddress | stored | Address of the bank branch (pragmatic denormalization) | Optional |
| accountHolder | Person | Organization | stored | The person or organization that owns this account. Must reference exactly one entity. | Required |
| currency | Currency | stored | Primary currency for this account (reference to Currency entity) | Required |
| use | string | enum | Purpose of this account within the organization - how this account is used in business operations Values: Example: | Optional |
| label | string | stored | Human-readable label for this account Example: | Optional |
| active | boolean | stored | Whether this account is currently active and available for transactions Example: | Optional |
| verifiedAt | DateTime | stored | When this bank account was verified (via micro-deposits, Plaid, Stripe, etc.) | Optional |
| verificationStatus | string | enum | Verification status of this bank account - used to track bank account ownership verification Values: | Optional |
Examples
Example 1
{
"@type": "BankAccount",
"accountNumber": "123456789",
"accountType": "business",
"iban": "GB82WEST12345698765432",
"swift": "WESTGB2L",
"bankName": "Wells Fargo Bank",
"bankAddress": {
"@type": "PostalAddress",
"streetAddress": "420 Montgomery Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94104",
"addressCountry": "US"
},
"accountHolder": {
"@type": "Organization",
"name": "Acme Corp",
"legalName": "Acme Corporation Inc."
},
"currency": {
"@type": "Currency",
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimalDigits": 2
},
"use": "main",
"label": "Main Operating Account",
"active": true,
"verifiedAt": "2024-01-15T16:45:00Z",
"verificationStatus": "verified"
}Example 2
{
"@type": "BankAccount",
"accountNumber": "987654321",
"accountType": "checking",
"iban": "FR7612345678901234567890189",
"swift": "BNPAFRPP",
"routingNumber": "12345",
"bankName": "BNP Paribas",
"bankAddress": {
"@type": "PostalAddress",
"streetAddress": "16 Boulevard des Italiens",
"addressLocality": "Paris",
"postalCode": "75009",
"addressCountry": "FR"
},
"accountHolder": {
"@type": "Person",
"givenName": "Marie",
"familyName": "Dubois"
},
"currency": {
"@type": "Currency",
"code": "EUR",
"name": "Euro",
"symbol": "€",
"decimalDigits": 2
},
"use": "main",
"label": "Personal Checking",
"active": true,
"verificationStatus": "verified"
}Example 3
{
"@type": "BankAccount",
"accountNumber": "555666777",
"accountType": "payroll",
"iban": "DE89370400440532013000",
"swift": "DEUTDEFF",
"bankName": "Deutsche Bank",
"accountHolder": {
"@type": "Organization",
"name": "TechStart SARL",
"legalName": "TechStart Société à Responsabilité Limitée"
},
"currency": {
"@type": "Currency",
"code": "EUR",
"name": "Euro",
"symbol": "€",
"decimalDigits": 2
},
"use": "payroll",
"label": "Payroll Account",
"active": true,
"verificationStatus": "pending"
}