Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Public Mirror of code.gnucash.org/gnucash

branch: master

Merge branch 'maint'

* Bug726449 - Budget Barchart does not show up if running sum is selected
* Add fixed EUR-LVL conversion rate to gnc_euro_rates
* Update Latvian translation
* Add Indian Konkani translation
* Remove unused function yahoo-get-historical-quotes
* Fix handling of kvps for address, entry, job, order and taxtable objects
* Prevent older gnucash versions from loading data files with said kvps
latest commit e6c36983d4
Geert Janssens authored April 24, 2014
Octocat-spinner-32 accounts Related to bug #727338: currency for Latvia is EUR. April 05, 2014
Octocat-spinner-32 art Add "Pay invoice" toolbar button when invoice is open. May 15, 2010
Octocat-spinner-32 checks Bug #677572 - 3-part check format June 27, 2012
Octocat-spinner-32 contrib contrib: add license information for style sheets August 23, 2011
Octocat-spinner-32 doc Bug 721929 - Importing a customer list causes a crash. January 10, 2014
Octocat-spinner-32 gnucash.xcodeproj Add XCode project for debugging. February 20, 2014
Octocat-spinner-32 intl-scm Drop unused custom gettext macro December 18, 2012
Octocat-spinner-32 lib Remove unused function yahoo-get-historical-quotes April 24, 2014
Octocat-spinner-32 macros SWIG version updates December 14, 2013
Octocat-spinner-32 packaging Win32 build: Update gwenhywfar version after it has been fixed for co… April 07, 2014
Octocat-spinner-32 po Gnucash translation into Konkani, shown in Latin script. April 23, 2014
Octocat-spinner-32 src Merge branch 'maint' April 24, 2014
Octocat-spinner-32 test-templates Convert - in filenames to _ for function names October 03, 2013
Octocat-spinner-32 util Add script to generate a list of changes in html format between two r… May 17, 2013
Octocat-spinner-32 .gitattributes Win32: add VERSIONINFO block to RC file and convert in into a templat… June 02, 2013
Octocat-spinner-32 .gitignore Add XCode project for debugging. February 20, 2014
Octocat-spinner-32 AUTHORS Add Lithuanian translators to AUTHORS August 18, 2013
Octocat-spinner-32 CMakeLists.txt Cutecash: Adapt to compiler/linker flags that are needed on Ubuntu 13.10 November 18, 2013
Octocat-spinner-32 ChangeLog Release 2.6.3 March 29, 2014
Octocat-spinner-32 ChangeLog.1 Split top-level ChangeLog by year. Everything before November 16, 2005
Octocat-spinner-32 ChangeLog.2001 Split top-level ChangeLog by year. Everything before November 16, 2005
Octocat-spinner-32 ChangeLog.2002 Split top-level ChangeLog by year. Everything before November 16, 2005
Octocat-spinner-32 ChangeLog.2003 Fix old Changelogs from HEAD/gnome2 parallelity; entries are now in c… January 28, 2006
Octocat-spinner-32 ChangeLog.2004 Fix old Changelogs from HEAD/gnome2 parallelity; entries are now in c… January 28, 2006
Octocat-spinner-32 ChangeLog.2005 ChangeLog entries from svn for past 12 days. January 13, 2006
Octocat-spinner-32 ChangeLog.2006 Add generated ChangeLog of the year 2006 (r15286:r12229) to tarball. February 01, 2007
Octocat-spinner-32 ChangeLog.2006-manual Move old manual 2006 Changelog to separate filename April 30, 2007
Octocat-spinner-32 ChangeLog.2007 Add ChangeLog.2007 January 02, 2008
Octocat-spinner-32 ChangeLog.2008 Add ChangeLog.2008. January 02, 2009
Octocat-spinner-32 ChangeLog.2009 Add ChangeLog.2009 for the last year. January 15, 2010
Octocat-spinner-32 ChangeLog.2010 Add ChangeLog.2010. March 10, 2011
Octocat-spinner-32 ChangeLog.2011 Update NEWS and ChangeLogs for 2.5.0 release March 31, 2013
Octocat-spinner-32 ChangeLog.2012 Update NEWS and ChangeLogs for 2.5.0 release March 31, 2013
Octocat-spinner-32 ChangeLog.2013 Release 2.6.1 January 26, 2014
Octocat-spinner-32 DOCUMENTERS Synchronize DOCUMENTERS document with gnucash doc's AUTHORS file November 20, 2012
Octocat-spinner-32 GNOME2_STATUS Migrate content to bugzilla. January 19, 2006
Octocat-spinner-32 HACKING Add XCode project for debugging. February 20, 2014
Octocat-spinner-32 LICENSE Clarify Derek's code to be licensed "GPL v2 or later" as he has confi… September 04, 2010
Octocat-spinner-32 Makefile.TAGS only conditionally remove the file. May 28, 2006
Octocat-spinner-32 Makefile.am Update r23747 -- require 2.0.10 for guile2 builds, but allow older ve… January 23, 2014
Octocat-spinner-32 NEWS Release 2.6.3 March 29, 2014
Octocat-spinner-32 README Bug 721608 - Supported Platforms list in 2.6.0 README.txt January 09, 2014
Octocat-spinner-32 README.dependencies Document the need for a gsettings backend January 27, 2014
Octocat-spinner-32 README.git Rename README.svn to README.git and revise February 16, 2014
Octocat-spinner-32 TODO Collapse the gnome2 branch back into HEAD. November 02, 2005
Octocat-spinner-32 autogen.sh Bump required automake version to 1.11 October 27, 2013
Octocat-spinner-32 configure.ac Merge branch 'maint' April 24, 2014
Octocat-spinner-32 make-gnucash-potfiles.in Make Gnome appdata file translatable (or try to...). January 24, 2014
README
############################################################
          GnuCash 2.6.x README file.

The last known stable series is the 2.6.0 series.
------------------------------------------------------------

##################
Table of Contents:
------------------

  - Overview
  - Dependencies
  - Invocation/running
  - Internationalization
  - Building & Installing
  - Supported Platforms
  - Additional Download Sites
  - Getting the Source via SVN
  - Developing GnuCash

########
Overview
--------

GnuCash is a personal finance manager. A check-book like register GUI
allows you to enter and track bank accounts, stocks, income and even
currency trades. A full set of reports allow you to see the state of
your finances. The interface is designed to be simple and easy to use,
but is backed with double-entry accounting principles to ensure
balanced books.

Features include:

  - An easy-to-use interface.  If you can use the register in the back
    of your checkbook, you can use GnuCash.  Type directly into the
    register, tab between fields, and use quick-fill to automatically
    complete the transaction.

  - Scheduled Transactions: GnuCash has the ability to automatically
    create and enter transactions, remind when a transaction is due,
    give a choice of entering a transaction or postponing it and
    remove an automated transaction after a certain period.

  - Mortgage & Loan Repayment Assistant: Used to setup a variable
    payment loan scheduled transaction.

  - Small Business Accounting Features: GnuCash can be used
    for Customer and Vendor tracking, Invoicing and Bill Payment,
    and using different Tax and Billing	Terms in a small business.

  - OFX Import: GnuCash can import downloaded OFX/QFX files and
    retrieve account info and transactions via OFXDirect. The results
    are passed through a transaction matching system that accurately
    picks duplicate transactions and assigns contra accounts based on
    similar previously-imported transactions.

  - HBCI Support: GnuCash also supports the German Home Banking
    Computer Interface protocol which includes statement download,
    initiate bank transfers and direct debits.

  - Quicken File Import: Import Quicken QIF style files.  QIF files
    are automatically merged to eliminate duplicate transactions.

  - Reconcile window with running reconciled and cleared balances
    makes reconciliation easy.

  - Stock/Mutual Fund Portfolios: Track stocks individually (one per
    account) or in portfolio of accounts (a group of accounts that can
    be displayed together).

  - Get Stock & Mutual Fund quotes from various web sites, update
    portfolio automatically (more funds being added regularly).

  - Reports: Display Balance Sheet, Profit&Loss, Portfolio Valuation,
    Transaction Reports, or account balance tracking, or export them
    as HTML.  You can write your own custom report if you know a
    little Scheme.  Reports can be run over any arbitrary period.

  - Multiple Currencies & Currency Trading: Multiple currencies are
    supported and can be bought and sold (traded).  Currency movements
    between accounts are fully balanced when double-entry is enabled.

  - New Multi-Currency Transaction Handling: GnuCash no longer
    requires separate currency exchange accounts to handle multiple
    currency transfers.

  - Chart of Accounts: A master account can have a hierarchy of detail
    accounts underneath it.  This allows similar account types
    (e.g. Cash, Bank, Stock) to be grouped into one master account
    (e.g. Assets).

  - Split Transactions: A single transaction can be split into several
    pieces to record taxes, fees, and other compound entries.

  - Double Entry: Every transaction must debit one account and credit
    another by an equal amount.  This ensures that the "books
    balance": that the difference between income and outflow exactly
    equals the sum of all assets, be they bank, cash, stock or other.

  - Income/Expense Account Types (Categories): These serve not only to
    categorize your cash flow, but when used properly with the
    double-entry feature, these can provide an accurate Profit&Loss
    statement.

  - General Ledger: Multiple accounts can be displayed in one register
    window at the same time.  This can ease the trouble of tracking
    down typing/entry errors.  It also provides a convenient way of
    viewing a portfolio of many stocks, by showing all transactions in
    that portfolio.

  - Written in C with embedded scheme support via Guile.

  - File access is locked in a network-safe fashion, preventing
    accidental damage if several users attempt to access the same
    file, even if the file is NFS-mounted.

  - SQL storage is supported using MySQL, Postgresql, and
    SQLite3. Note that this does not support multiple concurrent
    access.



Home Page:
http://www.gnucash.org/

Precompiled binaries:
http://www.gnucash.org/download



############
Dependencies
------------

The following packages are required to be installed to run GnuCash:

[see README.dependencies]

The optional online stock and currency price retrieval feature requires Perl. This is generally already installed on Gnu/Linux and *BSD, and MacOSX.

In addition, some perl modules need to be installed. You can run the
script 'update-finance-quote' as root to obtain the latest versions of
required packages. This program requires an C compiler, which is
generally already installed in Gnu/Linux and *BSD, but must be
installed separately on MacOSX; on versions 10.6 and earlier, install
Xcode from the distribution DVD or by downloading from
http://developer.apple.com (you'll need to log in with your Apple ID);
for 10.7 and 10.8, you can get Xcode for free from the App store. 10.9
has a cool feature that detects an attempt to compile and offers to
install the command-line build tools for you.

Microsoft Windows users can use the "Install Online Quotes" program in the Start menu's Gnucash group.

To use the OFX and HBCI import features you need to obtain
the following;
  libofx: This library provide support for OFX file imports. 
    GnuCash-2.0.0 and newer needs at least the version libofx-0.7.0
    or newer. Sources can be found at
    http://sourceforge.net/projects/libofx/
  aqbanking: This library provide support for HBCI and openOFX online actions.
    Three libraries, Ktoblzcheck, Gwenhywfar, and AQBanking, are required.
    All may be obtained from
    http://www2.aquamaniac.de/sites/download/packages.php

#######
Running
-------

For GnuCash invocation details, see the manpage in doc/gnucash.1.
You can also run gnucash --help for the command line options.

You can start GnuCash at the command-line, with "gnucash" or "gnucash
<filename>", where <filename> is a GnuCash account file.  Sample
accounts can be found in the "doc/examples" subdirectory.  *.gnucash
files are GnuCash accounts that can be opened with the "Open File" menu entry.
*.qif files are Quicken Import Format files that can be opened with the
"Import QIF" menu entry.

GnuCash responds to the following environment variables:

  GNC_BOOTSTRAP_SCM - the location of the initial bootstrapping scheme code.

  GUILE_LOAD_PATH - an override for the GnuCash load path, used when
  loading scheme files.  It should be a string in the same form as the
  PATH or LD_LIBRARY_PATH environment variable.

  GNC_MODULE_PATH - an override for the GnuCash load path, used when
  loading gnucash modules.  It should be a string representing a
  proper scheme list.  It should be a string in the same form as the
  PATH or LD_LIBRARY_PATH environment variable.

  GNC_DEBUG - enable debugging output.  This allows you to turn on
  debugging earlier in the startup process than you can with --debug.


####################
Internationalization
--------------------

Message catalogs exist for many different languages. In general
GnuCash will use the locale configured in the desktop environment if
we have a translation for it, but this may be overridden if one
likes. Instructions for overriding the locale settings may be found at
http://wiki.gnucash.org/wiki/Locale_Settings

#####################
Building & Installing
---------------------

(For additional build system details, see doc/README.build-system.)

GnuCash uses GNU Automake to handle the build process, so for most of
the details, see the generic instructions in INSTALL.  (If you are
building directory from SVN, read the README.svn for more instructions.)
Below we detail the GnuCash specific bits.

Prior to building GnuCash, you will have to obtain and install the
following packages:


  autoconf, automake, and libtool: Available at ftp://ftp.gnu.org/gnu.
    RPM's and debs are widely available with most distributions.

  gnome development system: headers, libraries, etc.

  libxml2: available from ftp.gnome.org

  SWIG: 2.0.10 or later is needed. See http://www.swig.org or
    http://sourceforge.net/projects/swig/

What you'll need to get and install in order to make sure you have all
of these pieces properly installed for your particular operating
system flavor will vary, but here's at least a partial list of what
you'll need for the systems we know about:

  Debian/GNU/Linux: see README.dependencies and 
    current:
      libgnome-dev
      libwebkit-dev
      guile1.8
      libguile9-dev
      libguile9-slib


  SuSE:
    see README.dependencies

GnuCash understands a few non-standard ./configure options.  You
should run ./configure --help for the most up to date summary of the
supported options.

If you only want a particular language installed, you can set the
LINGUAS environment variable before you run configure. For example,
to only install the French translations, run

  $ export LINGUAS=fr
  $ ./configure

If you want to make sure that all languages get installed, run

  $ unset LINGUAS
  $ ./configure

Note that while you need the Gnome libraries installed, you don't
need to have a Gnome desktop.  

Runtime and install destinations are separate.  The --prefix you
specify to configure determines where the resulting binary will look
for things at runtime.  Normally this determines where a "make
install" will put all the files.  However, automake also supports the
variable.  DESTDIR is used during the `make install' step to relocate
install objects into a staging area.  Each object and path is prefixed
with the value of `DESTDIR' before being copied into the install area.
Here is an example of typical DESTDIR usage:

     make DESTDIR=/tmp/staging install

   This places install objects in a directory tree built under
`/tmp/staging'.  If `/gnu/bin/foo' and `/gnu/share/aclocal/foo.m4' are
to be installed, the above command would install
`/tmp/staging/gnu/bin/foo' and `/tmp/staging/gnu/share/aclocal/foo.m4'.

DESTDIR can be helpful when trying to build install images and
packages.

NOTE: If you have installed different parts of Gnome in different
places (for instance, if you've installed webkit in /usr/local) you
will need to set the environment variables GNOME_PATH and
GNOME_LIBCONFIG_PATH.  See the manpage for gnome-config for more
details.


###################
Supported Platforms
-------------------

GnuCash 2.x is known to work with the following operating systems:

GNU/Linux             -- x86, Sparc, PPC
FreeBSD               -- x86
OpenBSD               -- x86
MacOS X		      -- PPC and Intel, Versions 10.5 and later


GnuCash can probably be made to work on any platform for which Gtk+ can,
given sufficient effort. If you try and encounter difficulty, please join
the developer's mailing list, gnucash-devel@gnucash.org.

#########################
Downloads
-------------------------

GnuCash sources and Mac and Windows binaries are hosted at
SourceForge. Links for the current version are provided at
http://www.gnucash.org. We depend upon distribution packagers for
GNU/Linux and *BSD binaries, so if you want a more recent version than
your distribution provides you'll have to build from source.

##############################
Getting Source with Git
------------------------------

We maintain a mirror of our master repository on Github. You can
browse the code at https://github.com/Gnucash/gnucash. Clone URIs are
on that page, or if you have a Github account you can fork it
there. Note, however, that we do *not* accept Github pull requests:
All patches should be submitted via Bugzilla, see below.

##################
Developing GnuCash
------------------
Before you start developing GnuCash, you should do the following:

1. Read http://wiki.gnucash.org/wiki/Development

2. Look over the doxygen-generated documentation at
    http://code.gnucash.org/docs/HEAD/

3. Go to the GnuCash website and skim the archives of the GnuCash
   development mailing list.

4. Join the GnuCash development mailing list. See the GnuCash website
   for details on how to do this.


Submitting a Patch:

  Patches should be created from a git clone using the appropriate
  branch HEAD. For those unfamiliar with git, instructions on making a
  patch may be found at http://wiki.gnucash.org/wiki/Git#Patches

  Please attach patches to the appropriate bug or enhancement request
  in Bugzilla (https://bugzilla.gnome.org, Project GnuCash). Create a
  new bug if you don't find one that's applicable. Please don't submit
  patches to either of the mailing lists, as they tend to be
  forgotten.


Thank you.
Something went wrong with that request. Please try again.