Το Ledger είναι ένα ισχυρό εργαλείο γραμμής εντολών για διπλογραφική λογιστική σε αρχεία απλού κειμένου. Διατηρώντας τα οικονομικά σας δεδομένα σε αναγνώσιμα αρχεία ημερολογίου, το Ledger υπολογίζει υπόλοιπα, δημιουργεί μητρώα και αναλυτικές οικονομικές καταστάσεις.
Βασικές Έννοιες & Εκκίνηση
Η Θεμελιώδης Εξίσωση της Διπλογραφίας
Στο Ledger, κάθε συναλλαγή αποτελείται από δύο ή περισσότερες εγγραφές των οποίων το άθροισμα πρέπει αυστηρά να ισούται με μηδέν:
$$\text{Assets} + \text{Expenses} = \text{Liabilities} + \text{Equity} + \text{Income}$$
Assets:Checking -$600.00 ; Asset decreases (credit)
Expenses:Rent $600.00 ; Expense increases (debit)
---------------------------------
Καθαρό υπόλοιπο = $0.00
Επισκόπηση Βασικών Εντολών
| Εντολή | Πλήρης μορφή | Περιγραφή |
|---|---|---|
ledger bal |
ledger balance |
Υπολογίζει και εμφανίζει τα τρέχοντα υπόλοιπα των λογαριασμών |
ledger reg |
ledger register |
Παραθέτει χρονολογικά τις εγγραφές συναλλαγών με τρέχον υπόλοιπο |
ledger print |
ledger print |
Μορφοποιεί και εκτυπώνει τις αρχικές εγγραφές ημερολογίου |
ledger csv |
ledger csv |
Εξάγει τις φιλτραρισμένες συναλλαγές σε τυπική μορφή CSV |
ledger payees |
ledger payees |
Εμφανίζει όλους τους διακριτούς παραλήπτες στο ημερολόγιο |
ledger accounts |
ledger accounts |
Εμφανίζει όλα τα ονόματα λογαριασμών και την ιεραρχία τους |
Προδιαγραφές Σύνταξης Ημερολογίου
Βασική Δομή Συναλλαγής
2024/01/03 * (CODE#001) Landlord John ; tag:rent
Expenses:Rent:Apartment $600.00
Assets:Checking:MainBank
- Ανάλυση γραμμής κεφαλίδας::
2024/01/03 * (CODE#001) Landlord John ; tag:rent
^ ^ ^ ^ ^
Date State Code/Check# Payee/Description Comment & Tags
- Αυτόματη συμπλήρωση: Το Ledger μπορεί να συμπεράνει αυτόματα το ποσό μιας εγγραφής ώστε το άθροισμα να μηδενίζεται.
Σημαίες Κατάστασης Συναλλαγών
| Σημαία | Κατάσταση | Περιγραφή & Τυπική Χρήση |
|---|---|---|
| (None) | Μη εκκαθαρισμένη | Νέες συναλλαγές που δεν έχουν ακόμη διασταυρωθεί με αντίγραφα κίνησης |
! |
Σε εκκρεμότητα | Συναλλαγές που εκκρεμούν προς τελική εκκαθάριση |
* |
Εκκαθαρισμένη | Επαληθευμένες συναλλαγές που έχουν διεκπεραιωθεί στον τραπεζικό λογαριασμό |
Βοηθητικές Ημερομηνίες
Η χρήση του ίσον επιτρέπει τον διαχωρισμό της ημερομηνίας συναλλαγής από την πραγματική ημερομηνία διακανονισμού:
; Format: EventDate=SettlementDate
2024/01/01=2024/01/15 Consulting Client A
Assets:AccountsReceivable $1,000.00
Income:Consulting
Βεβαιώσεις και Αναθέσεις Υπολοίπου
- Βεβαίωση υπολοίπου (= $VALUE): επαληθεύει ότι το σωρευτικό υπόλοιπο ισούται ακριβώς με την τιμή.
- Ανάθεση υπολοίπου (= $VALUE): υπολογίζει τη διαφορά που απαιτείται για να φτάσει το υπόλοιπο στην τιμή.
; 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 Expensesledger bal --unbudgeted Expenses
Εκφράσεις Περιόδων
Το Ledger παρέχει χρονικό φιλτράρισμα φυσικής γλώσσας μέσω της επιλογής -p ή --period.
Syntax Structure
[INTERVAL] [BEGIN] [END]
Χρονικά Διαστήματα
| Διάστημα | Σημασία |
|---|---|
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"
Εκφράσεις Αναζήτησης & Φιλτράρισμα
| Syntax | Στόχος | Παράδειγμα | Περιγραφή |
|---|---|---|---|
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 |
Λογική Boole
ledger reg Expenses:Food and @Starbucks and not dining
ledger bal Rent or Transportation
ledger bal Expenses and not \( Drinks or Food \)
Κοινές Σημαίες Φιλτραρίσματος
| Σημαία | Επιλογή | Περιγραφή |
|---|---|---|
-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 |
Αναφορές & Εξαγωγή Δεδομένων
-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"
Πρακτικά Παραδείγματα
# 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