ledgerctl — audit, report och reconcile

[2026-07-19 Sun]

Syfte

Dessa tre delsystem besvarar olika frågor:

Delsystem Fråga
audit Är routingreglerna kompletta och i takt med datan?
report Vad visar journalen ekonomiskt?
reconcile Är journalen och bankens saldodata matematiskt konsekventa?

Alla är skrivskyddade.

Audit

Audit av en CSV före import

ledgerctl audit imports/2026-07.csv

Kommandot listar mottagare som inte matchar routes.conf. Det är lämpligt före suggest-routes och import.

Audit av journal och routes.conf

ledgerctl audit

Det jämför journalens råa bankmottagare med nuvarande routefil och kan visa:

Audit ändrar inte gamla poster när en route ändras. Journalen är historisk data; rapporten visar endast att den nuvarande regelbasen och historiken har glidit ifrån varandra.

Report

Grundform:

ledgerctl report VY

Period kan anges som en månad:

ledgerctl report bal --month 2026-07

Eller ett intervall:

ledgerctl report reg --from 2026-01-01 --to 2026-03-31

Rapportvyer

Vy Innehåll
bal Balans per konto
bal-tree Balans som kontoträd
reg Transaktionsregister
reg20 De 20 senaste transaktionerna
is Resultaträkning / income statement
es Endast utgiftskonton
bs Balansräkning
cf Kassaflödesrapport
accounts Lista konton
payees Lista mottagare
tags Lista taggar
unknown Register för expenses:uncategorized och income:unknown
uncategorized Endast expenses:uncategorized
today Dagens register
yesterday Gårdagens register
month Balans för innevarande månad
year Balans för innevarande år
check hLedger-kontroll av journalen
stats Journalstatistik

Exempel:

ledgerctl report reg20
ledgerctl report es --month 2026-07
ledgerctl report cf --from 2026-01-01 --to 2026-06-30
ledgerctl report accounts
ledgerctl report unknown

Genväg:

ledgerctl stats

motsvarar ledgerctl report stats.

Reconcile

Kontrollera journalen

ledgerctl reconcile

Det kör hLedgers strikta kontroll mot finance.journal. Trasiga saldoassertions, obalanserade poster och annan journalproblematik ger fel.

Detta är den viktigaste slutkontrollen efter en import:

ledgerctl import imports/2026-07.csv --all
ledgerctl reconcile

Kontrollera bankfilens eget löpande saldo

ledgerctl reconcile imports/2026-07.csv

Det läser CSV-filen, räknar fram saldot rad för rad och jämför mot bankens saldokolumn. Ingenting importeras och ingen journal skrivs.

Den här kontrollen svarar på om CSV-filen är internt konsekvent. Den ersätter inte ledgerctl reconcile mot den samlade journalen.

Rekommenderade kontrollnivåer

Snabb vardagskontroll

ledgerctl report reg20
ledgerctl report unknown
ledgerctl budget check

Efter bankimport

ledgerctl reconcile imports/2026-07.csv
ledgerctl import imports/2026-07.csv --all
ledgerctl reconcile
ledgerctl audit
ledgerctl report bal --month 2026-07
ledgerctl budget doctor

Inför årsarkivering

ledgerctl reconcile
ledgerctl audit
ledgerctl report unknown
ledgerctl budget doctor
ledgerctl archive 2026

Tolka vanliga avvikelser

unknown visar poster

Nya importer ska normalt ha stoppats innan detta uppstår. Äldre poster kan dock finnas kvar från tidigare regelverk eller manuella ändringar. Kontrollera först csv-payee-kommentaren och routehistoriken innan du ändrar bokföringskontot.

Audit visar en oanvänd route

Det behöver inte vara fel. Mottagaren kanske bara saknas i aktuell historik. Ta inte bort regeln enbart för att den är oanvänd utan att kontrollera merchant-db.json och tidigare arkiv.

Reconcile misslyckas efter manuell redigering

Kör:

hledger -f finance.journal check

eller ledgerctl report check för att få hLedgers felposition. Kontrollera den senast ändrade transaktionen och eventuella saldoassertions.

CSV-reconcile misslyckas

Importera inte filen förrän du förstått avvikelsen. Kontrollera exportperiod, kontonummer, radordning och om banken har inkluderat flera konton i samma fil.