de LinuxmanR4, 2 años han pasado desde su publicación, escrito en Visual Basic.
Insertar vínculo
  1. REM  *****  BASIC  *****
  2.  
  3. Function ISPT_Anual_2014(ByVal PercepcionesGravables As Double) As Double
  4.  
  5. '*****************************************************************************************************
  6. ' FUNCION PARA CALCULAR EL ISPT ANUAL
  7. ' Copyright (C) 2012 Francisco Javier de la Torre '
  8. ' Este código es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la
  9. ' Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la
  10. ' versión 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.
  11. ' Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso
  12. ' sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR.
  13. ' Véase la Licencia Pública General de GNU para más detalles.
  14. ' Debería haber recibido una copia de la Licencia Pública General junto con este programa. Si no ha
  15. ' sido así, escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU.
  16. '
  17. ' Francisco Javier de la Torre.
  18. ' http://linuxmanr4.com
  19. ' inguanzo@gmail.com
  20. '
  21. ' Actualización para el año 2014.
  22. ' Actualizacion y Correcciones para el 2012 gracias a Glezco21 y GRR.
  23. '
  24. '*****************************************************************************************************
  25.     Dim ISPT_anual(11, 2) As Double
  26.     Dim SUBSIDIO_AL_EMPLEO_ANUAL(11, 1) As Double
  27.     Dim ISPT_LimiteInferior As Double
  28.     Dim CuotaFija As Double
  29.     Dim PorcentajeSobreExcedente As Double
  30.     Dim i As Integer
  31.     Dim ISPT As Double
  32.  
  33.     'Definición de las tablas iniciales
  34.    
  35.     'ISPT ANUAL
  36.     '==============================
  37.     'Limite inferior
  38.    
  39.     ISPT_anual(0, 0) = 0.01
  40.     ISPT_anual(1, 0) = 5952.85
  41.     ISPT_anual(2, 0) = 50524.93
  42.     ISPT_anual(3, 0) = 88793.05
  43.     ISPT_anual(4, 0) = 103218.01
  44.     ISPT_anual(5, 0) = 123580.21
  45.     ISPT_anual(6, 0) = 249243.49
  46.     ISPT_anual(7, 0) = 392841.97
  47.     ISPT_anual(8, 0) = 750000.01
  48.     ISPT_anual(9, 0) = 1000000.01
  49.     ISPT_anual(10, 0) = 3000000.01
  50.     ISPT_anual(11, 0) = 999999999   'Limite superior muy alto
  51.    
  52.     'Cuota fija
  53.     ISPT_anual(0, 1) = 0
  54.     ISPT_anual(1, 1) = 114.29
  55.     ISPT_anual(2, 1) = 2966.91
  56.     ISPT_anual(3, 1) = 7130.48
  57.     ISPT_anual(4, 1) = 9438.47
  58.     ISPT_anual(5, 1) = 13087.37
  59.     ISPT_anual(6, 1) = 39929.05
  60.     ISPT_anual(7, 1) = 73703.41
  61.     ISPT_anual(8, 1) = 180850.82
  62.     ISPT_anual(9, 1) = 260850.81
  63.     ISPT_anual(10, 1) = 940850.81
  64.     ISPT_anual(11, 1) = 0
  65.    
  66.     'Porcentaje sobre excedente
  67.     ISPT_anual(0, 2) = 0.0192
  68.     ISPT_anual(1, 2) = 0.064
  69.     ISPT_anual(2, 2) = 0.1088
  70.     ISPT_anual(3, 2) = 0.16
  71.     ISPT_anual(4, 2) = 0.1792
  72.     ISPT_anual(5, 2) = 0.2136
  73.     ISPT_anual(6, 2) = 0.2352
  74.     ISPT_anual(7, 2) = 0.3
  75.     ISPT_anual(8, 2) = 0.32
  76.     ISPT_anual(9, 2) = 0.34
  77.     ISPT_anual(10, 2) = 0.35
  78.     ISPT_anual(11, 2) = 0
  79.    
  80.     'Iniciamos el cálculo del ISPT anual.
  81.    
  82.     CuotaFija = 0: PorcentajeSobreExcedente = 0
  83.     'Buscamos un valor apropiado en la tabla del ISPT Anual
  84.     i = 0
  85.     Do
  86.         If ISPT_anual(i, 0) > PercepcionesGravables Then
  87.             ISPT_LimiteInferior = ISPT_anual(i - 1, 0)
  88.             CuotaFija = ISPT_anual(i - 1, 1)
  89.             PorcentajeSobreExcedente = ISPT_anual(i - 1, 2)
  90.             Exit Do
  91.         Else
  92.             i = i + 1
  93.         End If
  94.     Loop Until i = 12
  95.    
  96.     'Ya tenemos los valores de Cuota Fija y Porcentaje sobre excedente, procedemos a calcular el ISPT Anual
  97.    
  98.     ISPT = CuotaFija + ((PercepcionesGravables - ISPT_LimiteInferior) * PorcentajeSobreExcedente)
  99.    
  100.     ISPT_Anual_2014 = Format(ISPT,"000000000000000.00")
  101.    
  102. End Function