# Accounting 101

Source: https://fragment.dev/guides/accounting-101

[Documentation index](https://fragment.dev/llms.txt)

<a id="accounting-101"></a>

Understanding these core accounting concepts will help you design your Ledger.

<a id="ledger-accounts"></a>

## Ledger Accounts

A Ledger Account is a balance that represents the state of money.

[Visual: LedgerAccountsDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

There are four types of Ledger Accounts.

[Visual: AccountTypes. View on the HTML page.](https://fragment.dev/guides/accounting-101)

Asset and Liability Accounts track financial relationships between your bank, payment systems and users.
Income and Expense Accounts track profits and losses.

Ledger Accounts are organized in a tree structure.

[Visual: ChartOfAccountsDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

A Ledger Account's balance is the sum of its own balance and all child balances.

<a id="ledger-entries"></a>

## Ledger Entries

A Ledger Entry modifies the balance in a group of Ledger Accounts. Every money movement should be represented by one or more ledger entries.

An Entry contains multiple Lines. Each Line modifies a specific Ledger Account's balance.

[Visual: LedgerEntryDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

A Ledger Account’s balance is the sum of all Lines ever posted to it.

[Visual: LinesAndBalancesDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="entry-design"></a>

## Entry design

All entries in a double-entry ledger fulfill the accounting equation.

[Visual: AccountingEquationInline. View on the HTML page.](https://fragment.dev/guides/accounting-101)

Equal changes to an Asset and Liability account do not change the net worth of the business.

[Visual: BalancedEntryDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

Profits or losses are recorded by adding income or expense lines.

[Visual: BalancedEntryWealthDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="entry-conditions"></a>

## Entry conditions

Entry conditions prevent a balance from passing a certain threshold. For example, a credit card charge should only post if the cardholder has sufficient credit.

[Visual: EntryConditionsDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

If the condition is not met, the entry will not be posted.

<a id="account-settings"></a>

## Account settings

Static accounts are created manually during the design of the ledger.

[Visual: StaticAccountDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

Template accounts define a pattern for creating accounts at runtime. For example, you might want to create a new account for each user that joins.

[Visual: TemplateAccountDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

Linked Accounts represent accounts in external systems, such as at your platform's bank.

[Visual: LinkedAccountDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="transfers"></a>

## Transfers

A book transfer is a transfer between accounts within the same organization. For example, between two accounts at the same bank.

[Visual: TransfersDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

A money movement is a transfer between two distinct locations, such as two different banks.

[Visual: MoneyMovementBanksDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="funds-in-transit"></a>

## Funds in transit

Unlike book transfers, money movements typically require multiple days to complete. Funds in transit are tracked using a two-step process:

1. Initiate: funds leave the sender.
2. Settle: funds arrive at their destination.

[Visual: FundsInTransitEntriesDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="clearing-accounts"></a>

## Clearing Accounts

A "Clearing" account tracks funds in transit.

[Visual: ClearingAccountDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

The Initiate Entry adds funds to a clearing account. The Settle Entry transfers funds back out. Funds held in a clearing account cannot be used by the platform for another purpose.

A receivables account is a clearing account that tracks funds entering your platform. A payables account is a clearing account that tracks funds exiting your platform.

[Visual: PayablesReceivablesDiagram. View on the HTML page.](https://fragment.dev/guides/accounting-101)

<a id="next-steps"></a>

## Next steps

Read our [Design a Ledger](https://fragment.dev/markdown/guides/design-a-ledger.md) guide to see how these concepts can be applied.
