DIY: Create custom reports in GnuCash

Think you can't create a custom report in the open source financial software GnuCash? Jack Wallen explains how it is possible to do for existing reports.

I am asked a lot of questions about GnuCash reporting and the lack of custom reports in the open source accounting system. To the naked eye, it would seem as if GnuCash lacks the ability to create a custom report, and that's partly true. It is not possible to create a new, custom report from a blank slate, but you can create a new, custom report based on an already existing report. I'll walk you through the process of creating a custom report in GnuCash. (Note: I will not explain how to create a specific report because users' reporting needs can be quite different, so you will need to know precisely what you are want the report to do before you start the process.)

How to create custom reports in GnuCash

Step one: Figure out which pre-configured report best suits your needs

Click the Reports drop-down menu and dig through the rather substantial listing of pre-configured reports to find a report that closely matches what you need. A good match will prevent you from doing too much work or winding up with a custom report that either doesn't do what you need or spits out incorrect data.

Step two: Open the pre-configured report you selected Open the report that somewhat mimics what you need. Figure A shows a report for a sample company I created. This report is a Balance Sheet. Figure A

You could click a link in the report to open a new tab for that tool.
Step three: Open the Report Options In the Report window, click the Options icon. (In Figure A, the Options icon is the "gear" icon to the left of the printer icon.) When this button is clicked, the Options window will open (Figure B). Figure B

The options for each report will look completely different, so depending on the report you selected, you will be working with very different options.
Step four: Rename the report

This step is critical. If you do not rename the report you are working on, when you save any changes, you will be overwriting the pre-configured report used as a basis for the new report.

To rename the report, click the General tab and then change the name in the Report Name field. Click Apply immediately after you make the change to ensure you do not fubar the original report.

Step five: Re-configure the new report

There are no fancy wizards to walk you through the creation of the report, so it's important to have a good understanding of what you are looking for in your report. These are some of your options:

  • Price Source
  • Report's Currency
  • Show Exchange rate
  • Omit zero balance figures
  • Parent account balances
  • Show accounting-style rules
  • Single column balance sheet
  • Stylesheet
  • Ignore brokerage fees
  • Share decimal places
  • Show number of shares
  • Accounts to include
  • Primary key
  • Show Account Code
  • Sort order
Step six: Save the report

After you complete the report modification, click OK to save and dismiss the Options window. Next, you'll want to save this new report so it can be used again (this does not happen automatically). To save this report for future use, click the Save icon (it's between the Cancel and Export buttons on the main window). When the Save button is clicked, the report will be saved in the Custom Reports tool.

Step seven: Re-run the report To make sure the report works before you close out the working copy of the report, go to Reports | Custom Reports to open the Custom Reports window (Figure C). Figure C

All custom reports created will be listed here by name.

To run the report, select it and click the Run button. This will open a new tab in GnuCash with your custom report displayed.

Congratulations! You have successfully created a custom report in GnuCash.

By Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic, The New Stack, and Linux New Media. He's covered a variety of topics for over twenty years and is an avid promoter of open source. For more news about Jack Wallen, visit his website jackwallen....