Using GnuCash
Contents
- 1 Introduction
- 2 Register Tips
- 3 Reporting Tips
- 3.1 A single report that shows summary amounts for multiple months for multiple accounts
- 3.2 Quicken-like "Overview" of your accounts
- 3.3 Displaying Split Account Details in Transaction Report
- 3.4 Monthly Income/Expense Reports
- 3.5 Reporting in single file resp. in landscape format
- 3.6 Exporting a report to OpenOffice Calc
- 4 Reports Included in GnuCash
- 4.1 Assets & Liabilities (Group)
- 4.2 Budget (Group)
- 4.3 Business (group)
- 4.4 Income & Expense (group)
- 4.5 Sample & Custom (group)
- 4.6 Account Summary
- 4.7 Custom Reports
- 4.8 Future Scheduled Transactions Summary
- 4.9 Tax Report & TXF Export
- 4.10 Transaction Report
- 4.11 Account Report
- 4.12 Account Transaction Report
- 5 Stocks
Introduction
GnuCash is a complex piece of software with many features and possibilities. It requires some learning and experience to work fluently and effectively with it.
To get you started, it comes with a good Concepts Guide, that will introduce you to some basic accounting concepts and explains how GnuCash works with those principles.
A second helpful source of information is the GnuCash Manual, which is sort of a reference to all the menu options and dialogs in GnuCash. At the time of this writing, it is in need of an update as some new features in GnuCash aren't documented yet.
These two documents cover only a part of what GnuCash can do. This is to be expected as there are as many use cases as there are users of the tool. It would be impossible to contain all of these use cases in a manageable static document.
Instead, this page and the ones linked to below will show ways to deal with specific problems. The examples and solutions are provided by users of GnuCash, most of them use (or have used) these solutions in real world scenarios.
If you know a solution to a particular problem while using GnuCash, you are welcome to add it to these pages as well.
Alternatively you can send it to the GnuCash user mailing list (Note: you need to be subscribed before you can post to this list). Use a subject in the lines of "GnuCash tip" or something similar, so it is easily recognized.
To keep some overview, the examples and solutions are grouped per context in GnuCash.
Register Tips
Moving Multiple Transactions
There is no direct way to move a large number of transactions from one account to another in GnuCash.
If you are trying to move a small subset of an account's transactions, your best approach is to edit each transaction manually. You can speed this up somewhat by changing your register view to Transaction Journal mode, which will show all split lines at once. You may also find that copying the destination account and pasting it into the split line may help.
If you are trying move all (or MOST) of an account's transactions, you can get GnuCash to re-designate all your transactions at once by asking GnuCash to DELETE the account in question. For accounts that have transactions in them, GnuCash will ask whether you want to completely delete the transactions, or move them to a different account. Select the account you want all your transactions to go, and they will be moved. (To delete an account, open the Accounts window, select the account you want to delete, and click the Delete button).
Import transactions from another program
Easy way to import a large amount of transactions from another your program (import from bank isn't covered by this tip)
If you use another program that may produce accounting data, tell your programmer to use QIF format to easy import into GnuCash. QIF format is simple and other programs can easy produce it. GnuCash's QIF importer is also easy to use and comes with self explaining wizard incorporated.
You can find QIF format description on Wikipedia or ask uncle Google.
--Provided by Pietro B.
Reporting Tips
A single report that shows summary amounts for multiple months for multiple accounts
To create a single report that shows summary amounts for multiple months for multiple accounts (for example, monthly totals for expense accounts over the course of a year), you can accomplish this with a little creative thinking. The trick is to use Gnucash's Budgeting features.
- First, create a Budget that includes the accounts upon which you ultimately want to base your report and a date range that is useful to you. Save this budget.
- Next, create a budget report, and in the options for this report, deselect the "Show Budget Amounts" check box. The resulting report will list monthly transaction totals for each account in the budget.
This solution is not perfect (you must, for example, edit the budget to cover the date range you want, and then open the report), but it does give a spreadsheet-like summary of a subset of accounts by month.
--Provided by David T.
Quicken-like "Overview" of your accounts
Quicken provides an "overview" of your accounts -- a list of today's balances for checking, savings, credit cards, major assets and liabilities.
For something similar in GnuCash, run the Balance Sheet report, then go to Options to pick the accounts that you want to see in the overview. Then just leave that tab open, and every time you start GnuCash you'll have the overview. Click "reload" if you put in transactions and want to see how things have changed.
--Provided by Anthony Dardis
Alternatively just keep the "Accounts" tab open. It shows the current balances of all the accounts too, without having to run a report. However, I don't use the business functions, or scheduled transactions, so that might perhaps make a difference.
--Provided by Mike Leone
Displaying Split Account Details in Transaction Report
For a simple transaction like this:
<date> <ref no> "Cheques Received" <income account> "multiple payers" <credit> £157.60 <bank account> <debit> £157.60
then on a Transaction Report for the bank account the details appear pretty much as above.
For clarity of the accounts, you might enter transactions with multiple splits referring to the same account. For example, the above transaction might well be entered like this:
<date> <ref no> "Cheques Received" <income account> <first payer name> <credit> £100.00 <income account> <second payer name> <credit> £ 57.60 <bank account> <debit> £157.60
When this transaction is printed on the bank account's Transaction Report, then under "other account" it simply prints "split" instead of the account name.
To display the additional split detail, you need to set General -> Style = Multi-Line and then you need to turn on Display -> Account Name. Do NOT turn on Display -> Other Account Name.
You can choose whether or not to turn off the full account name using Display -> Use Full Account Name?
The Use Full Other Account Name? has no effect in this configuration.
--Provided by Derek Atkins (in response to Colin Scott)
Monthly Income/Expense Reports
You can export a GnuCash transaction report to HTML and then open the HTML file in Excel. You then have a ready-made data source from which you can create a pivot table with the transaction data grouped both by account and by period, with very few steps involved.
Two enhancements to the data to try are: (1) grouping the dates by month; and (2) parsing multilevel account names into columns labeled "Account1", "Account2", etc. using the ":" delimiter.
This gives you a report that is very close to the monthly/quarterly/yearly income/expense report that MS Money and Quicken provide.
--Provided by Martin Cunningham on gnucash-users
Reporting in single file resp. in landscape format
Currently, this isn't supported. Via HTML export, however, both options are possible, with the help of htmldoc. Sample call for landscape in european A4 format, which also puts alle single html files into one compound pdf:
htmldoc -t pdf14 --webpage --no-links --linkstyle plain --size 297x210mm --headfootsize 9 --header fff -f report.pdf *.html
Exporting a report to OpenOffice Calc
Sometimes a report needs to be laid out slightly differently than is possible in GnuCash. One way to do this is to export the report to OpenOffice Calc. GnuCash can't export directly into that format, but it can export to html. OpenOffice Calc can import such a html file. Here's what to do:
- Create your report in GnuCash
- With the report open in front of you, select File -> Export -> Export Report to save the report somewhere in html. Note: there is also a tool bar button that does exactly the same thing.
- Open OpenOffice Calc
- Select Insert -> Link to external data
- In the popup window, use the "..." button to find your exported report and below, choose "html all", then click ok.
This should load report in a Calc sheet. From here you can make tweaks as you like.
Reports Included in GnuCash
This section (in progress; started on GnuCash 2.2.9 and now being updated to GnuCash 2.4.13) includes a small amount of information about the standard reports in GnuCash, including when they might be used and some of the options. Information about each report might include how the report is used, common alternatives, and some of the options that make the report adaptable to different situations.
Assets & Liabilities (Group)
Advanced Portfolio
The Advanced Portfolio report produces reports dependent upon price information collected by the optional stock price retrieval features of GnuCash. (If you have not installed and used the additional stock price retrieval software, the report will indicate an error.)
Asset Barchart
The Asset Barchart report displays bars that present the value of all assets in a Gnucash file on a monthly basis. By default, the report shows all accounts in Current Assets and Special Accounts, and it displays monthly bars for the current financial period. This report provides a graphic view of the assets in the file over time.
Asset Piechart
Average Balance
Balance Sheet
A Balance sheet report lists Asset, Liability, and Equity account balances for all such accounts, and provides totals on a given date. Balance sheets are commonly run for the last day of each fiscal year to give an overall sense of the financial condition of the entity.
General Journal
The General Journal produces a register of all transactions (beginning to end) in order by date, showing the accounts and the amounts moved among them, and totals the Net Change by all currencies and assets. This report is not customizable by date or account, though you can include more or fewer details about the individual transactions, and whether or not to include running balances and totals for the credits and debits. If you need a report restricted to particular accounts, you might want to look at the #Transaction Report or open a particular account and choose the #Account Transaction Report.
General Ledger
Investment Portfolio
Liability Barchart
Liability Piechart
Net Worth Barchart
Price Scatterplot
Budget (Group)
to be done
Business (group)
Customer Report
Customer Summary Report
The "Customer Summary Report" is a customer profit report, it can help with job analysis by comparing the income and expenses for a specific customer. Under the options for the report a tab labeled "Expense Accounts" will allow the selection of one or many expense accounts. Likewise the tab for "Income Accounts" will allow the selection of one or more income accounts. The tab for "Display" will allow sorting by name, profit percentage, or amount of profit. The "No Customer" is a warning that the report may be inaccurate, as the results are not all properly labeled.
Possible use scenarios:
Tracking retail sales from different cities:
Income:Princeton Showroom Sales Income:Beckley Showroom Sales Expense:Princeton COGS Expense:Beckley COGS
Tracking rental properties:
Income:Downtown Income:Northwestern Income:Park Ave Expense:Downtown Expense:Northwestern Expense:Park Ave
Tracking types of business:
Income:Labor Income:Materials Expense:Labor Expense:Cost of Goods Sold
Tracking commission sales:
Income:Robert Sales Income:Micah Sales Expense:Robert COGS Expense:Micah COGS
So to get the most out of the report use the Income & Expense tabs to hone down the information displayed on the report. By default it includes all income and expense accounts, GnuCash can't really predict the names and classification of income and expense accounts. To be useful out of the box, any thing that happened income or expense wise shows up as "No Customer": Rent, Paychecks, Utilities, Bank Charges.. everything. Luckily it is easy to remove this information, if it is distracting. It can also shed a light on how much information is being ignored, if the settings are overly selective the report might look good, but only be showing 10% of the picture.
Why does the information look out of place by default:
All invoices have an "Owner" in GnuCash speak, so any invoices made will show a customer and make it to the report. When creating a "Bill" the "Default Chargeback Customer" is blank, and often gets underused. To use the profit report this needs to be utilized, this is the tag that decides which line to attach the expense. Without a customer the bill will belong to "No Customer", when entering income in a random register instead of creating an invoice, it will also belong to "No Customer", but that doesn't happen very often.
Inventory based businesses won't benefit as much because of the nature of the report. Currently there isn't a way to avoid this. Creating invoices for items out of inventory usually shows as 100% profit, hardly reality. The best way to handle this is to use a different income account and exclude it from the report, if that won't over-complicate the entry of invoices. Once you get on a good start the invoice line item auto-fill will help remember the accounts for inventory items.
--Provided by Robert L Brush III via gnucash-users
Easy Invoice
Employee Report
Fancy Invoice
Payable Aging
Printable Invoice
Receivable Aging
This report provides a listing of all customers, their current balance, and how much they have outstanding from invoices over different time periods -- how much they owe from 0-30 days, from 31-60 days, from 61-90 days, and over 90 days. The report also contains links to each customer and to their current customer report.
--quoting Buddha Buck via GnuCash-Users
Vendor Report
Income & Expense (group)
Budget Report
Cash Flow
The Cash Flow Report shows the change in value for a set of accounts (the flow of cash) over a given period of time. Be default, this report uses the data file's assets accounts as the base set of accounts. {Special Accounts are also selected by default? This is not known} It uses the current financial period as the default time period. The report enumerates all money coming in to and going out of the base accounts, in different sections. The amounts for each account are provided, along with totals.
Equity Statement
Expense Barchart
The Expense Barchart (also known as Expense over Time) report shows a set of vertical bars, with the vertical axis indicating the amount, and the horizontal axis indicating time periods (such as quarters, months, or weeks). The report aggregates the amounts in the selected amounts. Report options enable you to adjust the horizontal and vertical sizes, step size (time periods), number of bars, and whether or not to include the detailed amounts in a table below the graph.
To create a chart for income accounts, see #Income Barchart.
Expense Piechart
The Expense Piechart report totals transactions for income accounts over a specified financial period, and presents the totals as graphical "wedges" of the aggregate total "pie." You might use such a report to get a "big-picture" overview of some of the largest expenses in your accounts. By default, the chart displays a maximum of 7 wedges, which limits the display the largest six wedges and combining all the remaining items into a seventh wedge marked "other."
To generate a pie chart display of your income accounts, use the #Income Piechart report.
Expenses vs. Day of Week
Income Barchart
The Income Barchart (also known as Income over Time) report shows a set of vertical bars, with the vertical axis indicating the amount, and the horizontal axis indicating time periods (such as quarters, months, or weeks). The report aggregates the amounts in the selected amounts. Report options enable you to adjust the horizontal and vertical sizes, step size (time periods), number of bars, and whether or not to include the detailed amounts in a table below the graph.
To create a chart for expense accounts, see #Expense Barchart.
Income & Expense Chart
Income Piechart
The Income Piechart report totals transactions for income accounts over a specified financial period, and presents the totals as graphical "wedges" of the aggregate total "pie." You might use such a report to get a "big-picture" overview of some of the largest income sources in your accounts. By default, the chart displays a maximum of 7 wedges, which limits the display the largest six wedges and combining all the remaining items into a seventh wedge marked "other."
To generate a pie chart display of your expense accounts, use the #Expense Piechart report.
Income Statement
An Income Statement report is also called a "Profit and Loss" report or "Revenue Statement."
In earlier versions of Gnucash, this report was called "Profit & Loss," but with GnuCash version 2, the report was re-named "Income Statement" to use more common accounting terminology.
This report lists Income and Expense account totals for a set period. By default it shows all Expense and Income accounts (down to 3 levels of sub-accounts) for the current financial period.
The Income Statement helps show where your money is coming from, and where it is going for a given time period.
Income vs. Day of Week
The Income vs. Day of Week report presents a pie chart showing the totals for selected income accounts totaled by the day of the week of the transaction. The report options enable you to make some adjustments (such as accounts, display options, and the date range) but the account selector only allows income accounts to be chosen. The report aggregates income transactions by day of week, not by any other period or category. Due to these limitations, the report may be considered a demonstration or an example to someone wanting to examine the source code for composing a useful custom report.
Trial Balance
Sample & Custom (group)
Custom Multicolumn Report
This selection let's you combine several standard and custom reports into one view.
Initially this report comes up with an empty window. The selection is done through the report Options, giving you the list of available reports from which you can select.
Saving the the Multicolumn View is done similar to saving custom reports, see Using_GnuCash#Custom_Reports.
Sample Report with Examples
Welcome Sample Report
Account Summary
Lists accounts and subaccounts, with a total of account balances as of a particular date. By default, shows accounts and totals down to third-level subaccounts.
- Report Usage:
This report provides an overview of all (or selected) accounts. The totals on this report (if shown) include all transactions to the beginning of each account, so the amounts may only be useful for asset and liability accounts that you reconcile, or expense accounts after you have "closed the books" to a particular financial period. (Closing the books is NOT a requirement in GnuCash.)
This report gives effectively the same information as the accounts page (that shows the accounts tree). You can use this report to export and print the accounts page information and make it accessible and readible for some outside GnuCash, as it is not possible to directly print from the accounts page.
- Suggested Alternatives:
To generate a report of account totals over a particular period (especially if you do not close your books at regular intervals), you might consider using the #Income Statement, #Cash Flow, or #Budget Report.
- Report Options:
- Accounts tab: Choose accounts to display; levels of subaccounts; Depth limit behavior (how to handle any accounts lower than the set level of subaccounts -- choosing between Recursive Balance, Raise Accounts, or Omit Accounts).
- Commodities tab: Currency; Price Source (Average Cost, Weighted Average, Most Recent or Nearest in Time); Show Foreign Currencies; Show Exchange Rates
- Display tab: Include accounts with zero total balances; Omit zero balance figures, Parent account balances (Account Balance, Subtotal, and Do not show); Parent account subtotals (Show subtotals, Do not show, or Text book style [experimental]); Display accounts as hyperlinks; Show accounting-style rules; Account balance; Account Code; Account Description; Account Type; Account Notes.
- General tab: Report name; Stylesheet (Default, Easy, and Technicolor); Report Title; Company Name; Date.
Custom Reports
Selecting this menu option will open a dialog window with a list of available Custom Reports.
In this context Custom Reports mean sets of customized settings for standard reports.
These sets need to be saved by the user before they show up in this list. This is how you do it:
- Go to the Reports Menu and choose the required report type
This will open the report with standard settings - Go to the report Options and change the settings
Do this repeatedly until this report type shows the info according to your needs - Go to the report options, select the General section and change the Report Name to a significant term that let you remember the goal for the change settings
This will activate the File->Add Report entry.
Do not mix this up with the Report Title, it only works for Report Name - Go to the File menu and select Add Report
This will store the just customized report options in a file in your home directory
Linux Ubuntu:~/.gnucash/saved-reports-<versioninfo>
Now your customized report is available for use by the Reports->Custom Reports entry and it will also be listed when starting Reports->Sample&Custom->Custom Multicolumn Report.
Managing the customized reports is kept simple. The options to delete a custom report is given in the dialog window showing up when selecting Reports->Custom Reports.
If you want to edit your custom reports, then
- open the report via Reports->Custom Reports
- keep the tab open, and select Reports->Custom Reports again
- in the upcoming dialog window select the report
- press Delete and confirm
- press Cancel to get back to the opened report tab
and then go again through the procedure as listed on top of this section.
Future Scheduled Transactions Summary
to be done
Tax Report & TXF Export
Generates a report and a downloadable .txf file of taxable income and deductible expenses for a particular accounting period. To download the report data, choose the Export button on the toolbar and choose between html and .txf downloadable versions.
To use this report, you must use Edit --> Tax Options to identify which form the taxing authority uses for each income or expense account. (You can see but not modify the "Tax related" checkbox in Edit --> Edit Account.)
Transaction Report
This report lists the transactions in all accounts during a specified financial period. By default the report includes all accounts, subtotals the transactions by month and includes the totals for each account for the currently defined fiscal year.
Account Report
The Account Report is not meant to be run on a selected account. It can only be run from a ledger window in GnuCash . A ledger window is the tab-window that can be created e.g. by opening an account (double-click on an account in the accounts page) or by running a find (Edit->Find) which will list the find result in a ledger window.
The Account Report only appears on the Report menu when a ledger window is the current top window in GnuCash. You will not find it when looking at e.g. a report or the accounts page.
The Account Report produces a list of all transactions in the open ledger window.
You can use this report to export and print the transactions listed in a ledger window to make it readible and accessible for someone outside GnuCash.
Account Transaction Report
(The Account Transaction Report only appears in the reports menu when you have an account open in the main GnuCash window.) The Account Transaction Report produces a report of the transactions for the current date in the open account. If you need to see transactions in other accounts or for different dates, you could use the #Transaction Report or Find ( Edit --> Find ) to create an ad-hoc report.