> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Debits and credits

> What debit and credit really mean in a banking system — the two ends of a money movement, and why one balance is a wallet to you and a liability to the ledger.

Two words trip up almost everyone the first time they read a banking system: **debit** and **credit**. They sound like accounting jargon, but they name something simple — the two ends of a money movement. A debit is where money comes **from**; a credit is where it **goes**.

## Debit is out, credit is in

***

Every movement of money leaves one account and arrives in another. Those two ends have names:

* A **debit** is the account money moves **out of** — the **source**.
* A **credit** is the account money moves **into** — the **destination**.

When you send R\$100 to a merchant, your account is **debited** (money out) and the merchant's account is **credited** (money in). One movement, two sides.

```mermaid theme={null}
flowchart LR
    S["Your account<br/>(source)"]:::debit
    M(("Movement<br/>R$100")):::bal
    D["Merchant account<br/>(destination)"]:::credit
    S -->|"debit · R$100 out"| M
    M -->|"credit · R$100 in"| D
    classDef debit fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
    classDef credit fill:#fde68a,stroke:#d97706,color:#78350f
    classDef bal fill:#f3f4f6,stroke:#6b7280,color:#111827
```

This is exactly how your bank statement already reads: money leaving your account shows as a debit, money arriving shows as a credit.

## Your wallet is not the whole story

***

Here's where the everyday intuition and the accounting meaning part ways — and it's the single most common source of confusion.

In your **wallet**, the math is obvious: money in is good, money out is less. When your bank says it **credited** your account, your balance went **up**; a **debit** took money away. So it's tempting to read *credit = add, debit = subtract*.

But that's your wallet's point of view. The **ledger** that holds your money sees the same balance the other way around. To the institution, your balance isn't something it owns — it's money it **owes you**. The words don't flip to torment you; they flip because a debit and a credit are the two sides of *one movement*, and whether a side grows or shrinks a balance depends on which kind of account it lands on.

So keep the two ideas apart:

* **Wallet thinking** asks: did *my* number go up or down?
* **Accounting thinking** asks: which account did this movement leave (**debit**), and which did it arrive in (**credit**)?

The accounting meaning is the reliable one, and it never changes: **a debit is the source, a credit is the destination.** Whether that raises or lowers a given balance is a *separate* question — answered by the kind of account, which is the next idea.

## Assets and liabilities: the two sides of the ledger

***

Every account in a Ledger sits on one of two sides, and that side decides whether debits or credits make it grow.

* **Liabilities — what the Ledger owes.** The everyday accounts *inside* your Ledger — customer wallets, merchant balances — are **liabilities**: value the institution holds on someone's behalf and owes back to them. They **grow with credits** (money arriving) and shrink with debits. Your bank balance is exactly this: an asset in your wallet, a liability on the bank's books.
* **Assets — what the Ledger holds against them.** The matching asset lives at the boundary, in an **external account**. It **grows with debits** and mirrors the value that has crossed into the Ledger from the outside world.

In Midaz this pairing is built in. For every **[asset](/en/midaz/assets)** you define — BRL, USD, a loyalty point — the Ledger automatically keeps **one external account** per asset, named after it (`@external/BRL`, `@external/USD`), and you can define your own named external accounts too. When R\$100 enters the Ledger, the external account is **debited** and a customer account is **credited**: the asset side and the liability side move together, by the same amount, at the same instant.

Because an external account mirrors value seen from the outside in, it can show a **negative** balance — and that's correct, not a bug. It's simply the other half of the double-entry, recorded at the edge.

<Note>
  Same R\$100, two truths: it's an **asset** in your wallet and a **liability** on the institution's Ledger. Both are right — they're just the two sides of the same movement. [The outside world](/en/fundamentals/core-banking/external-accounts-and-reconciliation) follows the asset side across the boundary.
</Note>

## The iron rule: debits always equal credits

***

Here is what makes the whole system trustworthy: **total debits always equal total credits.** Every movement is recorded on both sides at once — the same amount out of the source and into the destination — so the two sides match exactly. If they don't, something is wrong, and the books say so.

Take that R\$100 payment. R\$100 leaves your account as a debit and R\$100 arrives in the merchant's account as a credit. One event, two entries, totals equal:

```mermaid theme={null}
flowchart LR
    D["Your account<br/>DEBIT <b>−R$100</b>"]:::debit
    C["Merchant account<br/>CREDIT <b>+R$100</b>"]:::credit
    D --- BAL{{"Total debits R$100<br/>= Total credits R$100"}}:::bal
    C --- BAL
    classDef debit fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
    classDef credit fill:#fde68a,stroke:#d97706,color:#78350f
    classDef bal fill:#dcfce7,stroke:#16a34a,color:#14532d
```

The money didn't appear or vanish — it moved from one account to another, and the matching debit and credit prove it. This is the engine behind **double-entry bookkeeping**: every movement written down twice, once as it leaves and once as it arrives.

<Tip>
  A single debit or a single credit — one side of one movement — is the smallest unit you can record. In Lerian, that unit is called an **[operation](/en/midaz/operations)**.
</Tip>

<Note>
  **See also in Core Banking**

  See what debit and credit mean from the ledger's side in [How money is recorded](/en/fundamentals/core-banking/double-entry-explained).
</Note>

## In short

***

* A **debit** is the account money moves **out of** (the source); a **credit** is the account money moves **into** (the destination). That meaning never changes.
* Your **wallet** and the **ledger** read the same balance differently: to you it's your money; to the institution it's a **liability** — money it owes you.
* Which side a debit or a credit grows depends on the account: **liabilities** (accounts inside the Ledger) grow with credits; **assets** (external accounts, one per asset) grow with debits and can look negative.
* **Total debits always equal total credits**, so money is never created or lost — it only moves.

<Note>
  **Next up**

  Debits and credits only make sense as a pair. See how they work together in [Double-entry bookkeeping](/en/fundamentals/accounting/double-entry-bookkeeping).
</Note>
