LinuxCommandLibrary

gnucash

Manage personal and small-business financial accounting

TLDR

Launch GnuCash and load the previously opened file

$ gnucash
copy

Launch GnuCash and load the specified file
$ gnucash [path/to/file.gnucash]
copy

Launch GnuCash and load an empty file
$ gnucash --nofile
copy

SYNOPSIS

gnucash [OPTION]... [FILE]...

PARAMETERS

--add-data-dir DIR, -a DIR
    Add data directory DIR to search path

--debug
    Enable debug logging

--gconf
    Migrate settings to GConf

--help, -h, -?
    Show help message and exit

--locale=LOCALE
    Use LOCALE for number/date formatting

--log=DIR
    Log to directory DIR

--logto=DEST
    Log to DEST (stderr or file)

--nofile
    Do not load last-opened file

--nolog
    Disable all log files

--onefile
    Load only one file (ignore recent files)

--open=FILE, -o FILE
    Open specified FILE

--read-only, -r
    Open database read-only

--read-write
    Force read-write mode

--version
    Display version information

DESCRIPTION

GnuCash is a free, open-source double-entry accounting program for personal and small-business use. Released under the GPL, it provides a robust graphical interface built with GTK+ for managing finances on Linux, Unix, and Windows.

Key features include multi-currency support, stock/portfolio tracking, scheduled transactions, budgeting tools, and customizable reports like balance sheets, income statements, and cash flow analyses. Data is stored in XML files or SQL databases (SQLite, MySQL, PostgreSQL), ensuring portability and backup ease.

The gnucash command launches the application, optionally loading a specific data file. It supports scripting via Guile Scheme for automation and report generation. Ideal for users seeking a full-featured alternative to Quicken or QuickBooks without subscription costs.

CAVEATS

Requires graphical environment (X11/Wayland); not for headless servers. Large datasets may consume significant memory. Backup data files regularly to prevent corruption.

DATA BACKEND

Supports XML (default), SQLite, MySQL, PostgreSQL. Use --database-type implicitly via file extension or config.

SCRIPTING

Embed Guile Scheme for custom reports; invoke via gnucash-cli for batch mode (separate tool).

HISTORY

Development began in 1998 as a fork of GnuMoney by Robin Dybing and others. First stable release in 2001. Now at version 5.x (2024), with ongoing enhancements in reporting, AqBanking integration for banking, and Python bindings.

SEE ALSO

ledger(1), hledger(1), homebank(1), sqlite3(1)

Copied to clipboard