1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#:schema https://raw.githubusercontent.com/Xm798/beanfmt/master/beanfmt.schema.json
# beanfmt configuration reference
#
# Place this file as:
# - beanfmt.toml or .beanfmt.toml in your project directory (searched upward)
# - ~/.config/beanfmt/config.toml for global defaults
#
# Priority: CLI flags > project config > global config > built-in defaults
# All fields are optional; omitted fields use built-in defaults.
# Number of spaces for indentation (default: 4)
= 4
# Column to align currencies to (default: 70)
= 70
# Column to align costs (e.g. {100 USD}) to (default: 75)
= 75
# Thousands separator handling: "add", "remove", or "keep" (default: "keep")
# "add" — insert commas: 1000000 → 1,000,000
# "remove" — strip commas: 1,000,000 → 1000000
# "keep" — leave as-is
= "keep"
# Add spaces inside cost braces: { 100 USD } vs {100 USD} (default: false)
= false
# Treat CJK characters as double-width for alignment (default: true)
= true
# Sort entries by date: "asc", "desc", "off", or true/false (default: "off")
# "asc" — ascending (oldest first)
# "desc" — descending (newest first)
# "off" — preserve original order
= "off"
# Where to place entries without time metadata within a day (default: "keep")
# "begin" — before timed entries
# "end" — after timed entries
# "keep" — preserve original relative order within each date group
# Multiple timeless entries preserve their relative order.
= "keep"
# Directive types to exclude from sorting (default: [])
# Excluded directives act as sort barriers, preventing entries on either side
# from being reordered across them. Their continuation lines (postings, metadata)
# stay attached.
# Valid values: "transaction", "balance", "open", "close", "price", "pad", "note", "document", "event", "custom", "query", "commodity"
# sort_exclude = ["open", "close"]