impar utiliza el concepto de contextos de fechas (DateContext) para separar implementaciones diferentes de los impuestos. Esto se debe a que los impuestos pueden calcularse de manera diferente dependiendo la fecha que se realizan.
Por ejemplo si quiere calcularse el impuesto a las ganancias al 29 de diciembre del 2013:
>>> import datetime
>>> import impar
>>> ctx = impar.DateContext(datetime.date(2013, 12, 29))
>>> ganancias = ctx.get("ganancias")
>>> ganancias.ganancias(20000, ganancias.CAT_EMPRESA)
700.0
Si por otro lado se quiere calcular la ganancia a fecha actual:
>>> import impar
>>> ctx = impar.DateContext()
>>> ganancias = ctx.get("ganancias")
>>> ganancias.ganancias(20000, ganancias.CAT_EMPRESA)
700.0
No hubo cambios en el impuesto por eso los valores y parametros son iguales.
Notas:
- El contexto se determina como la implementacion inmediatemente anterior o a la fecha del impuesto dado (puede verificar la fecha de implementacion del calculo con ctc.date_of("ganancias").
- No todos los impuestos estan disponibles para todas las fechas.