Alt +← → cycle focus
↑ ↓ / j k prev/next DAG node
Ctrl ++ − zoom focused pane
, . resize pane only · / reset
Ctrl +0 reset zoom
Space play/pause
Configuration
Receipt Labelling
Account Configuration
EUR cash wallet — no CSV import
EUR physical
wallet
Triodos checking account — imports from CSV
Triodos checking
(EUR CSV)
Directory Paths
Standard directory layout: import/{holder}/{bank}/{type}/{year}/
Default dir paths
Filename Convention
Standard filename conventions for CSV, rules, and journal files
Default filenames
Categorisation Config
Standard categorisation settings from config.yaml
Default categorisation
Matching Algo Config
Standard matching algorithm settings from config.yaml
Default matching algo
Categories
groceries:{ekoplaza,supermarket}, repairs:{bike}, withdrawl:{euro:{pound}}
basic categories
Matching Parameters
days:2, amount_range:0, days_month_swap:true
default (±2d, exact)
Starting Journal
Opening balance: Assets:Triodos:Checking 1000 EUR
2024: 1000 EUR
Bank CSV Transactions
Debit card purchase at Ekoplaza, exact date match
Triodos -42.17 EUR
2025-01-15 Ekoplaza
Receipt Images
Ekoplaza receipt, paid by card
example_card.jpg
No label exists yet
No receipt label JSON exists yet for the example_card receipt
example_card
(no label)
Label receipt in TUI
Label ekoplaza card receipt via TUI based on image
TUI label
ekoplaza_card
Receipt label output JSON
triodos account, 2025-01-15, groceries:ekoplaza
example_card
EUR 42.17 card
Matching Outcome
Exact date+amount, no TUI needed
AUTO-LINK
1 match found
Journal Output
Debit groceries:ekoplaza, credit triodos checking
Expenses:Groceries:Ekoplaza
42.17 EUR
Visualisation
Interactive Plotly Sankey of all flows
Sankey Diagram
Interactive Plotly Treemap of spending
Treemap Plot
Configuration
Receipt Labelling
Account Configuration
EUR cash wallet — no CSV import
EUR physical
wallet
Triodos checking account — imports from CSV
Triodos checking
(EUR CSV)
Directory Paths
Standard directory layout: import/{holder}/{bank}/{type}/{year}/
Default dir paths
Filename Convention
Standard filename conventions for CSV, rules, and journal files
Default filenames
Categorisation Config
Standard categorisation settings from config.yaml
Default categorisation
Matching Algo Config
Standard matching algorithm settings from config.yaml
Default matching algo
Categories
groceries:{ekoplaza,supermarket}, repairs:{bike}, withdrawl:{euro:{pound}}
basic categories
Matching Parameters
days:2, amount_range:0, days_month_swap:true
default (±2d, exact)
Starting Journal
Opening balance: Assets:Triodos:Checking 1000 EUR
2024: 1000 EUR
Bank CSV Transactions
Debit card purchase at Ekoplaza, exact date match
Triodos -42.17 EUR
2025-01-15 Ekoplaza
Receipt Images
Ekoplaza receipt, paid by card
example_card.jpg
No label exists yet
No receipt label JSON exists yet for the example_card receipt
example_card
(no label)
Label receipt in TUI
Label ekoplaza card receipt via TUI based on image
TUI label
ekoplaza_card
Receipt label output JSON
triodos account, 2025-01-15, groceries:ekoplaza
example_card
EUR 42.17 card
Matching Outcome
Exact date+amount, no TUI needed
AUTO-LINK
1 match found
Journal Output
Debit groceries:ekoplaza, credit triodos checking
Expenses:Groceries:Ekoplaza
42.17 EUR
Visualisation
Interactive Plotly Sankey of all flows
Sankey Diagram
Interactive Plotly Treemap of spending
Treemap Plot
Matching Flow
The matching algorithm tries to find a CSV transaction for each receipt. Retry outcomes loop back for another attempt; terminal outcomes end the flow.
Try to
match
retry outcomes (loop back)
terminal outcomes (flow ends)
WIDEN
DATE
WIDEN
AMOUNT
SWAP
DD/MM
CORRECT
RECEIPT
TOO MANY
(15+)
AUTO-LINK
CURRENCY
CONVERT
CURRENCY
+ FEE
DISAMBIGUATE
SKIP
(cash)
BLOCKED
(dup)
ASSET
CONVERT
CLASSIFY
(CSV)