Community mailing list archives


Re: Community

- 03/04/2015 05:56:26
 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[] = 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[] = { 
           'amount_untaxed': 0.0, 
           'amount_tax': 0.0, 
           'amount_total': 0.0 

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

Edit the amount_all field :

'amount_total': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Total', 
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20), 
'': (_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:27 PM, abhishek jaiswal <> 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


Post to: