Skip to main content

hledger Helper (hhelper) - A Command-Line Tool for Managing hledger Files

Github

Welcome to hledger Helper (hhelper), a command-line tool for simplifying and enhancing your experience with hledger, the plain-text accounting tool. Whether you're managing transactions, cleaning up your journal, fetching commodity prices, or generating recurring transactions, hhelper is here to make your life easier.

🌟 Features

hledger Helper comes packed with powerful features to streamline your accounting workflow:

  1. Mark Transactions as Cleared Easily mark transactions as cleared directly from the command line. No more manual editing of your ledger files!

  2. Clean Up Journal Automatically clean and format your hledger journal file. This includes aligning amounts, removing unnecessary spaces, and ensuring your journal is valid.

  3. Fetch Prices Fetch historical commodity prices using Yahoo Finance and append them to your price file. Perfect for keeping your commodity valuations up to date.

  4. Generate Recurring Transactions Automatically generate recurring transactions based on your predefined rules. Save time by automating repetitive entries.

🚀 Getting Started

Prerequisites

  • Python 3.9 or higher
  • hledger 1.25 or higher
  • A valid config.toml file in ~/.config/hhelper/ (see example config)

Installation

# install uv (package manager):
curl -LsSf https://astral.sh/uv/install.sh | sh

# restart your terminal, or run the following command:
source $HOME/.local/bin/env # or follow instructions

# install hhelper through uv
uv tool install hhelper

# Run the tool
hh

Screenshots

Main menu Clean up journal Clearing transaction Fetching prices Generating recurring transaction

🛠️ Usage

Once you've launched hhelper, you'll be greeted with a user-friendly menu where you can select from the available options:

  1. Mark Transactions as Cleared Navigate through your uncleared transactions and mark them as cleared with a single keypress.

  2. Clean Up Journal Automatically clean and format your journal file. The tool will ensure your journal is valid before making any changes.

  3. Fetch Prices Fetch historical prices for your commodities and append them to your price file. You can review the fetched prices before saving.

  4. Generate Recurring Transactions Generate recurring transactions based on a period expression. Preview the transactions before appending them to your journal.

⚙️ Configuration

hhelper requires a config.toml file located at ~/.config/hhelper/config.toml. This file should define the paths to your ledger, price, header, and recurring transaction files. Here's an example configuration:

[paths]
directory = "~/finance"
ledger_file = "journal.ledger"
price_file = "prices.ledger"
header_file = "header.ledger"
recurring_tx_file = "recurring.ledger"

[commodities]
commodity_pairs = [
    { symbol = "AAPL", base_currency = "USD", quote_currency = "AAPL", is_append_space = true },
    { symbol = "BTC-USD", base_currency = "USD", quote_currency = "BTC", is_append_space = false },
]

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

🙌 Contributing

Contributions are welcomed! If you have ideas for new features, improvements, or bug fixes, please open an issue or submit a pull request. Let's make hhelper even better together!

💬 Feedback

If you have any questions, suggestions, or just want to say hello, feel free to open an issue or reach out to us. We'd love to hear from you!


Happy accounting with hledger Helper! 🎉

Release files for hhelper 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hhelper 0.3.0
File Size Uploaded
hhelper-0.3.0.tar.gz 709.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hhelper 0.3.0
File Interpreter ABI Platform
hhelper-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 726.0 kB

Release files / hhelper-0.3.0.tar.gz

Download URL hhelper-0.3.0.tar.gz
Size 709.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a9ee4b16baf7222a474cd60c2ba3ef339b0a1f85052c0efb78df85d6a11319c0
BLAKE2b-256 checksum
How to use checksums
102f4ee231ea1030e70040a43a5dde20cf6478ad564bbc1c3aae1076077b9ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / hhelper-0.3.0-py3-none-any.whl

Download URL hhelper-0.3.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05f6f0d23bed8147dc2f351a1aaf7d9695995653e718f708ba5b2aa19b3140c9
BLAKE2b-256 checksum
How to use checksums
b96401b9ba2ae4bd6d4d06a39043d9b435b58192fc2495e9c9b53c6d920541b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page