# gnucash/gnucash

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gnucash-gnucash).**

4,096 stars · 908 forks · C · other

## Links

- GitHub: https://github.com/Gnucash/gnucash
- Homepage: http://code.gnucash.org/website/
- awesome-repositories: https://awesome-repositories.com/repository/gnucash-gnucash.md

## Description

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 tracker, featuring automated online quote retrieval for real-time asset valuation of stocks and mutual funds.

The software covers a broad range of financial capabilities, including business invoicing, tax obligation tracking, and budget monitoring. It provides tools for asset management, such as capital gains calculation and multi-currency commodity tracking, as well as data integration via CSV and QIF imports. Its reporting framework allows for programmable report creation and data visualization with HTML export.

## Tags

### Business & Productivity Software

- [Double-Entry Bookkeeping Engines](https://awesome-repositories.com/f/business-productivity-software/double-entry-bookkeeping-engines.md) — Features a core double-entry bookkeeping engine that ensures financial transactions balance across accounts.
- [Business Accounting](https://awesome-repositories.com/f/business-productivity-software/financial-account-management/business-accounting.md) — Provides a full-cycle double-entry accounting system for managing business receivables, payables, and financial reports. ([source](https://wiki.gnucash.org/wiki/Zh-hans/GnuCash))
- [Multi-Currency Ledger Management](https://awesome-repositories.com/f/business-productivity-software/currency-management/multi-currency-ledger-management.md) — Supports multi-currency ledger management by defining securities and currencies with historical pricing. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Ledger Engines](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-software/ledger-engines.md) — Implements a core double-entry accounting engine that persists financial data in relational databases via SQL.
- [Multi-Currency Asset Modeling](https://awesome-repositories.com/f/business-productivity-software/multi-currency-asset-modeling.md) — Models all financial values as commodities with associated exchange rates for multi-currency support.
- [Personal Finance Management](https://awesome-repositories.com/f/business-productivity-software/personal-finance-management.md) — Provides comprehensive tools for tracking personal income, expenses, and spending habits. ([source](https://wiki.gnucash.org/wiki/Zh-hans/GnuCash))
- [Scriptable Accounting Platforms](https://awesome-repositories.com/f/business-productivity-software/scriptable-accounting-platforms.md) — Provides Python bindings and a REPL to automate accounting tasks and create custom reports.
- [Billing & Invoicing Systems](https://awesome-repositories.com/f/business-productivity-software/billing-invoicing-systems.md) — Provides professional tools for generating customer invoices and expense vouchers with integrated tax tables. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Category Budget Trackers](https://awesome-repositories.com/f/business-productivity-software/budgeting-tools/category-budget-trackers.md) — Enables the definition of spending limits and budgeted amounts for specific accounts across multiple time periods. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Budget Variance Reporters](https://awesome-repositories.com/f/business-productivity-software/budgeting-tools/category-budget-trackers/budget-variance-reporters.md) — Allows monitoring of financial budgets by comparing actual spending against planned amounts. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Entity Contact Management](https://awesome-repositories.com/f/business-productivity-software/business-profiles/entity-contact-management.md) — Maintains detailed profiles for customers, vendors, and employees including contact information and tax overrides. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Banking API Integrations](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/business-and-financial-services/banking-api-integrations.md) — Provides direct connections to online banking services for managing accounts and synchronizing transactions. ([source](https://wiki.gnucash.org/wiki/GSoC))
- [Invoice Generation](https://awesome-repositories.com/f/business-productivity-software/invoice-generation.md) — Generates professional business invoices for customers and jobs using custom tax tables. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Online Banking Integrations](https://awesome-repositories.com/f/business-productivity-software/online-banking-integrations.md) — Automatic financial transaction imports by connecting GnuCash to bank servers using direct connect protocols. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Investment Portfolio Tracking](https://awesome-repositories.com/f/business-productivity-software/personal-tracking-applications/investment-portfolio-tracking.md) — Tracks investment assets and loan payments to monitor long-term financial growth and debt. ([source](https://wiki.gnucash.org/wiki/Zh-hans/GnuCash))
- [Multi-Asset Holdings Trackers](https://awesome-repositories.com/f/business-productivity-software/portfolio-management/multi-asset-holdings-trackers.md) — Records the acquisition and quantity of shares in companies to monitor investment performance. ([source](https://wiki.gnucash.org/wiki/Category:Gnucash_Version))
- [Real-Time Market Prices](https://awesome-repositories.com/f/business-productivity-software/pricing-structures/pricing-data-retrieval/real-time-market-prices.md) — Retrieves current market prices for securities and currencies from online data sources. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Tax Summaries](https://awesome-repositories.com/f/business-productivity-software/tax-summaries.md) — Tracks collected and paid taxes using dedicated accounts to generate financial tax summaries. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Transaction Automation](https://awesome-repositories.com/f/business-productivity-software/transaction-automation.md) — Automates the periodic creation of future transactions based on predefined templates. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Unrealized Gain/Loss Reports](https://awesome-repositories.com/f/business-productivity-software/unrealized-gain-loss-reports.md) — Computes capital gains and losses on assets by linking buy and sell transactions using lot tracking. ([source](https://wiki.gnucash.org/wiki/SQL))

### Data & Databases

- [Relational Persistence Layers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-layers/relational-persistence-layers.md) — Implements a persistence layer that abstracts data storage between relational SQL databases and XML files.
- [XML Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats/xml-serialization-formats.md) — Persists accounting information using a descriptive XML format with optional compression. ([source](https://wiki.gnucash.org/wiki/GnuCash_XML_format))
- [Double-Entry Transaction Journals](https://awesome-repositories.com/f/data-databases/historical-data-archiving/transaction-record-maintenance/double-entry-transaction-journals.md) — Implements a ledger system where every transaction is recorded as balanced debits and credits. ([source](https://wiki.gnucash.org/wiki/SQL))
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Supports persisting financial data in relational databases using a DBI-based backend. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Python Plugin Integrations](https://awesome-repositories.com/f/data-databases/custom-python-integration/python-plugin-integrations.md) — Provides Python bindings and plugin support to automate accounting tasks and extend core functionality. ([source](https://wiki.gnucash.org/wiki/GnuCash))
- [Double-Entry CSV Importers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-import-and-export/csv-import-managers/double-entry-csv-importers.md) — Loads financial data from CSV files by mapping columns to double-entry transactions in the ledger. ([source](https://wiki.gnucash.org/wiki/FAQ))
- [Multi-Asset Quote Retrievers](https://awesome-repositories.com/f/data-databases/multi-asset-quote-retrievers.md) — Implements an interface to fetch real-time price quotes for various asset classes to value holdings. ([source](https://wiki.gnucash.org/wiki/Category:Gnucash_Version))

### Development Tools & Productivity

- [Accounting Automation Interfaces](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/modular-cad-platforms/python-scripting-engines/accounting-automation-interfaces.md) — Provides a Python interface for executing scripts and automating tasks via the accounting engine. ([source](https://wiki.gnucash.org/wiki/))
- [Financial File Importers](https://awesome-repositories.com/f/development-tools-productivity/project-imports/external-file-importers/financial-file-importers.md) — Provides specialized importers for loading financial records from Quicken Import Format (QIF) files. ([source](https://cdn.jsdelivr.net/gh/gnucash/gnucash@stable/README.md))
- [Read-Eval-Print Loops](https://awesome-repositories.com/f/development-tools-productivity/read-eval-print-loops.md) — Ships an integrated read-eval-print loop server for executing code and testing report logic in real-time. ([source](https://wiki.gnucash.org/wiki/Custom_Reports))

### Operating Systems & Systems Programming

- [Python-C Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/c-interoperability-layers/python-c-interfaces.md) — Exposes the internal C accounting engine to Python scripts via a dedicated binding bridge.

### Part of an Awesome List

- [Decoupled Report Renderers](https://awesome-repositories.com/f/awesome-lists/data/report-generation/decoupled-report-renderers.md) — Decouples report definitions from renderers to enable custom data visualization and HTML output.
- [Financial Report Generators](https://awesome-repositories.com/f/awesome-lists/data/report-generation/financial-report-generators.md) — Provides capabilities to generate formatted financial reports such as balance sheets, registers, and budgets. ([source](https://wiki.gnucash.org/wiki/GnuCash))
- [Programmable Report Definitions](https://awesome-repositories.com/f/awesome-lists/data/report-generation/financial-report-generators/programmable-report-definitions.md) — Allows the building of tailored financial reports using Python scripts or modified built-in templates. ([source](https://wiki.gnucash.org/wiki/FAQ))
