awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
beancount avatar

beancount/beancount

0
View on GitHub↗
5,291 stars·415 forks·Python·gpl-2.0·8 vuesbeancount.github.io↗

Beancount

Beancount is a plain-text double-entry accounting system. It enforces zero-sum transactions, organizes accounts into a hierarchical five-type tree, and verifies balances at specific dates using precision-derived tolerances. Transactions are recorded in plain-text files with a strict syntax that supports currency-specific rounding, automatic interpolation of missing amounts, and comprehensive metadata including tags, links, and payee annotations.

Beyond core bookkeeping, Beancount offers investment portfolio tracking with lot-based cost basis management, configurable booking strategies (FIFO, average cost, custom), and support for dividends, stock splits, and unrealized gain/loss reporting. A plugin system and Python API allow custom transformations and reports. Its SQL-like query language enables filtering, aggregation, and summary of transactions. Built-in features cover equity compensation, financial pool separation, and health care cost accrual with insurance limit tracking.

The tool includes automated bank statement import from CSV, OFX, and PDF sources with duplicate detection, caching, and customizable protocols. Shared expense management handles multi-party splitting, contributions, and settlement. Standard accounting reports—balance sheet, income statement, trial balance, journal registers—are generated alongside period reporting and hierarchical balance trees. A CLI provides utilities for validation, formatting, diagnostics, and sample data generation. A local web server serves interactive reports and a dashboard for browsing the ledger.

Features

  • Double-Entry Accounting Tools - Provides a plain-text double-entry accounting system that generates reports and balance checks from text files.
  • Double-Entry Bookkeeping Engines - Implements core double-entry bookkeeping logic with plain-text data structures.
  • Double-Entry Transaction Journals - Enforces a zero-sum constraint on every transaction, automatically interpolates missing amounts with currency-specific rounding.
  • Price Databases - Records daily commodity prices into a local database for historical valuation and reporting.
  • Financial Report Generators - A system that produces balance sheets, income statements, trial balances, and investment performance reports from ledger data.
  • Account Management - Ships account opening, closing, and currency commodity declaration for structured financial tracking.
  • Financial Account Categorization - Classifies accounts into five types for generating balance sheets and income statements.
  • Hierarchical Account Structures - Implements a hierarchical account tree with colon-separated names under five root categories for structured bookkeeping.
  • Account Naming Conventions - Provides colon-separated hierarchical naming for financial accounts to structure the ledger.
  • Balance Assertions with Tolerance - Verifies account balances by computing acceptable tolerance from the assertion’s numeric precision, ignoring small rounding leftovers.
  • Multi-Currency Ledger Management - Ledger uses any commodity as a unit of account and records exchange rates to track price history.
  • Posting Price Annotations - Ledger attaches prices to postings for commodity conversion or capital gains calculations.
  • Plain-Text Journal Workflows - Reads double-entry accounting data from plain-text journal files into an internal ledger structure.
  • Ledger File Validators - Ledger loads a file and runs syntax and balance checks, reporting errors to standard error.
  • Missing Amount Interpolations - Ledger omits one posting's amount and calculates it from the other postings.
  • Personal Finance Management - Tracks income, expenses, assets, and liabilities with hierarchical accounts and periodic reports.
  • Investment Portfolio Tracking - Tracks investment lots, cost basis, dividends, stock splits, and capital gains from a plain-text ledger.
  • Lot Tracking - Tracks each commodity acquisition as a separate lot with cost, date, and label, then matches reductions using configurable booking strategies.
  • Booking Strategies - Ledger applies FIFO, average cost, and custom lot-matching for multi-currency and date differences.
  • Plain-Text Portfolio Trackers - A tool for tracking cost basis, lots, capital gains, dividends, and stock splits using plain-text journal entries.
  • Bank Statement Ingestion - Downloads and converts bank statements into double-entry transactions automatically.
  • Cost Basis Trackers - Ledger enforces lot matching for cost basis to detect errors and calculate capital gains on sales.
  • Custom Query Language Compilers - Parses a custom query language into a syntax tree and compiles it to filter, aggregate, and report on the internal transaction database.
  • Double-Entry CSV Importers - Maps CSV columns to accounting fields and generates double-entry transactions automatically.
  • Financial File Importers - Fetches financial data files and matches them to importers for automatic transaction addition.
  • Local Web Servers - A local web server that serves interactive reports and dashboards for browsing and analyzing accounting data.
  • Display Formatting - Ledger displays monetary values with precision appropriate for each currency, adjustable through a display precision setting.
  • Currency-Specific Rounding Rules - Ledger rounds amounts, prices, and costs computed from balancing legs to a configurable number of decimals.
  • Plain-Text Accounting Parsers - Parses Unicode, time fields, tags, and sign flipping in plain-text accounting journal files.
  • Financial Performance Reports - Generates portfolio allocations, capital gains, and budget reports from the transaction journal.
  • Reconciliation Tools - Reconciles shared accounts and computes net amounts owed between contributors.
  • Detailed Posting Annotations - Captures cost basis, prices, dates, metadata, and tags for each transaction leg, enabling detailed financial records.
  • Custom Statement Parsers - Implements a custom protocol for parsing XML, PDF, and other sources into ledger statements.
  • Equity Award Lifecycles - Tracks the full lifecycle of equity awards from grant to share conversion.
  • Expense Trackers - Splits and settles shared expenses with automatic contribution tracking.
  • Financial Pools - Segregates accounts into separate pools such that each pool balances independently.
  • Plugin Filters - Applies custom Python scripts to filter, modify, or annotate transactions as they are loaded into the ledger.
  • Transaction Tag Filters - Assigns tags to transactions for filtered reports on specific sets like trips or projects.
  • Financial Statement Importers - Downloads and converts bank statements into ledger transactions with duplicate detection.
  • General Ledger Reporting - Clears and summarizes balances for a chosen time range to produce period-based reports.
  • Net Income Calculations - Summarizes income and expense changes over a period to show net profit or loss.
  • Market Price Fetching Tools - Ledger retrieves current market prices for currencies and securities from external sources using a CLI tool or custom scripts.
  • Stock Split Handlers - Ledger splits a position while preserving lot attributes like purchase date and user label.
  • Unrealized Gain/Loss Reports - Ledger computes market value of positions and displays unrealized gains or losses over time.
  • Accounting Invariants - Verifies that an account holds exactly the declared amount of a commodity at a given date.
  • Account Balance Queries - Sums all account balances to produce a snapshot at a specific point in time.
  • Currency Exchange Recording - Ledger records currency exchanges without a cost basis, distinguishing them from commodity purchases.
  • Python Plugin Integrations - Allows custom Python modules to transform, create, or delete accounting directives.
  • Custom Query Languages - Filters, sorts, and aggregates transactions using a SQL-like syntax for accounts, dates, and amounts.
  • Multi-Format Financial Importers - A framework for importing CSV, OFX, and other financial data into plain-text double-entry transactions with deduplication.
  • Accounting Ledger Viewers - Ledger serves an interactive web app for browsing and analyzing accounting data.
  • Accounting Directive Syntax - Defines a strict plain-text syntax for ledger directives to record transactions, accounts, and balances.
  • Scripted Data Analysis - Loads accounting directives into custom Python scripts for analysis beyond the built-in reports.
  • SQL Query Editors - Writes SQL-like queries to filter, aggregate, and summarize transaction postings.
  • Scripting APIs - Provides a Python API for loading, modifying, and saving ledger data with debugging tools.
  • Custom Logic Extensions - Extends accounting logic through a plugin system and Python API for custom transformations and reports.
  • Plugin Extensibility - Modifies accounting directives by adding, removing, or altering transactions via plugins.
  • Ledger Querying - Runs SQL-like queries interactively in a shell or executes single queries from the terminal.
  • Test Data Generators - Ledger generates years of realistic financial transactions for testing and tutorials.
  • Portfolio Return Computation - Ledger analyzes cash flows per investment, groups into portfolios, and produces performance reports.
  • Directive Enrichment Attachments - Attaches notes, documents, tags, links, and metadata to accounting directives for enrichment.
  • Precision Settings - Determines fractional digits per currency for aligned, rounded report output.
  • Plugin-Based Architectures - Injects custom Python modules at parse and processing stages to filter, modify, or create accounting directives.
  • Transaction Counterparty Annotations - Records transaction counterparty and description for context in financial reports.
  • Data Management Systems - Double-entry bookkeeping language for financial records.
  • Personal Finance - Plain text double-entry accounting system with web UI support.

Historique des stars

Graphique de l'historique des stars pour beancount/beancountGraphique de l'historique des stars pour beancount/beancount

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait beancount/beancount ?

Beancount is a plain-text double-entry accounting system. It enforces zero-sum transactions, organizes accounts into a hierarchical five-type tree, and verifies balances at specific dates using precision-derived tolerances. Transactions are recorded in plain-text files with a strict syntax that supports currency-specific rounding, automatic interpolation of missing amounts, and comprehensive metadata including tags, links, and payee annotations.

Quelles sont les fonctionnalités principales de beancount/beancount ?

Les fonctionnalités principales de beancount/beancount sont : Double-Entry Accounting Tools, Double-Entry Bookkeeping Engines, Double-Entry Transaction Journals, Price Databases, Financial Report Generators, Account Management, Financial Account Categorization, Hierarchical Account Structures.

Quelles sont les alternatives open-source à beancount/beancount ?

Les alternatives open-source à beancount/beancount incluent : simonmichael/hledger — hledger is a plain text accounting tool and double-entry ledger manager that stores financial transactions in… gnucash/gnucash — GnuCash is a double-entry accounting software designed for personal and small-business financial management. It tracks… ledger/ledger. securo-finance/securo — Securo is a self-hosted personal finance management platform designed to provide users with complete control over… akaunting/akaunting — Akaunting is a modular business enterprise resource planning system and self-hosted accounting software. It provides a… beancount/fava — Fava is a web-based dashboard and query tool for visualizing and analyzing financial records stored in Beancount…

Alternatives open source à Beancount

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Beancount.
  • simonmichael/hledgerAvatar de simonmichael

    simonmichael/hledger

    4,059Voir sur GitHub↗

    hledger is a plain text accounting tool and double-entry ledger manager that stores financial transactions in human-readable text files. It functions as a financial reporting engine for generating balance sheets and income statements, and as a multi-currency investment tracker for managing commodity lots and capital gains. The project distinguishes itself by providing multi-interface data access, allowing users to interact with their financial data via a command line interface, a terminal user interface, and a web server. It features a market-price valuation system to calculate the current va

    Haskellaccountingcommand-line-toolconsole-application
    Voir sur GitHub↗4,059
  • gnucash/gnucashAvatar de Gnucash

    Gnucash/gnucash

    4,096Voir sur GitHub↗

    GnuCash is a double-entry accounting software designed for personal and small-business financial management. It tracks assets, liabilities, income, and expenses using a bookkeeping system that ensures financial accuracy. The platform functions as a multi-currency bookkeeping system and a SQL-based financial ledger, persisting accounting data in relational databases or XML files. The system is distinguished by its extensibility as a Python-scriptable accounting tool, providing Python bindings and a REPL for automating tasks and creating custom reports. It also serves as an investment portfolio

    C
    Voir sur GitHub↗4,096
  • ledger/ledgerAvatar de ledger

    ledger/ledger

    5,849Voir sur GitHub↗
    C++accountingcommand-line-toolledger
    Voir sur GitHub↗5,849
  • securo-finance/securoAvatar de securo-finance

    securo-finance/securo

    1,079Voir sur GitHub↗

    Securo is a self-hosted personal finance management platform designed to provide users with complete control over their private financial data. By deploying the application within their own infrastructure, users can aggregate bank accounts, track income and expenses, and monitor investment portfolios while maintaining data privacy. The system supports multi-user access, allowing for collaborative expense tracking and shared financial management within a single environment. The platform distinguishes itself through the integration of local artificial intelligence, which enables users to query

    Pythonexpense-trackerfinance-managementpython
    Voir sur GitHub↗1,079
Voir les 30 alternatives à Beancount→