def MntNeto(self, val):
     if self.resumen and self.MntIVA == 0:
         tax = {'TasaImp': 19, 'CodImp': 14, 'TpoImp': 1}
         iva = Impuestos(tax)
         impuesto = LineaImpuesto({'tax_id': iva, 'base': val})
         self.impuestos = impuesto
     self._mnt_neto = int(round(val))
 def __init__(self, vals, currency=None, valor_iva=19, NroLinDet=1):
     self._valor_iva = valor_iva
     util.set_from_keys(self, vals, priorizar=['moneda_decimales'])
     if not vals.get('Impuesto'):
         self._impuestos = [Impuestos({})]
     self.uom_id = vals.get('UnmdItem', 'Unid')
     self._compute_price()
 def MntNeto(self, val):
     val = float(val)
     if self.resumen and self.MntIVA == 0:
         tax = {'TasaImp': 19, 'CodImp': 14, 'TpoImp': 1}
         iva = Impuestos(tax)
         impuesto = LineaImpuesto({
             'tax_id': iva,
             'base': val,
             'moneda_decimales': self.moneda_decimales,
         })
         self.impuestos = impuesto
     decimal.getcontext().rounding = decimal.ROUND_HALF_UP
     self._mnt_neto = int(decimal.Decimal(val).to_integral_value())
 def MontoOtroImpNoRec(self, vals):
     tax = {
         'TasaImp': -1,
         'CodImp': -1,
         'no_rec': True,
     }
     no_rec = Impuestos(tax)
     impuesto = LineaImpuesto({
         'tax_id': no_rec,
         'base': 1,
         'MontoImp': vals['MontoOtroImpNoRec'],
     })
     self.impuestos = impuesto
 def Impuesto(self, vals):
     if self.IndExe:
         return False
     if not vals:
         return vals
     self._impuestos = []
     for tax in vals:
         if not tax.get('CodImp') or tax['CodImp'] in [14, 15]:
             tax['TasaImp'] = self._valor_iva
         if not tax.get('CodImp') and tax['TasaImp'] == self._valor_iva:
             tax['CodImp'] = 14
         impuesto = Impuestos(tax)
         self._impuestos.append(impuesto)
     self._compute_price()
Example #6
0
 def TasaImp(self, vals):
     tax = {
             'monto': vals['TasaImp'],
             'sii_code': vals.get('CodImp', 14),
             'sii_type': vals.get('TpoImp', 1),
             'no_rec': True if 'CodIVANoRec' in vals else False,
             'price_include': True,
         }
     iva = Impuestos(tax)
     impuesto = LineaImpuesto({
             'tax_id': iva,
             'base': self.neto,
             'monto': self.monto_impuesto
         })
     self._impuesto = impuesto
 def MntActivoFijo(self, val):
     tax = {
         'TasaImp': val.get('TasaImp', 19),
         'CodImp': val.get('CodImp', 14),
         'TpoImp': val.get('TpoImp', 1),
     }
     iva = Impuestos(tax)
     impuesto = LineaImpuesto({
         'tax_id': iva,
         'base': val,
         'ActivoFijo': True,
     })
     impuesto._compute_tax()
     self.MntIVAActivoFijo = impuesto.MontoImp
     self.impuesto = impuesto
     self.activo_fijo = val
 def ImptoReten(self, vals):
     otros_imp = 0
     for val in vals:
         tax = {
             'TasaImp': val.get('TasaImp', self.TasaImp),
             'CodImp': val.get('TipoImp', 15),
             'Retencion': val.get('Retencion', 0),
         }
         iva = Impuestos(tax)
         impuesto = LineaImpuesto({
             'tax_id': iva,
             'MontoImp': val.get('MontoImpt', 0),
         })
         self.impuestos = impuesto
         otros_imp += impuesto.MntImp
     if not hasattr(self, '_imp_reten'):
         otros_imp = self._aplicar_dsc_rcg(otros_imp)
     self._imp_reten = otros_imp
 def CodOtroImp(self, vals):
     if type(vals) is dict:
         vals = [vals]
     for val in vals:
         tax = {
             'TasaImp':
             val['TasaOtroImp'],
             'CodImp':
             val['CodOtroImp'],
             'no_rec':
             True if val['MontoOtroImpNoRec']
             and val['MontoOtroImpNoRec'] > 0 else False,
             'Retencion':
             val.get('Retencion')
         }
         otroImp = Impuestos(tax)
         impuesto = LineaImpuesto({
             'tax_id': otroImp,
             'base': self.neto,
             'MontoImp': vals.get('MontoOtroImp', 19),
         })
         self.impuestos = impuesto