Kurzreferenz

Ledger CLI Spickzettel

Ein vollständiges Referenzhandbuch für Ledger CLI: Syntax für doppelte Buchführung in Klartext, Status-Flags, Hilfsdaten, Saldenprüfungen, Rohstoffe, Periodenausdrücke und Abfragefilter.

· Veröffentlicht

Ledger ist ein leistungsstarkes Befehlszeilen-Tool für die doppelte Buchführung im Klartextformat. Durch die Erfassung Ihrer Finanzen in menschenlesbaren Textdateien ermöglicht Ledger die Berechnung von Salden, die Erstellung von Registern, die Budgetverfolgung und detaillierte Finanzberichte.


Grundkonzepte & Erste Schritte

Die Grundgleichung der doppelten Buchführung

In Ledger besteht jede Transaktion aus zwei oder mehr Buchungen, deren Summe strikt zu Null ausgleichen muss:

$$\text{Assets} + \text{Expenses} = \text{Liabilities} + \text{Equity} + \text{Income}$$

Assets:Checking          -$600.00   ; Asset decreases (credit)
Expenses:Rent             $600.00   ; Expense increases (debit)
---------------------------------
Nettosaldo = $0.00

Übersicht der Kernbefehle

Befehl Vollständige Form Beschreibung
ledger bal ledger balance Berechnet und zeigt aktuelle Salden aller Konten an
ledger reg ledger register Listet Transaktionsbuchungen chronologisch mit laufendem Saldo auf
ledger print ledger print Formatiert und gibt Journal-Einträge aus
ledger csv ledger csv Exportiert gefilterte Transaktionen als Standard-CSV
ledger payees ledger payees Listet alle eindeutigen Zahlungsempfänger im Journal auf
ledger accounts ledger accounts Listet alle definierten Kontonamen und Hierarchien auf

Journal-Syntax-Spezifikation

Grundlegende Transaktionsstruktur

2024/01/03 * (CODE#001) Landlord John ; tag:rent
    Expenses:Rent:Apartment       $600.00
    Assets:Checking:MainBank
  • Aufbau der Kopfzeile::
2024/01/03   *       (CODE#001)   Landlord John     ; tag:rent
^            ^       ^            ^                 ^
Date         State   Code/Check#  Payee/Description Comment & Tags
  • Automatische Betragsermittlung: Ledger kann den Betrag einer Buchung automatisch ergänzen, damit die Buchung ausgeglichen ist.

Transaktions-Status-Flags

Flag Status Beschreibung & Typische Verwendung
(None) Ungeklärt Neue Transaktionen, die noch nicht mit Kontoauszügen abgeglichen wurden
! Ausstehend Ausstehende Buchungen, die noch nicht abgerechnet sind (z. B. Kreditkartenreservierungen)
* Abgeglichen Vollständig abgeglichene und verbuchte Transaktionen

Hilfsdaten (Auxiliary Dates)

Mit dem Gleichheitszeichen kann das Buchungsdatum vom tatsächlichen Wertstellungsdatum getrennt werden:

; Format: EventDate=SettlementDate
2024/01/01=2024/01/15 Consulting Client A
    Assets:AccountsReceivable    $1,000.00
    Income:Consulting

Saldenbehauptungen & Zuweisungen

  • Saldenbehauptung (= $VALUE): Prüft, ob der Gesamtsaldo nach dieser Buchung dem Wert entspricht.
  • Saldenzuweisung (= $VALUE): Berechnet die Differenz, um das Konto auf den angegebenen Wert zu bringen.
; 1. Balance Assertion
2024/01/01 * Restaurant
    Expenses:Food:Dinner          $20.00
    Assets:Cash                  -$20.00 = $500.00

; 2. Balance Assignment
2024/01/01 * Opening Balance
    Assets:Cash                 = $500.00
    Equity:OpeningBalances

Account Declarations & Validation

account Expenses:Food
    note Dining and grocery expenses
    alias food
    payee ^(KFC|McDonalds|Starbucks)$
    check commodity == "$"
    assert commodity == "$"
    default

account Assets:Cash
    alias cash

Commodities & Currencies

; 1. Per-unit cost (@ symbol)
2024/05/31 * Farmers Market
    Expenses:Food:Apples         10 APPLE @ $1.50
    Assets:Checking             -$15.00

; 2. Total cost (@@ symbol)
2024/06/01 * Brokerage
    Assets:Investments:AAPL      5 AAPL @@ $950.00
    Assets:Checking             -$950.00

; 3. Explicit currency price history
P 2024/06/01 00:00:00 EUR $1.0850

Directives

; Global default currency
D $1,000.00

; Set default year
Y2024

Including Sub-Journals

include accounts.journal
include 2023.journal
include 2024.journal

account Business
include company_expenses.journal
end

Budgeting

~ Monthly
    Expenses:Rent               $600.00
    Expenses:Food               $400.00
    Expenses:Utilities          $100.00
    Expenses                    $100.00
    Assets

~ Yearly
    Expenses:Insurance        $1,200.00
    Assets
  • ledger bal --budget Expenses
  • ledger bal --unbudgeted Expenses

Periodenausdrücke

Ledger bietet zeitliche Filterung in natürlicher Sprache über die Option -p oder --period.

Syntax Structure

[INTERVAL] [BEGIN] [END]

Intervalle

Intervall Bedeutung
every day / daily Daily
every week / weekly Weekly
biweekly Every two weeks
every month / monthly Monthly
every quarter / quarterly Quarterly
every year / yearly Yearly
every N days/weeks/months Custom interval

Period Filtering Examples

ledger reg -p "since last month"
ledger reg Expenses -p "every month from 2024 to 2024/12/31" -M
ledger bal -p "from 2024/01/01 until this month"
ledger bal Expenses:Food -p "last quarter"

Abfrageausdrücke & Filterung

Syntax Ziel Beispiel Beschreibung
Account Account name ledger bal Assets Substring/regex match
^Account Root account ledger bal ^Expenses Accounts starting with Expenses
@Payee Payee name ledger reg @Starbucks Match payee field
%Tag Tag presence ledger reg %reimburse Match tagged transactions
%Tag=Value Tag value ledger reg %project=alpha Match tag key-value pairs
=Note Memo note ledger reg =taxi Match memo text
#Code Transaction code ledger reg #1042 Match check or order number

Boolesche Logik

ledger reg Expenses:Food and @Starbucks and not dining
ledger bal Rent or Transportation
ledger bal Expenses and not \( Drinks or Food \)

Häufige Filter-Optionen

Flag Option Beschreibung
-b DATE --begin DATE Filter transactions on or after date
-e DATE --end DATE Filter transactions before date
-C --cleared Only cleared transactions (*)
-U --uncleared Only uncleared transactions
--pending --pending Only pending transactions (!)
-R --real Exclude virtual postings
-r --related Show the offsetting balancing postings

Berichte & Datenexport

-s, --subtotal         # Calculate subtotals for grouped postings
-n, --collapse         # Collapse multi-line postings into one line
--flat                 # Render account tree as a flat list
--tail N               # Limit output to last N lines
--invert               # Invert numerical signs (display expenses as positive)
-X CUR, --exchange CUR # Convert foreign holdings to specified currency at latest rate
# Export all entries to CSV
ledger csv > report.csv

# Export this month's dining expenses
ledger csv Expenses:Food -p "this month"

Praktische Beispiele

# Current assets vs liabilities
ledger bal ^Assets ^Liabilities

# Net revenue this month with positive expenses
ledger bal ^Expenses ^Income -p "this month" --invert

# Top 10 largest expenses
ledger reg Expenses -S amount --tail 10

# Monthly average daily expenses
ledger reg Expenses -M -n --average

Referenzen

Verwandte Themen