abandon noun: freedom from inhibitions, restraint, concern, or worry.
Abandon is a text based, double-entry accounting system. Transactions are entered in plain text files. You can use your favorite text editor to edit these files, and can use your favorite VCS for versioning and collaboration.
From these input text files, Abandon can present textual reports or graphical reports. The graphical reports are useful when you need to interactively explore the data.
In addition, PDF reports can be generated using abandon-reports. PDFs are useful when you need to print the report or share it with someone by email, etc.
Abandon is inspired by Ledger but is simpler to use, has a more regular syntax, has a GUI and is cross-platform. Abandon tries to maintain syntax compatibility with Ledger whenever possible.
If we enter this into a text file:
2013/1/1
Expense:Food -200
Assets:Cash
... and run it through abandon
, the program will subtract 200
from the account Expense:Food
and (automatically) balance the transaction by adding 200
to the account Assets:Cash
.
Expense:Food
will become an account nested under the account Expense
. If we add another transaction like this:
2013/1/2
Expense:Entertainment -400
Assets:Cash
then Entertainment
will be another child account under the parent Expense
account.
Hence, the balance report will look like this:
600.00 Assets:Cash
-600.00 Expense
-400.00 ├╴Entertainment
-200.00 └╴Food
─────────────────────────────────────────────
0.00 0.00 = Zero
The Expense
account shows a value of -600
which is the total of its own amount and its childrens'.
The last line shows the total of the top level accounts, which in this case is 0.00
.
Note: The second
0.00
is for accounts that get printed on right. In this simple example there is nothing to show on the right side of the report.
ledger
's.(or why yet another fork)
ledger
, this doesn't work because it messes up with the syntax for currencies.Abandon
binaries from here*.sh
files to run on *nix
and Mac
or the *.bat
files to run on Windows
.The command line options are:
-c <config-file-path> Specifies the path to a config file
-i <input-file-path> Specifies the path to an input file
The config file can specify which reports to generate and how. Some of these options are available as command line parameters too.
As of now, the preferred way of running the program is by specifying a config file. Look at examples/simple/accounts.conf
for an example config file, and doc/abandon.md
for further instructions and information about Abandon.
Abandon works fine for single-currency accounting. In the future, we plan to add support for:
The issue list provides a glimpse into the immediate road map.
If you need to use abandon as a library, you can use the following maven dependency information:
<dependency>
<groupId>in.co.uproot</groupId>
<artifactId>abandon-base_2.11</artifactId>
<version>0.3.2</version>
</dependency>
The library jars can be downloaded from Sonatype.
Join us in the chat room here: .
Or raise an issue in GitHub.