@@ -48,6 +48,9 @@ def report_data(self):
4848 Generate report data for output
4949 """
5050 ret_data = frappe ._dict ({"name" : self .item_name })
51+ ret_data .service_start_date = self .service_start_date
52+ ret_data .service_end_date = self .service_end_date
53+ ret_data .amount = self .base_net_amount
5154 for period in self .period_total :
5255 ret_data [period .key ] = period .total
5356 ret_data .indent = 1
@@ -205,6 +208,9 @@ def __init__(self, invoice, items, filters, period_list):
205208 for item in self .uniq_items :
206209 self .items .append (Deferred_Item (item , self , [x for x in items if x .item == item ]))
207210
211+ # roll-up amount from all deferred items
212+ self .amount_total = sum (item .base_net_amount for item in self .items )
213+
208214 def calculate_invoice_revenue_expense_for_period (self ):
209215 """
210216 calculate deferred revenue/expense for all items in invoice
@@ -232,7 +238,7 @@ def report_data(self):
232238 generate report data for invoice, includes invoice total
233239 """
234240 ret_data = []
235- inv_total = frappe ._dict ({"name" : self .name })
241+ inv_total = frappe ._dict ({"name" : self .name , "amount" : self . amount_total })
236242 for x in self .period_total :
237243 inv_total [x .key ] = x .total
238244 inv_total .indent = 0
@@ -386,6 +392,24 @@ def calculate_revenue_and_expense(self):
386392 def get_columns (self ):
387393 columns = []
388394 columns .append ({"label" : _ ("Name" ), "fieldname" : "name" , "fieldtype" : "Data" , "read_only" : 1 })
395+ columns .append (
396+ {
397+ "label" : _ ("Service Start Date" ),
398+ "fieldname" : "service_start_date" ,
399+ "fieldtype" : "Date" ,
400+ "read_only" : 1 ,
401+ }
402+ )
403+ columns .append (
404+ {
405+ "label" : _ ("Service End Date" ),
406+ "fieldname" : "service_end_date" ,
407+ "fieldtype" : "Date" ,
408+ "read_only" : 1 ,
409+ }
410+ )
411+ columns .append ({"label" : _ ("Amount" ), "fieldname" : "amount" , "fieldtype" : "Currency" , "read_only" : 1 })
412+
389413 for period in self .period_list :
390414 columns .append (
391415 {
@@ -415,6 +439,8 @@ def generate_report_data(self):
415439 elif self .filters .type == "Expense" :
416440 total_row = frappe ._dict ({"name" : "Total Deferred Expense" })
417441
442+ total_row ["amount" ] = sum (inv .amount_total for inv in self .deferred_invoices )
443+
418444 for idx , period in enumerate (self .period_list , 0 ):
419445 total_row [period .key ] = self .period_total [idx ].total
420446 ret .append (total_row )
0 commit comments