Skip to main content

HACIENDA MOD 190 DE HOJA EXCEL A 190.TXT

¿Qué es el fichero 190.txt?

La declaración 190 puede importarse con un fichero texto 190.txt que tiene que tener el siguiente formato :

Formato del fichero : https://sede.agenciatributaria.gob.es/static_files/Sede/Disenyo_registro/DR_100_199/archivos_24/DISENOS_LOGICOS_190-2024.pdf

Formato de la naturaleza de los campos https://sede.agenciatributaria.gob.es/Sede/ayuda/consultas-informaticas/presentacion-declaraciones-ayuda-tecnica/errores-importacion-ficheros/frech-fichero-se-rechazo-caracteres-permitidos.html

El fichero tiene el formato  ISO-8859-1 y lo necesitas editar, no hacerlo con el bloc de notas de Windows sino con Notepad++

En esas instrucciones hay tres dos tipos de textosregistros TIPO 1 y TIPO 2 

TextoPartimos tipodel 1fichero Excell

SonPartimos 500del caracteres,fichero excel que tieneshemos conseguido anteriormente

IMPORTANTE tiene que pegartener alese principiomismo orden

2025-01-19 10_57_26-Libro1.xlsm - Excel.png

Una vez que lo tienes haces lo siguiente

  1. Abre el archivo Excel.

  2. Presiona Alt + F11 para abrir el editor de VBA.

  3. En el editor, haz clic en elInsertar fichero> queMódulo.

    vas
  4. a
  5. generar

    Copia eny pega el pasosiguiente siguiente,código:

    tienes
  6. que
modificar

ATENCIÓN, CAMBIA LO SIGUIENTE

  • REGISTRO TIPO 1 línea de código 21

    • Posición 5-8 Numérico EJERCICIO.
    • Posición 136-144 Numérico NÚMERO TOTAL DE PERCEPCIONES. en este caso son 180
    • Posición 145-160 Alfanumérico IMPORTE TOTAL DE LAS PERCEPCIONES. en este caso son 324751,26 sin coma y 2decimales
    • Posición 161-175 Numérico IMPORTE TOTAL DE LAS RETENCIONES en este caso son 48712,68 sin coma y 2decimales
  • Es

    decir lo marcado en negrita 1119011902024Q4400401HCATEDU                                  T638855010QUINTANA PEIRO JOSE JAVIER              0000000000000 1900000000002  0000000000000000000180 000000032475126000000004871268DIRECCION@CATEDU.ES                                                                                                                                                                                                                                                                                                                  

    Texto tipo 2

    Partimos del fichero excel que hemos conseguido anteriormente

    2025-01-19 10_57_26-Libro1.xlsm - Excel.png

    1. Nota

      Abrehe puesto como número identificativo el archivonúmero Excel.

      2, puede ser otro número 1900000000002
  • 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 2332 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
    
        '####### Poner registro tipo 1  ##############################################################
        ' IMPORTANTE CAMBIAR 2024 EL AÑO, CAMBIAR 180 NUMERO PERCEPTORES, CAMBIAR 32451260 SUMA PERCEPTORES Y CAMBIAR 4871268 SUMA RETENCIONES
    
        linea = "11902024Q4400401HCATEDU                                  T638855010QUINTANA PEIRO JOSE JAVIER              0000000000000 1900000000002  0000000000000000000180 000000032475126000000004871268DIRECCION@CATEDU.ES                                                                                                                                                                                                                                                                                                                   "
        ' Escribir la línea al archivo
        Print #archivo, linea
    
        '####### Poner registros tipo 2 ##############################################################
        
        ' 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" 0000000000000")  '81-107  Alfanumérico PERCEPCIONES DINERARIAS (columna E)
                                                                                    '81 SIGNO DE LA PERCEPCIÓN ÍNTEGRA en cualquierotro caso el contenido de este campo será un espacio.
                                                                                    '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" 000000000000000000000000000000000000000"       '108-147  Alfanumérico PERCEPCIONES  EN  ESPECIE 135-145 Parte entera  si  no ceros.
                                                                                       '108 SIGNO DE LA PERCEPCIÓN EN ESPECIE:  en cualquier otro caso el contenido de este campo será un espacio.
                                                                                       '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"0"                                                      '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
    
    1. Ejecuta la macro presionando Alt + F8, seleccionando GenerarModelo190, y haciendo clic en Ejecutar. o en el botón del play de arriba
    2. El archivo se guarda automáticamente en Mis Documentos como 190.modelo_190.txt

    2025-01-21 14_07_09-Documentos - Explorador de archivos.png

    Vas a la Agencia Tributaria a esta ruta

    2025-01-21 14_08_39-Agencia Tributaria_ Modelo 190. Declaración Informativa. Retenciones e ingresos .png

    Con el certificado electrónico rellenas el formulario y pulsa Leer Fichero

    2025-01-21 14_09_14-TGV - Transmisión de Grandes Volúmenes.png

    Te tiene que salir esta pantalla TODO CORRECTO

    2025-01-21 13_21_50-TGV - Transmisión de Grandes Volúmenes.png

    si te sales con el botón recuperar recuperar vuelves a esa pantalla

    2025-01-21 14_09_14-TGV - Transmisión de Grandes Volúmenes.png 

    FIRMAR Y YA ESTA