Nacido de una necesidad de información y regulación legal, me llegó un requerimiento de pago de IDE, aunque tenemos las sucursales con el sistema, tenemos alguna deficiencias en el cruce de información, como por ejemplo si realmente se le retuvo IDE al socio o nó, o en que monto se les retuvo.
La necesidad existe, lo que no existe es la apertura de la Autoridad por permitir en un formato Estandar el envio de información.
No he incluido esto en el sistema, ya que no es un procedimiento fácil, primero, hay que conseguir un socket de seguridad que solo lo conoce la autoridad, segundo, hay que programar ese socket y adaptarlo al sistema, esto incluye: hacer pruebas, codificar, conseguir llaves de encriptación, la firma electronica, etc. Nada fácil para quien conoce.
Existe una opcion de "emergencia" que implica ir a las administradoras de grandes contribuyentes con el xml, y al firma electronica... o sea... de todo modo tienes que programar....
Esto no se vería mal si no fuera por que la mayoría de las Caja Solidarias no cuentan con una plataforma informatica capaz de generar dicha información.
Hacerlo, no es tan fácil como decirlo... cuando diseñe el sistema nunca tomé en cuenta la estructura de "casos de uso" y "eventos" que tendría el manejo del IDE; a reserva de lo que me puedan mencionar, los casos de afectación serían los siguientes:
Generado por Depósitos en EFECTIVO.
El limite de exención es de 15,000.00 $MNX.
La tasa que grava es del 3% sobre la base gravable (tautólogo pero así son las leyes).
El impuesto aplica de forma acumulativa y se cobra por exhibición en Cuentas de Depósito a Plazo Fijo (ejemplo las Inversiones y los Pagarés liquidables al Vencimiento[PLRV's] ) y al final de Mes en las Cuentas a la Vista (== dolor de cabeza).
Si la Cuenta de Inversion es menor al EXENTO, este se suma a los depósitos a la vista en el caso que los existiera, acumulando para efectos de calculo; ejemplo
Los cheques de caja generan el impuesto sin deduccion alguna.
Juan Perez invierte 10,000.00 a 30 días, el impuesto es 0 $MXN.
Juan Perez regresa en el mismo mes e invierte 4,000.00 a 14 días, el impuesto es 0 $MXN.
Juan Perez regresa en el mismo mes y deposita en cuenta corriente 6,000.00 el impuesto retenido es de 0.00 $MXN en ese momento.
Juan Perez regresa en el mismo mes e invierte 10,000.00 $MXN a 90 días, el impuesto retenido es de $MXN 450.00.
Juan Perez regresa en el mismo mes y deposita en cuenta corriente $MXN 10,000.00 el impuesto retenido es $MXN 0.00.
Llega el fín de mes, el cierre de cuentas, el sistema debe detectar que se debe retener a Juan Perez la cantidad de $ 300.00 mediante el siguiente desarrollo.
Deposito 1 Cuenta A 10,000.00
Deposito 2 Cuenta B 4,000.00
Deposito 3 Cuenta C 6,000.00
Deposito 4 Cuenta D 10,000.00
Deposito 5 Cuenta C 10.000.00
=========
Total Depositos 40,000.00
Menos: Exención 15,000.00
=========
Igual: Base Gravada 25,000.00
Por: Tasa de Impto. % 3.00
=========
Igual: Impuesto Generado. 750.00
Menos: Impuesto Retenido 450.00
=========
Igual: Impuesto a Retener 300.00Si Juan Perez retira antes de que termine el mes, se generaría un movimiento de IDE por Retener.
Existen otros casos que iré editando en este post conforme vaya yo avanzando, por lo pronto escribiré la clase de generación del XML.
Y seguimos como un checklist en Tareas para el sistema:
- Modificar el cierre del mes para agregar un movimiento "IDE no retenido".
- Generar un recibo de pago Universal, donde se pueda agregar movimiento sin reglas.
- incluyendo fecha y tipo de recibos, este recibo debe considerar agregar poliza de movimientos, no debe estar relacionado con ningun documento, aunque debe validar la existencia del documento.
- Generar a partir de movimiento el reporte del IDE en xml.
Vaya, por lo pronto es lo que me acuerdo.
suerte!!!