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 nodes, and turn it into your own study board in a few minutes.

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

More templates you might like