Journal Format
Tacklers journal is based on idea of plain text files, where each accounting record is written in human readable and editable form into those text files. This idea of text based double-entry accounting was invented and pioneered by John Wiegley in 2003.
Tackler Ain’t Calculator and Kernel for Ledger Equivalent Records. |
Journal files
Journal can be a single file or it can be split on transaction level into multiple files (shards). See general Journal Documentation, Transaction Data Sharding, Usage Manual and tackler.toml for further details how to define used storage system and ideas for different sharding schemes.
Tackler Journal Format
Version v2 | Journal entry | Comments |
---|---|---|
Basic example |
|
This is sequence of Transactions (Txns). There could one or many Txns per input file. See Transaction data sharding for ideas how to store journal. |
Basic transaction |
|
Transaction’s content (comments and account postings) must be intented at least by one space. There must be two or more accounts (postings) which must have zero sum if all accounts have amount. Account’s amount can not be zero. Amount of last account could be omitted, in that case it will be calculated automatically. There has to be at least one space between account and amount. If compatibility with other systems is needed, then two spaces should be used. |
Dates and Timestamps |
e.g.
|
These are ISO-8601 dates and times with up to nanosecond resolution.
|
Transaction code |
e.g.
|
Optional transaction code, this could be check number, wire transfer id or delivery tracking number, for example. Code can not contain characters: |
Transaction description |
e.g.
|
Optional transaction description, this is textual note
or subject line of transaction. |
Account names |
e.g.
|
Top-account names must begin with a UTF-8 letter or sign
(xrefreference:charsets.adoc[over 130 languages and code blocks are supported]).
Then letters, digits, middle dot |
Amounts |
|
Default output scale is is between 2..7 decimal points. This is can be configured
by Tackler uses decimal floating-point numbers with 28 digit precision for calculations. |
Commodities |
|
Commodity names begin with a UTF-8 letter. Then
letters, digits, middle dot |
Value positions |
|
Optional value position for posting |
PnL: Opening position |
|
Optional opening position for posting |
Metadata: UUID |
|
Optional transaction metadata (uuid) |
Metadata: Location |
|
Optional Geo Location for Transaction |
Metadata: Txn Tags |
Optional transaction tags |
|
Comments |
|
Optional transaction comment |
Transaction comments |
|
Optional transaction comment |
Posting comments |
|
Optional posting comment |