Borrows from the EBNF format described at plain-text-accounting-formats, which covers the formal grammar, format comparison (Beancount, Hledger, Ledger), and directive types.

Chart of Accounts

Accounts follow a hierarchical path: Type:Product:AccountID:Address

The five account types are Asset, Liability, Equity, Income, and Expense.

Each account address can also be :Pending.

Example: Liability:InterestAccount:0000-111:

Movements

Pacioli had Credit // Debit. Movements replace the traditional transaction+postings model.

Single Movements

All arrow variants are equivalent:

2026-02-07 *
  Asset:Cash  Equity:Capital 200 GBP

2026-02-07 *
  Asset:Cash // Equity:Capital 200 GBP

2026-02-07 *
  Asset:Cash > Equity:Capital 200 GBP

2026-02-07 *
  Asset:Cash -> Equity:Capital 200 GBP

Including a description:

2026-02-07 *
  Asset:Cash  Equity:Capital "Dividend" 200 GBP

Linked Movements

Subsequent related movements are prefixed with + (TigerBeetle-inspired batch linking):

2026-02-07 *
  Asset:Cash  Expense:Purchases 5.00 GBP
  +Asset:Cash  Expense:Tax 1.00 GBP

Pending Transactions

Use ! instead of * to mark a transaction as pending:

2026-03-01 ! Pending invoice
  Asset:Bank  Expense:Food 15.50 GBP

Parameters

Not all data is movements.