All templates

Banking / Fintech Database Schema

Design a banking / fintech database schema — customers, accounts, double-entry ledger transactions, cards, and loans.

Use this template

What you get

  • Customer with KYC status and accounts of multiple types
  • Double-entry bookkeeping with Transaction and LedgerEntry
  • Cards on accounts and loans on customers for product features

What this template is for

This banking and fintech database schema gives you a ready-to-edit ER diagram for a bank, neobank, or financial product. It models the entities every banking system needs: branches, customers (with KYC status), accounts of different types, transactions and double-entry ledger entries that move money between accounts, cards attached to accounts, and loans. The key design decision is using double-entry bookkeeping — every Transaction has two or more LedgerEntry rows (one debit, one credit) so balances reconcile and the audit trail is complete. Use it to design a fintech product, document an existing core banking system, or explain why money movement requires double entries rather than a single update.

When to use this template

  • Design the core schema for a neobank or fintech product.
  • Model double-entry bookkeeping with Transaction and LedgerEntry tables.
  • Plan KYC status tracking on Customer for compliance.
  • Decide how cards attach to accounts and what account types support cards.
  • Document an existing banking database for a regulatory review.
  • Explain to stakeholders why balances are derived from ledger entries, not stored loosely.

How to use it

  1. 1Start with Branch and Customer — every customer belongs to a branch.
  2. 2Add AccountType (savings, checking, etc.) with interest rates.
  3. 3Add Account referencing customer and account type, with balance and currency.
  4. 4Add Transaction (the business event) and LedgerEntry (the double-entry rows).
  5. 5Add Card linked to an Account for spending products.
  6. 6Add Loan linked to Customer for credit products.

Quick example

Neobank schema

Branch → Customer (with kyc_status)
AccountType → Account (no., balance, currency, status)
Transaction (reference, amount, type, created_at)
LedgerEntry (transaction_id, account_id, direction, amount) — 2+ per Transaction
Card and Loan extend accounts and customers with product features

Start editing online

Open the template in CodePic, replace the sample content, and make it your own in a few minutes.

See examples: /templates/banking-fintech-database-schema/examples

More templates you might like