Ejemplo n.º 1
0
 def set_impuesto(val, base=0, cantidad=0):
     imp = False
     if not isinstance(val, LineaImpuesto):
         imp = self._impuestos.get(str(val.CodImp), False)
     if not imp:
         if isinstance(val, LineaImpuesto):
             imp = val
         else:
             imp = LineaImpuesto({
                 'tax_id':
                 val,
                 'base':
                 0,
                 'MontoImp':
                 0,
                 'moneda_decimales':
                 self.moneda_decimales,
             })
             if val.especifico:
                 imp.cantidad = cantidad
     imp.base += base
     imp._compute_tax()
     if imp.tax_id.es_retencion:
         self._imp_reten = True
     self._impuestos[str(imp.tax_id.CodImp)] = imp
Ejemplo n.º 2
0
 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))
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 def set_impuesto(val, base=0):
     imp = False
     if not isinstance(val, LineaImpuesto):
         imp = self._impuestos.get(str(val.CodImp), False)
     if not imp:
         if isinstance(val, LineaImpuesto):
             imp = val
         else:
             imp = LineaImpuesto({
                 'tax_id': val,
                 'base': 0,
                 'MontoImp': 0,
             })
     imp.base += base
     imp._compute_tax()
     if imp.tax_id.es_retencion:
         self._imp_reten = True
     self._impuestos[str(imp.tax_id.CodImp)] = imp
Ejemplo n.º 5
0
 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())
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
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
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
 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