Merge lp:~vauxoo/addons-vauxoo/7.0-addons-vauxoo-avt-dev-julio into lp:addons-vauxoo/7.0

Proposed by Julio Serna-http://www.vauxoo.com
Status: Merged
Merged at revision: 976
Proposed branch: lp:~vauxoo/addons-vauxoo/7.0-addons-vauxoo-avt-dev-julio
Merge into: lp:addons-vauxoo/7.0
Diff against target: 211 lines (+2/-180)
1 file modified
account_voucher_tax/account_voucher.py (+2/-180)
To merge this branch: bzr merge lp:~vauxoo/addons-vauxoo/7.0-addons-vauxoo-avt-dev-julio
Reviewer Review Type Date Requested Status
Julio Serna-http://www.vauxoo.com Pending
Moisés López - http://www.vauxoo.com Pending
Review via email: mp+209769@code.launchpad.net

Description of the change

added by context date of invoice to payment with currency distinct to company

To post a comment you must log in.
962. By Julio Serna-http://www.vauxoo.com

[MERGE] merge with addons-vauxoo/7.0

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'account_voucher_tax/account_voucher.py'
--- account_voucher_tax/account_voucher.py 2013-11-14 20:26:01 +0000
+++ account_voucher_tax/account_voucher.py 2014-03-06 22:42:43 +0000
@@ -110,139 +110,13 @@
110 for line_tax in line.tax_line_ids:110 for line_tax in line.tax_line_ids:
111 credit=line_tax.amount_tax111 credit=line_tax.amount_tax
112 amount_tax_unround=line_tax.amount_tax_unround112 amount_tax_unround=line_tax.amount_tax_unround
113 #############funcionamiento anterior se esta haciendo funcionamineto en la funcion get_move_writeoff###############################113
114 # debit=0.0
115 # if company_currency!=current_currency:
116 # credit=currency_obj.compute(cr, uid, current_currency,company_currency, float('%.*f' % (2,credit)), round=True, context=context)
117 # if credit < 0:
118 # credit, debit=debit, credit
119 # if voucher.type=='payment':
120 # credit, debit=debit, credit
121 # move_line={
122 # 'journal_id': voucher.journal_id.id,
123 # 'period_id': voucher.period_id.id,
124 # 'name': line_tax.tax_id.account_collected_voucher_id.name or '/',
125 # 'account_id': account_tax_voucher,
126 # 'move_id': int(move_id),
127 # 'partner_id': voucher.partner_id.id,
128 # 'company_id':company_currency,
129 # 'currency_id': line.move_line_id and (company_currency <> current_currency and current_currency) or False,
130 # #~ 'currency_id': voucher.journal_id.currency.id,
131 # 'quantity': 1,
132 # 'credit': float('%.*f' % (2,abs(credit))),
133 # 'debit': float('%.*f' % (2,abs(debit))),
134 # 'amount_tax_unround':amount_tax_unround,
135# # 'analytic_account_id': line_tax.analytic_account_id and line_tax.analytic_account_id.id or False,
136 # 'date': voucher.date,
137 # 'tax_id': line_tax.id
138 # }
139# # if company_currency!=current_currency:
140 # # move_line['amount_currency']=line_tax.amount_tax
141 # # move_ids.append(move_line_obj.create(cr ,uid, move_line, context=context))
142 # #~ if line_tax.diff_amount_tax:
143 # context['date']=line.move_line_id.date
144 # #~ amount=currency_obj.compute(cr, uid, current_currency,company_currency, float('%.*f' % (2,line_tax.original_tax)), round=False, context=context)
145 # #~ if credit and voucher.payment_option=='with_writeoff'and line_tax.diff_amount_tax:
146 # #~ credit=amount
147 # #~ if debit and voucher.payment_option=='with_writeoff' and line_tax.diff_amount_tax:
148 # #~ debit=amount
149 # credit, debit=debit, credit
150 # entrie_name = line_tax.tax_id.name
151 ####################################################################
152
153
154 #########borrado mientras se hizo en una funcion del writeoff
155 # if voucher.payment_option=='with_writeoff':
156 # if debit:
157 # debit=line_tax.balance_tax
158 # else:
159 # credit=line_tax.balance_tax
160 # entrie_name = 'poliza de writeof'
161 #############################################################
162
163
164 #############funcionamiento anterior se esta haciendo funcionamineto en la funcion get_move_writeoff###############################
165 # move_line={
166 # 'journal_id': voucher.journal_id.id,
167 # 'period_id': voucher.period_id.id,
168 # 'name': entrie_name or '/',
169 # 'account_id':account_tax_collected,
170 # 'move_id': int(move_id),
171 # 'partner_id': voucher.partner_id.id,
172 # 'company_id':company_currency,
173 # #~ 'currency_id': voucher.journal_id.currency.id,
174 # 'currency_id': line.move_line_id and (company_currency <> current_currency and current_currency) or False,
175 # 'quantity': 1,
176 # 'credit': float('%.*f' % (2,abs(credit))),
177 # 'debit': float('%.*f' % (2,abs(debit))),
178 # # 'amount_tax_unround':amount_tax_unround,
179 # 'analytic_account_id': line_tax.analytic_account_id and line_tax.analytic_account_id.id or False,
180 # 'date': voucher.date,
181 # 'tax_id': line_tax.id
182 # }
183# # if company_currency!=current_currency:
184 # # move_line['amount_currency']=line_tax.amount_tax
185 # # move_ids.append(move_line_obj.create(cr ,uid, move_line, context=context))
186 #############################################################################################
187
188#####################no se usa codigo################################################################################################
189# if line_tax.balance_tax + line_tax.amount_tax < line_tax.original_tax and voucher.payment_option=='with_writeoff':
190# context['date']=line.move_line_id.date
191# credit_orig=currency_obj.compute(cr, uid, current_currency,company_currency, float('%.*f' % (2,line_tax.balance_tax)), round=True, context=context)
192# context['date']=voucher.date
193# credit_now=currency_obj.compute(cr, uid, current_currency,company_currency, float('%.*f' % (2,line_tax.amount_tax)), round=False, context=context)
194# amount_diff=abs(credit_orig-credit_now)
195# debit_diff=0.0
196# if voucher.type=='payment':
197# if not credit_orig-credit_now < 0:
198# amount_diff, debit_diff= debit_diff, amount_diff
199# move_line={
200# 'journal_id': voucher.journal_id.id,
201# 'period_id': voucher.period_id.id,
202# 'name': 'change_tax: ' + str(line.name),
203# 'account_id':line_tax.diff_account_id and line_tax.diff_account_id.id or voucher.writeoff_acc_id.id,
204# 'move_id': int(move_id),
205# 'partner_id': voucher.partner_id.id,
206# 'company_id':company_currency,
207# #~ 'currency_id': voucher.journal_id.currency.id,
208# 'currency_id': line.move_line_id and (company_currency <> current_currency and current_currency) or False,
209# 'quantity': 1,
210# 'credit': float('%.*f' % (2,amount_diff)),
211# 'debit': float('%.*f' % (2,debit_diff)),
212# #~ 'analytic_account_id': line.account_analytic_id and line.account_analytic_id.id or False,
213# 'date': voucher.date,
214# 'tax_id': line_tax.id,
215# 'amount_tax_unround':amount_tax_unround,
216# }
217# #move_line_obj.create(cr ,uid, move_line, context=context)
218# else:
219# if credit_orig-credit_now < 0:
220# amount_diff, debit_diff= debit_diff, amount_diff
221# move_line={
222# 'journal_id': voucher.journal_id.id,
223# 'period_id': voucher.period_id.id,
224# 'name': 'change_tax: ' + str(line.name),
225# 'account_id':line_tax.diff_account_id and line_tax.diff_account_id.id or voucher.writeoff_acc_id.id,
226# 'move_id': int(move_id),
227# 'partner_id': voucher.partner_id.id,
228# 'company_id':company_currency,
229# #~ 'currency_id': voucher.journal_id.currency.id,
230# 'currency_id': line.move_line_id and (company_currency <> current_currency and current_currency) or False,
231# 'quantity': 1,
232# 'credit': float('%.*f' % (2,amount_diff)),
233# 'debit': float('%.*f' % (2,debit_diff)),
234# #~ 'analytic_account_id': line.account_analytic_id and line.account_analytic_id.id or False,
235# 'date': voucher.date,
236# 'tax_id': line_tax.id
237# }
238# #move_line_obj.create(cr ,uid, move_line, context=context)
239#####################################################################################################################################
240 if voucher.type in ('sale', 'receipt'):114 if voucher.type in ('sale', 'receipt'):
241 account_tax_voucher=line_tax.tax_id.account_collected_voucher_id.id115 account_tax_voucher=line_tax.tax_id.account_collected_voucher_id.id
242 else:116 else:
243 account_tax_voucher=line_tax.tax_id.account_paid_voucher_id.id117 account_tax_voucher=line_tax.tax_id.account_paid_voucher_id.id
244 account_tax_collected=line_tax.tax_id.account_collected_id.id118 account_tax_collected=line_tax.tax_id.account_collected_id.id
245 119 context['date'] = line.move_line_id.date
246 reference_amount = line_tax.amount_tax120 reference_amount = line_tax.amount_tax
247 move_lines_tax = self._preparate_move_line_tax(cr, uid,121 move_lines_tax = self._preparate_move_line_tax(cr, uid,
248 account_tax_voucher, account_tax_collected,122 account_tax_voucher, account_tax_collected,
@@ -259,57 +133,6 @@
259 move_create = move_line_obj.create(cr ,uid, move_line_tax,133 move_create = move_line_obj.create(cr ,uid, move_line_tax,
260 context=context)134 context=context)
261 move_ids.append(move_create)135 move_ids.append(move_create)
262
263 amount_exchange = self._convert_amount(cr, uid, line.untax_amount or line.amount, voucher.id, context=context)
264 tax_amount_exchange = self._convert_amount(cr, uid, line.amount_original, voucher.id, context=context)
265 base_exchange = self._convert_amount(cr, uid, 2.88, voucher.id, context=context)
266 if line.amount == line.amount_unreconciled:
267 if not line.move_line_id:
268 raise osv.except_osv(_('Wrong voucher line'),_("The invoice you are willing to pay is not valid anymore."))
269 sign = voucher.type in ('payment', 'purchase') and -1 or 1
270 currency_rate_difference = sign * (line.move_line_id.amount_residual - amount_exchange)
271 if round(currency_rate_difference, 2):
272 factor=self.get_percent_pay_vs_invoice(cr ,uid, tax_amount_exchange, currency_rate_difference,context=context)
273 base_amount=self.get_partial_amount_tax_pay(cr, uid, line_tax.tax_id.amount, base_exchange, context=context)
274 move_lines_tax = self._preparate_move_line_tax(cr, uid,
275 account_tax_voucher, account_tax_collected,
276 move_id, voucher.type, voucher.partner_id.id,
277 voucher.period_id.id, voucher.journal_id.id,
278 voucher.date, company_currency,
279 factor * base_amount, None,
280 company_currency,
281 line_tax.id, line_tax.tax_id,
282 line_tax.analytic_account_id and\
283 line_tax.analytic_account_id.id or False,
284 line_tax.amount_base,
285 factor, context=context)
286 for move_line_tax in move_lines_tax:
287 move_create = move_line_obj.create(cr ,uid, move_line_tax,
288 context=context)
289 move_ids.append(move_create)
290
291##commented code section that we are not considering
292##taxes actually paid by cases writeoff
293# if voucher.writeoff_amount > 0:
294 # reference_amount_w = self.get_partial_amount_tax_pay(cr,
295 # uid, voucher.writeoff_amount,
296 # line_tax.original_tax, context=context)
297 # context['writeoff'] = True
298 # move_lines_w = self._preparate_move_line_tax(cr, uid,
299 # account_tax_voucher, voucher.writeoff_acc_id.id,
300 # move_id, voucher.type, voucher.partner_id.id,
301 # voucher.period_id.id, voucher.journal_id.id,
302 # voucher.date, company_currency, reference_amount_w,
303 # None, current_currency,
304 # line_tax.id, line_tax.tax_id.name,
305 # line_tax.analytic_account_id and\
306 # line_tax.analytic_account_id.id or False,
307 # line_tax.amount_base,
308 # factor, context=context)
309 # for move_line_w in move_lines_w:
310 # move_create = move_line_obj.create(cr ,uid, move_line_w,
311 # context=context)
312 # move_ids.append(move_create)
313 return move_ids136 return move_ids
314 137
315 def _preparate_move_line_tax(self, cr, uid, src_account_id, dest_account_id,138 def _preparate_move_line_tax(self, cr, uid, src_account_id, dest_account_id,
@@ -361,7 +184,6 @@
361 'date' : date,184 'date' : date,
362 'tax_voucher_id' : tax_id,185 'tax_voucher_id' : tax_id,
363 }186 }
364
365 if type in ('payment','purchase'):187 if type in ('payment','purchase'):
366 reference_amount < 0 and\188 reference_amount < 0 and\
367 [credit_line_vals.pop('analytic_account_id'),189 [credit_line_vals.pop('analytic_account_id'),