Acme Inc. Store A

Journal Configuration

Git Repository

Standard initialization of Store A’s git repository setup
git init --bare store-a.git
git clone store-a.git/

cd store-a
git config user.name "ACME Store A"
git config user.email "store-a@acme"
git config commit.gpgSign no
git commit -m init --allow-empty

mkdir conf
cp "$@" conf/
mkdir -p txns/store-a

git add conf
git commit -m "Store A conf"
git push

Reporting Configuration

This is reporting configuration used locally at Store A.

See tackler.toml, accounts.toml, commodities.toml and tags.toml for full configuration options.

Tackler configuration

Store A’s journal is just plain journal with optional Git backend support.

The journal setup is configured so that it’s possible to switch between working copy journal (plain filesystem) and Git backend with --input.storage "fs" command line argument.

Strict mode is activated, so that all accounts, commodities and tags must be defined. This prevents unknown accounting data to be used by Store A.

Audit mode is also activated, which means that tackler calculates checksums of used journal data.

This is file: store-a/conf/store-a-conf.toml
[kernel]
strict = true
audit = { mode = true, hash = "SHA-256" }
ext-id = { unique = false }
timestamp = { default-time = 00:00:00, timezone = { name = "UTC" } }

[kernel.input]
storage = "fs"
fs  = { path = "..",      dir = "txns", ext = "txn" }
git = { repo = "../.git", dir = "txns", ext = "txn", ref = "main" }

[transaction]
accounts    = { path = "store-a-accounts.toml" }
commodities = { path = "store-a-commodities.toml" }
tags        = { path = "store-a-tags.toml" }

[report]
report-timezone = "UTC"
scale = { min = 2, max = 2 }
accounts = [ "Assets(:.*)?", "Warehouse(:.*)?" ]
targets = [ "balance", "register" ]

balance       = { title = "Store A: Balance Report", type = "tree" }
balance-group = { title = "Store A: Balance Group Report", type = "tree", group-by = "month" }
register      = { title = "Store A: Register Report" }

[export]
targets = [ ]
equity = { equity-account = "Equity:Balance" }

Account definitions

The Chart of Accounts contains only local accounts for Store A.

This is file: store-a/conf/store-a-accounts.toml
accounts = [
    "Assets:Store-A:Cashier",
    "Warehouse:Store-A",
    "Equity:Balance",
]

Tag definitions

Same here, Chart of contains only local tags used at Store A.

This is file: store-a/conf/store-a-tags.toml
tags = [
    "store-a",
]

Commodities

This is file: store-a/conf/store-a-commodities.toml
permit-empty-commodity = false

commodities = [
    "€",
    "Unit",
]