mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-25 10:20:18 -06:00
487ddeb4a4
dates from 2.0.x Reviewed and updated to reflect current status. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23675 57a11ea4-9604-0410-9ed3-97b8803252fd
360 lines
13 KiB
Plaintext
360 lines
13 KiB
Plaintext
############################################################
|
|
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.
|