Glossary
The accounting and engineering terms that show up across the curriculum. Bookmark this; you'll come back to it.
Accounting fundamentals
- Ledger
- The append-only book that records every financial event. In a fintech, the ledger is the single source of truth for who owes what to whom. Every other balance (wallet projections, statements, dashboards) is computed FROM the ledger and can always be rebuilt from it.
- Journal entry
- A single immutable record of a financial event, made of two or more lines that balance. The smallest unit of bookkeeping. Once posted, an entry is never edited or deleted; mistakes are corrected by posting a NEW reversing entry. Lesson 1.
- Line (or entry line)
- One side of a journal entry. Carries an account, a debit, and a credit. Most lines have either a debit OR a credit, not both.
- Debit / Credit
- The two sides of every journal entry. Not 'good vs bad' and not 'in vs out'. Debit means 'left side', credit means 'right side'. Their meaning depends on the account type: a debit increases an asset but decreases a liability. The cheat sheet has the full table. Cheat sheet.
- Account
- A bucket the ledger sorts entries into. Examples: 'Bank Account', 'User Wallet', 'Sales Revenue'. Every line of every entry posts to exactly one account.
- Account type
- One of five: asset, liability, equity, income, expense. The type determines whether debits or credits increase the balance.
- Asset
- Something the business owns or is owed. Cash, bank balances, receivables, equipment. Debits increase assets; credits decrease them.
- Liability
- Something the business owes. Customer wallet balances, accounts payable, deferred revenue. Credits increase liabilities; debits decrease them.
- Equity
- The owners' residual claim. What's left over after liabilities are subtracted from assets. Credits increase equity; debits decrease it.
- Income (revenue)
- Money earned from operations. Sales, interchange, interest. Credits increase revenue; debits decrease it (refunds, write-offs).
- Expense
- Cost of running the business. Salaries, processing fees, bad-debt write-offs. Debits increase expenses; credits decrease them.
- Accounting equation
- Assets = Liabilities + Equity. The invariant that double-entry bookkeeping enforces. Every entry preserves it because debits and credits sum to the same number.
- Trial balance
- A snapshot list of every account and its current balance, used to confirm that total debits = total credits across the whole ledger. Run on cron in production; alert on any drift.
- Reconciliation
- The process of checking that your ledger agrees with an external source of truth (a bank statement, a payment provider's records). Discrepancies get adjusting entries. Lesson 8.
- Audit trail
- The complete, immutable history of every entry posted to the ledger. The reason auditors and regulators can answer 'why does this number exist?' three years after the fact.
Fintech-specific
- FBO (For Benefit Of)
- A single bank account at a sponsor bank that holds funds 'For Benefit Of' your customers. Your ledger tracks per-user balances against the FBO total. The iron law: sum(user wallets) = FBO balance, always. Lesson 30.
- Sponsor bank
- The bank whose banking license you ride on. They hold the FBO account, do the actual money movement, and answer to the regulator. You build the user experience and the ledger.
- Wallet
- A liability account on your books that represents what you owe one user. The user thinks of it as 'my money'; you think of it as 'a credit balance on the account I owe to this person'. Both are right.
- Authorization hold (or pending)
- A reservation pattern: money is committed to an in-flight transaction but hasn't settled yet. Usually modelled as a separate 'pending' liability bucket so the available balance excludes it. Lesson 6.
- Settlement
- The moment money actually moves between banks. Most payment rails settle on T+1 or T+2 (one or two business days after the transaction). The lag is the gap your ledger has to model with a receivable.
- Interchange
- The fee the card-issuing bank earns every time a customer swipes its card. Typically 1-3% of the transaction. The hidden revenue stream behind every consumer fintech with a debit card. Lesson 26.
- Chargeback
- A cardholder disputes a transaction; the scheme pulls the money back from the merchant pending review. You either fight it (representment) and get the money back, or lose it. Either way, the chargeback fee is non-refundable. Lesson 60.
- Float
- Money that's in motion (sent but not yet received). Inbound float costs you the yield you'd have earned on it; outbound float is yours to deploy until you have to pay it out.
Engineering patterns
- Idempotency key
- A unique identifier on every state-changing request so retries don't double-process. Usually carried as a column on the journal_entry table with a UNIQUE INDEX. The single most important pattern for any system that consumes webhooks. Lesson 12.
- Outbox pattern
- Reliably fan out side-effects (SMS, email, webhooks) by INSERTing them into an outbox table in the SAME transaction as the ledger write. A worker reads outbox rows and dispatches with retries. Solves the 'commit succeeded but the SMS failed' class of bugs. Lesson 35.
- Saga
- A multi-step operation where each step has a paired compensating action. If step N fails after step 1 committed, you don't rollback (you can't), you COMPENSATE: post a new entry that reverses step 1's effect. Lesson 36.
- Balance projection
- A cached current balance, usually a 'balance' column on the user's wallet row, updated atomically inside the same transaction as the journal entry. Fast reads at scale. Can always be rebuilt from the ledger if it drifts. Lesson 38.
- Double-spend
- Two concurrent requests both pass the same sufficient-funds check and both post withdrawals against money that no longer exists. Prevented by SELECT FOR UPDATE on the wallet row, plus a CHECK (balance >= 0) constraint as backstop. Lesson 39.
- Sub-account
- A logical account inside a single bank account. Your ledger tracks N user wallets that all sum to one real FBO bank balance. The bank sees one account; you see thousands.