{"id":13558466,"url":"https://github.com/hrj/abandon","last_synced_at":"2025-04-12T15:44:08.213Z","repository":{"id":8683095,"uuid":"10343209","full_name":"hrj/abandon","owner":"hrj","description":":relieved: Simple and Robust Accounting","archived":false,"fork":false,"pushed_at":"2025-04-02T04:02:49.000Z","size":1341,"stargazers_count":185,"open_issues_count":32,"forks_count":25,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-03T16:13:52.609Z","etag":null,"topics":["accounting","cli","cross-platform","gui","ledger","less-is-more","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrj.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-05-28T19:08:43.000Z","updated_at":"2025-04-02T04:02:53.000Z","dependencies_parsed_at":"2023-11-06T23:38:34.720Z","dependency_job_id":"91fbde05-b6ca-4904-8fe0-41f10b6de3d5","html_url":"https://github.com/hrj/abandon","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrj%2Fabandon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrj%2Fabandon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrj%2Fabandon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrj%2Fabandon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrj","download_url":"https://codeload.github.com/hrj/abandon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248590994,"owners_count":21129929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accounting","cli","cross-platform","gui","ledger","less-is-more","scala"],"created_at":"2024-08-01T12:04:58.269Z","updated_at":"2025-04-12T15:44:08.113Z","avatar_url":"https://github.com/hrj.png","language":"Scala","funding_links":[],"categories":["Scala","cli","\u003ca name=\"financial\"\u003e\u003c/a\u003eFinancial tools"],"sub_categories":[],"readme":"\u003e **abandon** _noun_: freedom from inhibitions, restraint, concern, or worry.\n\n**Abandon** is a text based, double-entry accounting system. Transactions are entered in plain text files. You can use your\nfavorite text editor to edit these files, and can use your favorite [VCS](http://en.wikipedia.org/wiki/Revision_control) for versioning\nand collaboration.\n\nFrom these input text files, Abandon can present textual reports\nor graphical reports. The graphical reports are useful when you need to interactively explore the data.\n\nIn addition, PDF reports can be generated using [abandon-reports](https://github.com/hrj/abandon-reports). PDFs are useful\nwhen you need to print the report or share it with someone by email, etc.\n\nAbandon is inspired by [Ledger](http://ledger-cli.org/) but is simpler to use, has a more regular syntax, has a GUI\nand is cross-platform. Abandon tries to maintain syntax compatibility with Ledger whenever possible.\n\n#### Sample Text report\n![Abandon Text output Screenshot](http://i.imgur.com/3n3GmdE.png)\n\n#### Sample Graphical report\n![Abandon Screenshot](http://i.imgur.com/9mTthiH.png)\n\n[(Screenshot Gallery)](http://imgur.com/a/GLhV5#0)\n\n### Quick start\nIf we enter this into a text file:\n```\n2013/1/1\n    Expense:Food                -200\n    Assets:Cash\n```\n\n... 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`.\n\n`Expense:Food` will become an account nested under the account `Expense`. If we add another transaction like this:\n```\n2013/1/2\n    Expense:Entertainment                -400\n    Assets:Cash\n```\nthen `Entertainment` will be another child account under the parent `Expense` account.\n\nHence, the balance report will look like this:\n\n```\n   600.00   Assets:Cash        \n  -600.00   Expense            \n  -400.00    ├╴Entertainment   \n  -200.00    └╴Food            \n─────────────────────────────────────────────\n     0.00                         0.00 = Zero\n```\n\nThe `Expense` account shows a value of `-600` which is the total of its own amount and its childrens'.\n\nThe last line shows the total of the top level accounts, which in this case is `0.00`.\n\n\u003e *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.\n\n\n### Features at a glance\n\n* Double entry accounting\n* Infinite precision arithmetic\n* Input is through plain-text files. The syntax is well defined and yet human friendly, just like `ledger`'s.\n* Portable across many operating systems; based on the Java platform.\n* Reporting: supports both textual and interactive, graphical reports.\n  The GUI watches for changes in input files and automatically refreshes when it detects a change.\n\n\n### Differences from Ledger\n(or why yet another fork)\n* Cross-platform. This was a major consideration to be able to collaborate with external auditors, accountants, etc. While, in theory, the existing implementations of Ledger are cross-platform, they need to be compiled and packaged separately for each platform.\n* Simpler and more regular syntax. Some of the simplicity is because of missing features. But, in general, I want to cut the flab and keep things simple and regular.\n  For example, identifiers can have numbers in them. Although this might sound trivial, the language has to be carefully designed for this. In `ledger`, this doesn't work because it messes up with the syntax for currencies.\n* An interactive GUI for viewing reports. \n\n### Installation\n* If you only need the CLI version, install **Java 8** from any provider. OpenJDK works fine.\n  The GUI version requires JavaFX, which is bundled by the Oracle 8 JRE and available as a separate package in other JREs.\n* Download and extract the `Abandon` binaries from [here](https://github.com/hrj/abandon/releases)\n* Use the `*.sh` files to run on `*nix` and `Mac` or the `*.bat` files to run on `Windows`.\n\n### Running\n\nThe command line options are:\n```\n   -c \u003cconfig-file-path\u003e        Specifies the path to a config file\n   -i \u003cinput-file-path\u003e         Specifies the path to an input file\n```\n\nThe config file can specify which reports to generate and how. Some of these options are available as command line parameters too.\n\nAs 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.\n\n### Roadmap\nAbandon works fine for single-currency accounting. In the future, we plan to add support for:\n\n* Multiple currencies (or units or commodities).\n* Reporting options (sorting, grouping, time limits, etc).\n\nThe issue list provides a glimpse into the immediate road map.\n\n### Maven artifacts\nIf you need to use abandon as a library, you can use the following maven dependency information:\n\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003ein.co.uproot\u003c/groupId\u003e\n  \u003cartifactId\u003eabandon-base_2.11\u003c/artifactId\u003e\n  \u003cversion\u003e0.3.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nThe library jars can be downloaded from [ Sonatype](https://oss.sonatype.org/content/repositories/releases/in/co/uproot/).\n\n### License\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0)\n\n### Contact\nJoin us in the chat room here: [![Gitter chat room](https://badges.gitter.im/hrj/abandon.png)](https://gitter.im/hrj/abandon).\n\nOr raise an issue in GitHub.\n\n### Build \u0026 Coverage status\n[![Build Status](https://travis-ci.org/hrj/abandon.svg?branch=master)](https://travis-ci.org/hrj/abandon)\n[![Coverage Status](https://img.shields.io/coveralls/hrj/abandon.svg)](https://coveralls.io/r/hrj/abandon?branch=master)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrj%2Fabandon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrj%2Fabandon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrj%2Fabandon/lists"}