invoice has parameters passed through prepare. ProductsMaker added to handle products code from invoicing_maker