BankAccount

Bank account information for an organization or person with full normalization and type safety

14 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
accountNumberstring
stored

Bank account number

Example: "123456789"

Required
accountTypestring
enum

Type of account - checking (US current account), savings, business checking, money market, payment service, escrow, or trust account

Values: checking, savings, business, money_market, payment, escrow, trust

Example: "business"

Required
ibanstring
stored

International Bank Account Number (ISO 13616)

Example: "GB82WEST12345698765432"

Optional
swiftstring
stored

SWIFT/BIC code (ISO 9362) - 8 or 11 characters

Example: "DEUTDEFF"

Optional
routingNumberstring
stored

Routing number (US: 9 digits) or sort code (UK: 6 digits)

Example: "026009593"

Optional
bankNamestring
stored

Name of the bank (pragmatic denormalization - consider Bank entity if managing >50 banks)

Example: "Wells Fargo Bank"

Optional
bankAddressPostalAddress
stored

Address of the bank branch (pragmatic denormalization)

Optional
accountHolderPerson | Organization
stored

The person or organization that owns this account. Must reference exactly one entity.

Required
currencyCurrency
stored

Primary currency for this account (reference to Currency entity)

Required
usestring
enum

Purpose of this account within the organization - how this account is used in business operations

Values: main, payroll, operational, savings, investment, international, tax, expense, receivables

Example: "main"

Optional
labelstring
stored

Human-readable label for this account

Example: "Main Operating Account"

Optional
activeboolean
stored

Whether this account is currently active and available for transactions

Example: true

Optional
verifiedAtDateTime
stored

When this bank account was verified (via micro-deposits, Plaid, Stripe, etc.)

Optional
verificationStatusstring
enum

Verification status of this bank account - used to track bank account ownership verification

Values: unverified, pending, verified, failed

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"
}