HACIENDA MOD 190 DE HOJA EXCEL A 190.TXT
La declaración puede importarse con un fichero texto 190.txt que tiene que tener el siguiente formato :
En esas instrucciones hay tres tipos de textos TIPO 1, TIPO 2 Y TIPO 3
Texto tipo 1
Son 500 caracteres, que tienes que pegar al principio en el fichero que vas a generar en el paso siguiente, tienes que modificar
- Posición 5-8 Numérico EJERCICIO.
- Posición 136-144 Numérico NÚMERO TOTAL DE PERCEPCIONES. en este caso son 181
- Posición 145-160 Alfanumérico IMPORTE TOTAL DE LAS PERCEPCIONES. en este caso son 324751,26
- Posición 161-175 Numérico IMPORTE TOTAL DE LAS RETENCIONES en este caso son 48712,68
11902024Q4400401HCATEDU T638855010QUINTANA PEIRO JOSE JAVIER 0000000000000 0000000000000000000181 000000032475126000000004871268direccion@catedu.es
Texto tipo 2
Partimos del fichero excel que hemos conseguido anteriormente
-
Abre el archivo Excel.
-
Presiona Alt + F11 para abrir el editor de VBA.
-
En el editor, haz clic en Insertar > Módulo.
-
Copia y pega el siguiente código:
ATENCIÓN, CAMBIA EL AÑO EN EL SCRIPT la línea 23 linea = "21902024Q4400401H"
Sub GenerarFichero190()
Dim ruta As String
Dim archivo As Integer
Dim ultimaFila As Long
Dim linea As String
Dim i As Long
' Ruta y nombre del archivo de salida
ruta = Application.DefaultFilePath & "\modelo_190.txt" ' Puedes personalizar la ruta
archivo = FreeFile
' Abrir archivo para escritura
Open ruta For Output As archivo
' Determinar la última fila con datos
ultimaFila = Cells(Rows.Count, 1).End(xlUp).Row
' Recorrer las filas y construir el archivo
For i = 2 To ultimaFila ' Asume que la fila 1 tiene encabezados
'1 Numérico TIPO DE REGISTRO.
'2-4 Numérico MODELO DECLARACIÓN.
'5-8 Numérico EJERCICIO.
linea = "21902024Q4400401H" '9-17 Alfanumérico NIF DEL DECLARANTE.
linea = linea & Cells(i, 1).Value '18-26 Alfanumérico NIF DEL PERCEPTOR. (columna A)
linea = linea & " " '27-35 Alfanumérico NIF DEL REPRESENTANTE LEGAL.
linea = linea & Left(Cells(i, 2).Value & Space(40), 40) '36-75 Alfanumérico APELLIDOS Y NOMBRE (COLUMNA B)
linea = linea & Format(Cells(i, 3).Value, "00") '76-77 Numérico CÓDIGO PROVINCIA.(COLUMNA C)
linea = linea & Format(Cells(i, 4).Value, "0") ' 78 Alfabético CLAVE DE PERCEPCIÓN. (columna D)
'79-80 Numérico SUBCLAVE.
linea = linea & Format(Cells(i, 5).Value * 100, "00000000000000") '81-107 Alfanumérico PERCEPCIONES DINERARIAS (columna E)
'82-92 Parte entera del importe
'93-94 Parte decimal del importe
linea = linea & Format(Cells(i, 6).Value * 100, "0000000000000") '95-107 RETENCIONES PRACTICADAS (columna F)
'Campo numérico de 13 posiciones. Se consignará, sin
'signo y sin coma decimal, el importe anual efectivamente retenido a cuenta del IRPF
'relación con las percepciones dinerarias consignadas en el campo anterior,
linea = linea & "0000000000000000000000000000000000000000" '108-147 Alfanumérico PERCEPCIONES EN ESPECIE 135-145 Parte entera si no ceros. 146-147 Parte decimal del importe de los ingresos, si no ceros
linea = linea & "0000" '148-151 Numérico EJERCICIO DEVENGO. En cualquier otro caso Se rellenara a ceros (0).
linea = linea & "0" '152 Numérico CEUTA O MELILLA. En otro caso número cero (0).
'153-254 DATOS ADICIONALES (solo en las claves y subclaves A, B -subclaves 01 y 03-, C, E, F - subclaves 01 a 06-, G -subclaves 01 a 06 y 08-, H, I, y L -subclaves 05, 10, 27 y 29-).
linea = linea & "0000" '153-156 Numérico AÑO DE NACIMIENTO.
linea = linea & "3" '157 Numérico SITUACIÓN FAMILIAR.3. Si la situación familiar del perceptor es distinta de las anteriores
linea = linea & " " '158-166 Alfanumérico NIF DEL CÓNYUGE / NIF DEL TITULAR DE LA UNIDAD DE CONVIVENCIA. En cualquier otro caso este campo se rellenará a espacios.
linea = linea & "0" '167 Numérico DISCAPACIDAD. 0. Si el perceptor no padece ninguna discapacidad
linea = linea & "0" '168 Numérico CONTRATO O RELACIÓN Solo para percepciones correspondientes a la clave A.
linea = linea & "0" '169 Numérico TITULAR UNIDAD DE CONVIVENCIA
linea = linea & "0" '170 Numérico MOVILIDAD GEOGRÁFICA. Solo para percepciones correspondientes a la clave A
linea = linea & "00000000000000000" '171-183 Numérico REDUCCIONES APLICABLES.
linea = linea & "000000000000000" '184-196 Numérico GASTOS DEDUCIBLES.
linea = linea & "00000000000000000" '197-209 Numérico PENSIONES COMPENSATORIAS.
linea = linea & "00000000000000" '210-222 Numérico ANUALIDADES POR ALIMENTOS.
linea = linea & "0000" '223-228 Numérico HIJOS Y OTROS DESCENDIENTES.
linea = linea & "0000" '229-240 Numérico HIJOS Y OTROS DESCENDIENTES CON DISCAPACIDAD.
linea = linea & "0000" '241-244 Numérico ASCENDIENTES.
linea = linea & "0000" '245-250 Numérico ASCENDIENTES CON DISCAPACIDAD.
linea = linea & "0000" '251-253 Numérico CÓMPUTO DE LOS 3 PRIMEROS HIJOS.
linea = linea & "0" '254 Numérico COMUNICACIÓN PRÉSTAMOS VIVIENDA HABITUAL.0: Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.
'255-281 Alfanumérico PERCEPCIONES DINERARIAS DERIVADAS DE INCAPACIDAD LABORAL sino ceros
linea = linea & " " '255 En este caso se consignará una «N», en cualquier otro caso el contenido de este campo será un espacio.
linea = linea & "00000000000000000000000000" '256-268 PERCEPCIÓN ÍNTEGRA (Dineraria)DERIVADA DE INCAPACIDAD LABORAL
'282-321 Alfanumérico PERCEPCIONES EN ESPECIE DERIVADAS DE INCAPACIDAD LABORAL:
linea = linea & " " '282 En este caso se consignará una «N», en cualquier otro caso el contenido de este campo será un espacio.
linea = linea & "0000000000000" '283-295 PERCEPCIÓN ÍNTEGRA (Dineraria)DERIVADA DE INCAPACIDAD LABORAL
linea = linea & "0000000000000" '296-308 INGRESOS A CUENTA EFECTUADOS POR PRESTACIONES EN ESPECIE DERIVADAS DE INCAPACIDAD LABORAL:
linea = linea & "0000000000000" '309-321 INGRESOS A CUENTA REPERCUTIDOS POR PRESTACIONES EN ESPECIE DERIVADAS DE INCAPACIDAD LABORAL:
linea = linea & "0" '322 Numérico COMPLEMENTO AYUDA PARA LA INFANCIA
linea = linea & "00000000000000000000000000000000000000000000000000000000000000000" '323-387 NuméricoRETENCIONES E INGRESOS A CUENTAINGRESADOS EN EL ESTADO, EN LASDIPUTACIONES FORALES DEL PAIS VASCO YEN LA COMUNIDAD FORAL DE NAVARRA
linea = linea & "0" '388 Numérico EXCESOS ENTREGA ACCIONES EMPRESAS EMERGENTES
linea = linea & Space(111) '389-500 –BLANCOS.
linea = linea & " " ' he puesto un espacio en blanco tiene que coincidir en la 500
' Escribir la línea al archivo
Print #archivo, linea
Next i
' Cerrar el archivo
Close archivo
' Mensaje de confirmación
MsgBox "Archivo generado correctamente en: " & ruta, vbInformation
End Sub
- Ejecuta la macro presionando Alt + F8, seleccionando GenerarModelo190, y haciendo clic en Ejecutar. o en el botón del play de arriba
- El archivo se guarda automáticamente en Mis Documentos como 190.txt