Banking ledger database schema (double-entry)

A double-entry bank ledger: accounts in a single currency each, balanced journal entries that are never updated, card authorizations that hold funds, transfers kept separate from postings, and frozen statements.

Banking Ledger ER diagram

Banking ledger database schema (double-entry) n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 customers idBIGINT customer_referenceVARCHAR legal_nameVARCHAR date_of_birthDATE emailVARCHAR phoneVARCHAR kyc_statusVARCHAR kyc_verified_atTIMESTAMP risk_ratingVARCHAR created_atTIMESTAMP closed_atTIMESTAMP accounts idBIGINT account_numberVARCHAR account_typeVARCHAR currency_codeCHAR statusVARCHAR balance_minorBIGINT available_minorBIGINT opened_atTIMESTAMP closed_atTIMESTAMP account_holders idBIGINT account_idBIGINT customer_idBIGINT relationshipVARCHAR added_atTIMESTAMP removed_atTIMESTAMP transactions idBIGINT transaction_refer…VARCHAR transaction_typeVARCHAR statusVARCHAR descriptionVARCHAR reversal_of_idBIGINT value_dateDATE booked_atTIMESTAMP ledger_entries idBIGINT transaction_idBIGINT account_idBIGINT directionVARCHAR amount_minorBIGINT currency_codeCHAR running_balance_m…BIGINT created_atTIMESTAMP cards idBIGINT account_idBIGINT customer_idBIGINT card_referenceVARCHAR last_fourCHAR brandVARCHAR expires_onDATE statusVARCHAR issued_atTIMESTAMP card_authorizations idBIGINT card_idBIGINT transaction_idBIGINT authorization_codeVARCHAR merchant_nameVARCHAR merchant_category…CHAR amount_minorBIGINT currency_codeCHAR statusVARCHAR authorized_atTIMESTAMP settled_atTIMESTAMP beneficiaries idBIGINT customer_idBIGINT display_nameVARCHAR account_numberVARCHAR bank_identifierVARCHAR currency_codeCHAR verified_atTIMESTAMP created_atTIMESTAMP transfers idBIGINT transaction_idBIGINT source_account_idBIGINT destination_accou…BIGINT beneficiary_idBIGINT amount_minorBIGINT currency_codeCHAR schemeVARCHAR statusVARCHAR scheduled_forDATE created_atTIMESTAMP statements idBIGINT account_idBIGINT period_startDATE period_endDATE opening_balance_m…BIGINT closing_balance_m…BIGINT document_keyVARCHAR generated_atTIMESTAMP

Related database schemas