gnucash/README

309 lines
11 KiB
Plaintext
Raw Normal View History

############################################################
2018-04-06 17:46:29 -05:00
GnuCash 3.x README file.
2018-04-06 17:46:29 -05:00
The current stable series is GnuCash 3.x.
------------------------------------------------------------
##################
Table of Contents:
------------------
- Overview
- Dependencies
- Invocation/running
- Internationalization
- Building & Installing
- Supported Platforms
- Additional Download Sites
2018-01-29 17:46:13 -06:00
- Getting the Source via Git
- 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.
2018-04-06 17:46:29 -05:00
- HBCI/FinTX Support: GnuCash also supports the German FinTS (formerly
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
2018-04-06 17:46:29 -05:00
account).
- 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.
- 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.
2018-04-06 17:46:29 -05:00
- Written in C/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
2018-04-06 17:46:29 -05:00
file, even if the file is on a shared file system.
- 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]
2018-04-06 17:46:29 -05:00
The optional online stock and currency price retrieval feature requires Perl.
This is generally already installed on Gnu/Linux and *BSD, and MacOS.
In addition, some perl modules need to be installed. You can run the
2018-04-06 17:46:29 -05:00
script 'gnc-fq-update' as root to obtain the latest versions of
required packages.
Microsoft Windows users can use the "Install Online Quotes" program in the
Start menu's Gnucash group; it will install perl and all of the required
modules more-or-less automatically. MacOS users will find "Update Finance Quote"
in the distribution disk image; it will automate running gnc-fq-update for you.
#######
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
---------------------
2017-12-02 19:50:14 -06:00
GnuCash uses CMake to handle the build process. Details are available
in cmake/README_CMAKE.txt (If you are building directly from Git, read
2018-04-06 17:46:29 -05:00
the README.git file for more instructions.)
Prior to building GnuCash, you will have to obtain and install the
following packages:
2017-12-02 19:50:14 -06:00
cmake: Available https://cmake.org.
2017-12-02 19:50:14 -06:00
ninja: Optional, available at http://ninja-build.org. CMake can
generated build rules for Ninja, and generally using Ninja results
in faster builds that Makefile based ones.
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/
2017-12-02 19:50:14 -06:00
Generally, up-to-date build instructions for various Linux
distributions can be found on the GnuCash wiki at
https://wiki.gnucash.org/wiki/Building
2017-12-02 19:50:14 -06:00
The options that the CMake build system understands are documented in
cmake/README_CMAKE.txt and in the Building wiki page mentioned above.
2017-12-02 19:50:14 -06:00
Note that while you need the Gnome libraries installed, you don't need
to have a Gnome desktop.
2017-12-02 19:50:14 -06:00
Runtime and install destinations are separate. The CMake option
CMAKE_INSTALL_PREFIX determines where the resulting binary will look
for things at runtime. Normally this determines where a "make
2017-12-02 19:50:14 -06:00
install" will put all the files. However, cmake also supports the
DESTDIR 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
2017-12-02 19:50:14 -06:00
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
2017-12-02 19:50:14 -06:00
`/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
-------------------
2018-04-06 17:46:29 -05:00
GnuCash 3.x is known to work with the following operating systems:
GNU/Linux -- x86, Sparc, PPC
FreeBSD -- x86
OpenBSD -- x86
2018-04-06 17:46:29 -05:00
MacOS -- Intel, Versions 10.9 and later
2018-04-06 17:46:29 -05:00
GnuCash can probably be made to work on any platform for which Gtk+ can
and for which there is a C++11 compiler available, given sufficient expertise
and effort. If you try and encounter difficulty, please subscribe to the
developer's mailing list, gnucash-devel@gnucash.org and we'll try to help you.
#########################
Downloads
-------------------------
GnuCash sources and Mac and Windows binaries are hosted at
2018-04-06 17:46:29 -05:00
SourceForge and Github. 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.
##################
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
2018-04-06 17:46:29 -05:00
http://code.gnucash.org/docs/MASTER/ or
http://code.gnucash.org/docs/MAINT/
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.
2018-04-06 17:46:29 -05:00
5. Build the branch you want from a git clone of our repository and make
sure that your build passes all of the tests and runs correctly.
Submitting a Patch:
Please read http://wiki.gnucash.org/wiki/Development#Submitting_Patches.
Thank you.