'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True),
'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True),
'account_id': fields.many2one('account.account', 'Account',readonly=True),
- 'partner_bank': fields.many2one('res.partner.bank', 'Bank Account',readonly=True)
+ 'partner_bank': fields.many2one('res.partner.bank', 'Bank Account',readonly=True),
+ 'residual':fields.float('Total Residual', readonly=True),
+ 'delay_to_pay':fields.float('Avg. Delay To Pay', readonly=True, group_operator="avg"),
}
_order = 'date desc'
def init(self, cr):
s.address_contact_id as address_contact_id,
s.address_invoice_id as address_invoice_id,
s.account_id as account_id,
- s.partner_bank as partner_bank
+ s.partner_bank as partner_bank,
+ sum(s.residual) as residual,
+ case when s.state != 'paid' then null else
+ extract(epoch from avg(am.date_created-l.create_date))/(24*60*60)::decimal(16,2)
+ end as delay_to_pay
from
account_invoice_line l
left join
account_invoice s on (s.id=l.invoice_id)
- left join product_uom u on (u.id=l.uos_id)
+ left join product_uom u on (u.id=l.uos_id),
+ account_move_line am left join account_invoice i on (i.move_id=am.move_id)
+ where
+ am.account_id=i.account_id
group by
s.type,
s.date_invoice,