Community mailing list archives

community@mail.odoo.com

Re:

by
Abhishek
- 03/04/2015 05:53:08

To acheive this we need to create a module or change account_invoice:

Add three fields to account_invoice

'calc_increment': fields.function(_calc_increment, string = "Increment"), 
'incremented': fields.boolean('Incremented'), 
'amount_incr': fields.float('Amount Incremented'), 


Add a function called _calc_increment: 

def _calc_increment(self, cr, uid, ids, name, args, context = None): 
    res = {} 
    for invoice in self.browse(cr, uid, ids, context = context): 
        date = invoice.date_due 
        if date and date < time.strftime('%Y-%m-%d') and not invoice.incremented: 
            mount =invoice.amount_total * .10 # the interest rate ar 10% 
            self.write(cr, uid, ids, {'amount_incr': mount, 'incremented':True}, context = context) 
            res[invoice.id] = 0.0 
    return res 


Edit the_amount_all function 

def _amount_all(self, cr, uid, ids, name, args, context=None): 
    res = {} 
    for invoice in self.browse(cr, uid, ids, context=context): 

    incr = invoice.amount_incr 

    res[invoice.id] = { 
           'amount_untaxed': 0.0, 
           'amount_tax': 0.0, 
           'amount_total': 0.0 
    }

 
    for line in invoice.invoice_line: 
        res[invoice.id]['amount_untaxed'] += line.price_subtotal 
    for line in invoice.tax_line: 
        res[invoice.id]['amount_tax'] += line.amount 
        res[invoice.id]['amount_total'] = res[invoice.id]['amount_tax'] + res[invoice.id]['amount_untaxed'] + incr 
    return res 

Edit the amount_all field :


'amount_total': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Total', 
store={ 
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20), 
'account.invoice.tax': (_get_invoice_tax, None, 20), 
'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 20), 
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['amount_incr'],21), 
}, 


On Mon, Mar 2, 2015 at 12:22 PM, abhishek jaiswal <ia.malhotra@gmail.com> wrote:
Hi Community,

Can anyone please tell me how to add interest on invoice if paid after due date or after on certain period,

plus to to post the journal entries



Thanks 
Abhishek



--
With Warm Regards
Abhishek Jaiswal,
Website, Blog