Merge lp:~openbig/bigconsulting/changes_base_amount into lp:bigconsulting

Proposed by gpa(OpenERP)
Status: Merged
Merged at revision: 58
Proposed branch: lp:~openbig/bigconsulting/changes_base_amount
Merge into: lp:bigconsulting
Diff against target: 105 lines (+21/-11)
2 files modified
account_invoice_cash_discount/account_invoice_cash_discount.py (+17/-7)
account_invoice_cash_discount/wizard/account_pay_invoice.py (+4/-4)
To merge this branch: bzr merge lp:~openbig/bigconsulting/changes_base_amount
Reviewer Review Type Date Requested Status
openbig Pending
Review via email: mp+31378@code.launchpad.net

Description of the change

added changes for the tax and discount base amount

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'account_invoice_cash_discount/account_invoice_cash_discount.py'
2--- account_invoice_cash_discount/account_invoice_cash_discount.py 2010-07-29 13:46:33 +0000
3+++ account_invoice_cash_discount/account_invoice_cash_discount.py 2010-07-30 13:38:42 +0000
4@@ -293,8 +293,9 @@
5 l1['name'] = name
6 l2['name'] = name
7 lines = [(0, 0, l1), (0, 0, l2)]
8-
9+
10 ### When we make payment by pay invoice wizard and if found the taxes move then directly take the entry from the wizard
11+
12 if 'tax_move_ids' in context and context['tax_move_ids']:
13 move_line = context['tax_move_ids']
14 for move_line_id in move_line:
15@@ -316,11 +317,19 @@
16 else:
17 if amount_discount>0.0:
18 for line in invoice.invoice_line:
19+ line_tax_amount = 0.0
20+ for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, line.price_subtotal/line.quantity, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
21+ line_tax_amount += tax['amount']
22+ line_total = line.price_subtotal + line_tax_amount
23+ invoice_res_amount = invoice.amount_total
24+ line_ratio = line_total / invoice_res_amount
25+
26 if line.invoice_line_tax_id:
27 total_tax_amount = 0.0
28 for tax_id in line.invoice_line_tax_id:
29 tax_data = tax_obj.browse(cr, uid, tax_id.id, context=context)
30- tax_amt = amount_discount * tax_data.amount
31+ discount_ratio = amount_discount * line_ratio
32+ tax_amt = discount_ratio * tax_data.amount
33 tax_real_amt = tax_amt / (1 + tax_data.amount)
34 total_tax_amount += tax_real_amt
35 tax_invoice_id = invoice_tax_obj.search(cr,uid,[('invoice_id','=',invoice.id),('name','=',tax_data.name)])
36@@ -374,14 +383,15 @@
37 line_tax_amount = 0.0
38 tax_amount = 0.0
39 discount = 0.0
40+
41 for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, line.price_subtotal/line.quantity, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
42- line_tax_amount = tax['amount']
43-
44+ line_tax_amount += tax['amount']
45 line_total = line.price_subtotal + line_tax_amount
46 invoice_res_amount = invoice.amount_total
47 line_ratio = line_total / invoice_res_amount
48-
49+
50 discount_ratio = amount_discount * line_ratio
51+
52 total_tax_amount = 0.0
53
54 for tax_id in line.invoice_line_tax_id:
55@@ -397,8 +407,8 @@
56 base_code_id = tax_value.base_code_id.id
57
58 l4 = {
59- 'debit': direction * (discount - total_tax_amount)<0 and - direction * (discount - total_tax_amount),
60- 'credit': direction * (discount - total_tax_amount)>0 and direction * (discount - total_tax_amount),
61+ 'debit': direction * (discount_ratio - total_tax_amount)<0 and - direction * (discount_ratio - total_tax_amount),
62+ 'credit': direction * (discount_ratio - total_tax_amount)>0 and direction * (discount_ratio - total_tax_amount),
63 'account_id': account_id,
64 'partner_id': invoice.partner_id.id,
65 'ref':ref,
66
67=== modified file 'account_invoice_cash_discount/wizard/account_pay_invoice.py'
68--- account_invoice_cash_discount/wizard/account_pay_invoice.py 2010-07-29 13:46:33 +0000
69+++ account_invoice_cash_discount/wizard/account_pay_invoice.py 2010-07-30 13:38:42 +0000
70@@ -175,7 +175,7 @@
71 'currency_id':invoice.currency_id.id or False,
72 'journal_id':invoice.journal_id.id,
73 'tax_code_id':base_code_id,
74- 'tax_amount':line.price_unit,
75+ 'tax_amount':-(discount_pay - total_tax_amount),
76 'amount_currency':amount and direction * amount or 0.0,
77 'analytic_account_id':line.account_analytic_id.id or False,
78 }
79@@ -245,7 +245,7 @@
80 'name':name,
81 'currency_id':invoice.currency_id.id or False,
82 'tax_code_id':tax_code_id,
83- 'tax_amount':(discount_pay-tax_real_amt),
84+ 'tax_amount':-tax_real_amt,
85 'amount_currency':amount and direction * amount or 0.0,
86 'analytic_account_id':line.account_analytic_id.id or False,
87 }
88@@ -364,7 +364,7 @@
89 'name':name,
90 'currency_id':invoice.currency_id.id or False,
91 'tax_code_id':tax_code_id,
92- 'tax_amount':(discount_pay-tax_real_amt),
93+ 'tax_amount':-tax_real_amt,
94 'amount_currency':amount and direction * amount or 0.0,
95 'analytic_account_id':line.account_analytic_id.id or False,
96 }
97@@ -400,7 +400,7 @@
98 'currency_id':invoice.currency_id.id or False,
99 'journal_id':data.get('journal_id',False),
100 'tax_code_id':base_code_id,
101- 'tax_amount':line.price_unit,
102+ 'tax_amount':-(discount_pay - total_tax_amount),
103 'amount_currency':amount and direction * amount or 0.0,
104 'analytic_account_id':line.account_analytic_id.id or False,
105 }

Subscribers

People subscribed via source and target branches