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()
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