changes for 3.0 beta 1 database upgrades
moving invoice printing code under a PrintInvoice abstract class