Banking / Fintech Database Schema
Design a banking / fintech database schema — customers, accounts, double-entry ledger transactions, cards, and loans.
Use this templateWhat 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
- 1Start with Branch and Customer — every customer belongs to a branch.
- 2Add AccountType (savings, checking, etc.) with interest rates.
- 3Add Account referencing customer and account type, with balance and currency.
- 4Add Transaction (the business event) and LedgerEntry (the double-entry rows).
- 5Add Card linked to an Account for spending products.
- 6Add Loan linked to Customer for credit products.
Quick example
Neobank schema
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


