8.7. Creating Reports and Graphs


This section may need updating !!!

It is possible to write reports if the current ones are not suitable. To do this you will need to know Scheme (a LISP-like programming language), and it is an excellent idea to have a copy of the GnuCash source code available.

The reporting interface is documented in the source code file src/report/report-system/doc/report-html.txt. The file src/report/utility-reports/hello-world.scm in the GnuCash source distribution provides a good example of how reports are developed.

It is also necessary to access data from the engine to get information for your report. This is performed by a set of Scheme wrapper functions that are documented in the file src/g-wrap/gnc.html. Examine some of the other reports in src/scm/report for an indication of how they are used.

At present, reports are produced by calling a HTML-generation API, which outputs a dialect of HTML and rendering this with a HTML widget. This has limitations, particularly when trying to align objects precisely, as might be necessary for printing onto pre-printed invoices for example.