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
- Buchhaltung
- Lager
- PoS
- Project
- MRP
Diese Frage wurde gekennzeichnet
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
Diskutieren Sie gerne? Treten Sie bei, statt nur zu lesen!
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
RegistrierenVerknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
---|---|---|---|---|
|
3
Jan. 25
|
3471 | ||
|
2
Juni 25
|
2105 | ||
|
2
Juni 25
|
6018 | ||
|
0
Nov. 23
|
1520 | ||
|
0
März 23
|
1621 |