Journal

A plain text accounting journal is a simple, human-readable format used to record financial transactions. It typically consists of entries that detail the date, accounts involved, amounts, currencies or commodities, and optional metadata. This format is used in plain text accounting systems for its simplicity and easy of editing.

In the context of Tackler, a plain text journal can be stored as a single file or split into multiple files. Tackler supports over 130 languages and Unicode blocks for account and commodity names. The journal syntax is described in the Journal Format.

Tackler has in build support for creating default journal setup, which includes all basic files and settings, and it’s ready to be used.

Create a new journal and run default reports
$ tackler new journal
$ tackler --config journal/conf/tackler.toml

Journal files

The accounting data can be split into multiple files, and this technique of splitting journal into multiple files is called sharding. There are several strategies for different sharding schemes, and these are discussed in more details Transaction Data Sharding chapter.

However, you don’t have to do journal sharding, if you don’t need this feature. Tackler can work with a single file as well.

The journal can be stored either on a filesystem or in a Git repository. The choice of storage type depends on your needs and preferences, and it’s typical to configure the journal so that you switch between these two storage types on the fly.

You don’t have to make decision now, as Tackler can work with both types of storage and it’s easy to switch between them.

Filesystem storage

This is the easiest and most straightforward way to start. Journal is read directly from filesystem storage as plain file or set of files, when filesystem storage is used. See Filesystem Storage Guide for further info.

Git storage

Tackler has native, integrated support for Git SCM. This means that it can read journal data directly from git repository, and Git’s normal ways to reference data are supported: branches, tags, symbolic version selectors and plain commit ids.

This also means that the State of Journal is well-defined and the state (used journal data) is recorded into reports when Git storage is used.

See Git Storage Manual and Accounting Auditing, for further details on how to use Git storage and how to audit the journal data used to produce the accounting reports.