Git Product home page Git Product logo

awesome-hledger's Introduction

Awesome Hledger Awesome

Guides and tools for hledger.

Manage your finances using a plain text file

Table of Content

Text Editor Tools

Since hledger is based on a plain text journal file, a text editor is the main tool to edit transactions. These extensions can be added to the text editors to make life easier as explained here.

  • Emacs ledger-mode - Most used and maintained helper mode for hledger and Ledger files, but not 100% compatible with hledger.
  • Emacs hledger-mode - An alternative to ledger-mode, written specifically for hledger. Has some different features.
  • Emacs flycheck-hledger - Provides realtime indication of problems in your journal. Can be combined with ledger-mode or hledger-mode.
  • Vim vim-ledger - Vim plugin compatible with ledger and hledger.
  • Vim hledger-vim - Alternative to vim-ledger.
  • Vim timedot-vim - timedot-vim is a vim-plugin to enhance working with hledger timedot files.
  • VS Code hledger-vscode - Language support for hledger in VS Code

TUI - Terminal User Interface to view, add and manage journal files

Interactive apps on terminal to navigate the transactions using menus, dialogs and reports without the need to use multiple command-line options.

  • hledger-ui - Official terminal interface for hledger.
  • puffin - A bubbletea based TUI to manage personal finances using hledger

GUI - Web, Desktop and Mobile user interfaces

Beautiful and graphical applications to manage journal files

  • hledger-web - Official web interface for hledger.
  • MoLe - Android front end to hledger-web

Add/Edit Transactions

Even complex transactions become simple and convenient to add with these tools.

  • hledger add - Official interactive command-line tool to add transactions.
  • hledger-iadd - Very convenient tool to add transactions to hledger journal.
  • hledger-edit - Edit hledger transactions in your $EDITOR limited to the result of a query.
  • hledger-lots - Add transactions involving buying and selling commodities with prices to for automatic lot management.
  • obsidian_hledger - Add transactions using Obsidian.

Import Transactions

Bring transactions from other sources to hledger's format.

Report

The ultimate reason to maintain a journal file is to extract information. Use these tools to process and visualize the data.

  • hledger-plot - Plot chart of hledger queries.
  • hledger-args - replacement for hledger command file using custom directives inside the journal file. Also provides an interactive report with placeholders to generate prompts.
  • hledger2psql - Export a hledger journal file to a postgresql database to be used in data visualization software. Included docker-compose file for Apache Superset.
  • hledger-lots - View financial indicator including market price, profit and XIRR for one commodity or all commodities in a tabular form.
  • hledger-forecast - Use a CSV or Yaml file for easier forecasting with hledger. Adds functionality for future cost rises (e.g. inflation) and the automatic tracking of planned transactions.

Price Fetching

  • pricehist - Download price history from multiple sources and output to multiple formats, including hledger price directive.
  • hledger-stockquotes - Read your journal and and try to download price directives for all non USD declared commodities.
  • hledger-lots - Create automatic lots without subaccounts and tags and download prices from declared accounts in the journal with a specific tag

Guides, Tutorial and Blog Posts

Videos

  • Inside hledger - Discussion of the source code with a general discussion about hledger.
  • Floss Weekly - General discussion about hledger.
  • Glenn Ramsey - Introduction to hledger focused on invoice generation and csv import.

Related Tools

These tools are not made for hledger, but they provide import features to maintain journal files.

  • Tabula - Extract data from tables in a pdf file to import to hledger.
  • csvkit - Convert to csv and do operating like cut, grep, sort, join, stack, etc.
  • GNU Make - Set multiple conversions, import and other operations for you ledger files.
  • watchexec - Automatically run a hledger command when the journal changes. Available in most linux distributions.
  • entr - Alternative to watchexec

Community

Places to ask question about hledger and accounting in general

  • contrib-resources - Place with resources about hledger in /awesome-hledger/ where any user can contribute with tutorials, articles, tips, etc.
  • Reddit - Plain Text Accounting with hledger and others ledger-like software.
  • Matrix Chat - Matrix Chat room using element chat client.
  • Libera IRC - Same chat room as the matrix, but using IRC.

Contributing

Contributions of any kind welcome, just follow the guidelines!

Contributors

Thanks goes to these contributors!

awesome-hledger's People

Contributors

edkedk99 avatar olimorris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.