콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
I have an invoice with 1 line, and two taxes. I need the price to change according to the selected tax.
example:
price:500, Quantity:1
tax1: (price * 0.084)* %tax1
tax2: (price * 1) * %Tax2
Being a single line, the price is the same for both taxes. 
The error is that it always takes the same price for the calculation of the two taxes. despite the filter. (if xx.code [10])
code:
    @api.multi

def get_taxes_values(self):#para calcular el valor de los impuestos.
tax_grouped = {}
for line in self.invoice_line_ids:
if len(line.invoice_line_tax_ids)==2:
for line_tax in line.invoice_line_tax_ids:
taxes={}
taxesisc={}
if line_tax.tipo_afectacion_igv.code in ["10"]:
price_unit = line.price_unit * (1 - (line.discount or 0.0) / 100.0)-line.descuento_unitario
taxes=line.invoice_line_tax_ids.compute_all(price_unit, self.currency_id, line.quantity, line.product_id, self.partner_id)['taxes']
for tax in taxes:
if line_tax.tipo_afectacion_igv.code in ["10"]:
val = self._prepare_tax_line_vals(line, tax)
key = self.env['account.tax'].browse(tax['id']).get_grouping_key(val) if key not in tax_grouped:
tax_grouped[key] = val
else: tax_grouped[key]['amount'] = val['amount']
tax_grouped[key]['base'] = val['base'] elif line_tax.tipo_afectacion_igv.code in ["99"]:
price_unitisc = line.price_unit*0.847 * (1 - (line.discount or 0.0) / 100.0)-line.descuento_unitario
taxesisc=line.invoice_line_tax_ids.compute_all(price_unitisc, self.currency_id, line.quantity, line.product_id, self.partner_id)['taxes']
for taxisc in taxesisc:
if line_tax.tipo_afectacion_igv.code in ["99"]:
val1 = self._prepare_tax_line_vals(line, taxisc)
key = self.env['account.tax'].browse(taxisc['id']).get_grouping_key(val1)
if key not in tax_grouped:
tax_grouped[key] = val1
else:
tax_grouped[key]['amount'] = val1['amount']
tax_grouped[key]['base'] = val1['base'] return tax_grouped
아바타
취소
관련 게시물 답글 화면 활동
4
4월 25
80153
1
10월 22
8521
1
12월 18
4748
2
5월 24
3002
2
1월 23
4494