* All filters and "dynatable" are Template::Toolkit templates
* There are two libraries of "predefined" HTML expansions: (a) UI/lib/elements.html and (b) UI/lib/report-base.html
* The "report-base.html" library is typically used by the filter pages
* elements.html is used by nearly all pages
* The filter pages define forms which posts to scripts you can find in LedgerSMB/Scripts/*.pm (even though the URL says .pl)
* The scripts use Report objects which you can find in LedgerSMB/Report/*
* The various forms of income statements (including PNLs) are in LedgerSMB/Report/Income_Statement/*.pm (including PNL.pm)
Hope that helps!
--
Bye,
Erik.
Robust and Flexible. No vendor lock-in.