Can we use openerp out from the box to generate interest for late payment? for example using tax feature etc...
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
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),
},
Add calc_increment to your view with invisible attribute...
Good Luck
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
3
Jan 25
|
3368 | ||
|
2
Jun 25
|
2043 | ||
|
2
Jun 25
|
5948 | ||
|
0
Nov 23
|
1510 | ||
|
0
Mar 23
|
1598 |