Riferimento rapido

Guida rapida a Ledger CLI

Guida di riferimento completa per Ledger CLI: contabilità a partita doppia in testo semplice, flag, date ausiliarie, asserzioni di saldo e filtri di query.

· Pubblicato

Ledger è un potente strumento da riga di comando per la contabilità a partita doppia in formato testo semplice. Gestendo le proprie finanze tramite file di testo leggibili, Ledger calcola saldi, genera registri e produce dettagliati prospetti finanziari.


Concetti chiave e primi passi

L'equazione fondamentale della partita doppia

In Ledger, ogni transazione comprende due o più registrazioni la cui somma deve essere rigorosamente pari a zero:

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

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

Panoramica dei comandi principali

Comando Forma estesa Descrizione
ledger bal ledger balance Calcola e mostra i saldi correnti di tutti i conti
ledger reg ledger register Elenca cronologicamente i movimenti con saldo progressivo
ledger print ledger print Formatta e stampa le registrazioni del giornale
ledger csv ledger csv Esporta le transazioni filtrate in formato standard CSV
ledger payees ledger payees Elenca tutti i beneficiari univoci nel giornale
ledger accounts ledger accounts Elenca tutti i conti e la loro gerarchia

Sintassi del giornale contabile

Struttura base della transazione

2024/01/03 * (CODE#001) Landlord John ; tag:rent
    Expenses:Rent:Apartment       $600.00
    Assets:Checking:MainBank
  • Scomposizione della riga di intestazione::
2024/01/03   *       (CODE#001)   Landlord John     ; tag:rent
^            ^       ^            ^                 ^
Date         State   Code/Check#  Payee/Description Comment & Tags
  • Bilanciamento automatico: Ledger può dedurre l'importo di una registrazione per pareggiare la voce.

Flag di stato della transazione

Flag Stato Descrizione e impiego tipico
(None) Non riconciliata Nuove transazioni non ancora riscontrate con l'estratto conto
! In sospeso Operazioni avviate in attesa di contabilizzazione
* Riconciliata Transazioni verificate e contabilizzate in banca

Date ausiliarie

L'uso del segno di uguale permette di separare la data contabile dalla data di valuta effettiva:

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

Asserzioni e assegnazioni di saldo

  • Asserzione di saldo (= $VALUE): valida che il saldo progressivo corrisponda esattamente al valore indicato.
  • Assegnazione di saldo (= $VALUE): calcola l'importo necessario per raggiungere il saldo stabilito.
; 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

Espressioni di periodo

Ledger supporta filtri temporali in linguaggio naturale mediante l'opzione -p o --period.

Syntax Structure

[INTERVAL] [BEGIN] [END]

Intervalli

Intervallo Significato
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"

Espressioni di ricerca e filtri

Syntax Target Esempio Descrizione
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

Logica booleana

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

Opzioni di filtro comuni

Flag Opzione Descrizione
-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

Rendiconti ed esportazione dati

-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"

Esempi pratici

# 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

Riferimenti

Argomenti correlati