refactored invoicing making clear interface. InvoicingMaker responsible for creating invoices. Invoicing start_date and end_date => period
N+1 fixes