# Design a Ledger Source: https://fragment.dev/guides/design-a-ledger [Documentation index](https://fragment.dev/llms.txt) Complex funds flows are built from common building blocks. Learn how to model these core flows in Fragment. ## Basic movements A platform facilitates a transaction between a customer and a restaurant. The customer pays the platform, which then pays out to the restaurant. [Visual: instant-money-movement. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) [Visual: instant-money-movement. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Platform fee The platform charges a fee for facilitating the transaction between customer and restaurant. The fee is recorded as income. The platform pays the card network a fee for processing the payment, which the platform records as an expense. A $25 order becomes $20 to the restaurant, $5 fee income, and $1 expense. The total held by the platform is $25 minus $1. [Visual: platform-fee. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Card and ACH In reality, [money movements](https://fragment.dev/markdown/guides/accounting-101.md#funds-in-transit) are not instant. Pay ins and pay outs take a few days to settle. [Visual: card-and-ach. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) When the process starts, an Initiate entry records a new receivable or payable. When the funds arrive, a Settle Entry moves the funds out of the receivable or payable account. [Clearing Accounts](https://fragment.dev/markdown/guides/accounting-101.md#account-settings) handle these transitory balances. [Visual: card-and-ach. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Bulk payouts To reduce fees on payouts, the platform consolidates multiple orders to the same restaurant into a single payout. [Visual: bulk-payouts. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) In this example, a restaurant receives two different orders. [Visual: bulk-payouts. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Bulk payins Orders placed through the same card network arrive as a bulk payin. [Visual: linked-bank-account. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) The platform must [reconcile](https://fragment.dev/markdown/guides/reconcile-payments.md) the bulk payment, their bank balance, and the balance in Fragment. A bulk payment arrives into the [Linked Account](https://fragment.dev/markdown/guides/reconcile-payments.md#linked-ledger-accounts). [Visual: linked-bank-account. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Currency conversion The restaurant charges €18. The platform charges the customer $20 priced against a projected exchange rate. [Visual: currency-conversion. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) The USD payment and Euro payable are balanced through corresponding lines in the income account. [Visual: currency-conversion. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Loan The platform offers a loan service to cover operating costs for restaurants. Disbursing the loan moves money out of the cash account into the loan receivable. [Visual: loan. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## P2P transfer This section is models a peer-to-peer payments app instead of the marketplace. Each user’s wallet balance is held in a liability account. A user funds their wallet using ACH. [Visual: p2p-transfer. View on the HTML page.](https://fragment.dev/guides/design-a-ledger) ## Next steps Ready to build? Follow the [Quickstart](https://fragment.dev/markdown/guides/quickstart.md) to create your first ledger and post an entry.