El Contribuyente
Síguenos
empty

Carga masiva DIOT 2025: guía completa para importar datos al SAT



2 marzo, 2026

Cómo hacer carga masiva DIOT en 2025: tutorial completo con especificaciones técnicas, ejemplos de archivo .txt y catálogo de códigos de países.

Con la presentación de la nueva Declaración Informativa de Operaciones con Terceros (DIOT), el SAT permite realizar carga masiva de información en lugar de capturar dato por dato. Este proceso es similar al que existía en la versión de escritorio de la DIOT, pero incluye nuevos campos de datos que debes conocer.

La carga masiva es más rápida y reduce errores de captura manual. Pero requiere seguir especificaciones técnicas exactas: archivo en formato .txt, codificación UTF-8, separación de columnas con pipe (|), y campos con requisitos específicos según tipo de tercero.

Esta guía proporciona instrucciones completas para crear archivos de carga masiva en formato .txt, requeridos para la DIOT a partir de enero de 2025.

Objetivo de la carga masiva DIOT

El objetivo es permitir la importación masiva de información que se reporta en la Declaración Informativa de Operaciones con Terceros. En lugar de ingresar cada operación manualmente en la plataforma del SAT, creas un archivo .txt con todos los datos estructurados y lo importas de una sola vez.

Esto es especialmente útil para empresas con cientos o miles de operaciones mensuales con proveedores y clientes.

Condiciones generales para el archivo de carga masiva

Para crear el archivo .txt de carga masiva, debes seguir estas condiciones técnicas exactas:

Editor de texto: Se recomienda usar Bloc de Notas o cualquier editor de texto plano similar. No uses Word o Excel directamente, ya que pueden añadir caracteres ocultos.

Delimitador de columnas: El archivo está dividido en columnas delimitadas por el carácter pipe (|). Este es el separador que usa el SAT para diferenciar un campo de otro. No uses comas ni otro carácter.

Codificación obligatoria UTF-8: Este es el aspecto más crítico. Si no codificas el archivo en UTF-8, el SAT rechazará la carga. Para cambiar la codificación en Bloc de Notas:

  • Abre Bloc de Notas (o double-click para crear/editar el archivo)
  • Haz clic en “Archivo” → “Guardar como”
  • En la lista desplegable “Codificación”, selecciona UTF-8
  • Guarda el archivo con extensión .txt

Si guardas con la codificación ANSI (por defecto), el SAT no aceptará el archivo. Esto es un error común que causa rechazos en la carga.

Estructura de campos para la DIOT 2025

El archivo .txt debe contener información específica en un orden exacto. Los campos varían según el tipo de tercero (nacional, extranjero o global) y el tipo de operación. Todos los datos se separan por el pipe (|).

Debes ingresar la información considerando:

  • El tipo de dato (numérico, alfanumérico, etc.)
  • Si es obligatorio u opcional
  • Si el campo debe quedar vacío en ciertos casos

Datos del tercero declarado

Estos son los primeros campos de cada línea del archivo. Identifican quién es el proveedor o cliente que estás reportando.

Campo Tipo de dato Obligatorio u Opcional Especificaciones
Tipo de tercero Numérico 2 posiciones Obligatorio Es el tipo de proveedor a reportar: 04 Proveedor Nacional, 05 Proveedor Extranjero, 15 Proveedor Global
Tipo de operación Numérico 2 posiciones Obligatorio Proveedor Nacional: 02 Enajenación de bienes, 03 Prestación de Servicios Profesionales, 06 Uso o goce temporal de bienes, 08 Importación por transferencia virtual, 85 Otros. Proveedor Extranjero: 02 Enajenación de bienes, 03 Prestación de Servicios Profesionales, 07 Importación de bienes o servicios. Proveedor Global: 87 Operaciones globales
Registro Federal de Contribuyentes (RFC) Alfanumérico 12 a 13 posiciones, caracteres alfabéticos en mayúsculas Obligatorio para nacional y global. Opcional para extranjero Debe corresponder a una clave emitida por el SAT. Para proveedor global se usa XAXX010101000. Para extranjero el campo se queda vacío
Número de identificación fiscal Alfanumérico máximo 40 posiciones Obligatorio para tercero extranjero Acepta caracteres especiales y valores [a-z incluso ñ y &]. Para nacional y global el campo se queda vacío
Nombre del extranjero Alfanumérico máximo 300 posiciones Obligatorio para tercero extranjero Acepta caracteres especiales y valores [a-z incluso ñ y &]. Para nacional y global el campo se queda vacío
País o jurisdicción de residencia fiscal Alfabético 2 posiciones Obligatorio para tercero extranjero Usa el catálogo de países (incluido al final). Para nacional y global el campo se queda vacío
Especificar lugar de jurisdicción fiscal Alfanumérico máximo 300 posiciones Obligatorio condicionado Obligatorio solo si País = ZZZ (Otro). Si País ≠ ZZZ, el campo se queda vacío. Para nacional y global se queda vacío

Valor de los actos o actividades

Estos campos reportan el monto de las operaciones realizadas con el tercero. Son todos opcionales pero aceptan ceros. No permiten decimales.

Campo Tipo de dato Especificaciones
Valor total de actos o actividades pagadas / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Devoluciones, descuentos y bonificaciones / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Valor total de actos o actividades pagadas / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Devoluciones, descuentos y bonificaciones / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Valor total de actos o actividades pagadas / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Devoluciones, descuentos y bonificaciones / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Valor total / Importación por aduana de bienes tangibles a 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Devoluciones / Importación por aduana de bienes tangibles a 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Valor total / Importación de bienes intangibles y servicios a 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
Devoluciones / Importación de bienes intangibles y servicios a 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero

IVA acreditable

Estos campos reportan el IVA que la empresa puede descontar (acreditar) en su declaración mensual de IVA. Los datos varían según el tipo de actividad y región. Todos son opcionales.

Campo Tipo de dato Especificaciones
IVA Exclusivamente de actividades gravadas / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA Exclusivamente de actividades gravadas / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA Exclusivamente de actividades gravadas / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA Exclusivamente de actividades gravadas / Importación por aduana bienes tangibles 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA Exclusivamente de actividades gravadas / Importación bienes intangibles y servicios 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De actividades gravadas y exentas / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De actividades gravadas y exentas / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De actividades gravadas y exentas / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De actividades gravadas y exentas / Importación por aduana bienes tangibles 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De actividades gravadas y exentas / Importación bienes intangibles y servicios 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De servicios de transporte / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De servicios de transporte / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De servicios de transporte / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De servicios de transporte / Importación por aduana bienes tangibles 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De servicios de transporte / Importación bienes intangibles y servicios 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De arrendamientos financieros / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De arrendamientos financieros / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De arrendamientos financieros / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De arrendamientos financieros / Importación por aduana bienes tangibles 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA De arrendamientos financieros / Importación bienes intangibles y servicios 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero

IVA no acreditable

Estos campos reportan el IVA que la empresa NO puede descontar. Corresponde a compras por conceptos no deducibles fiscalmente. También son todos opcionales.

Campo Tipo de dato Especificaciones
IVA No acreditable / Región fronteriza norte Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA No acreditable / Región fronteriza sur Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA No acreditable / Tasa 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA No acreditable / Importación por aduana bienes tangibles 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero
IVA No acreditable / Importación bienes intangibles y servicios 16% IVA Numérico máximo 14 posiciones Opcional. No permite decimales. Acepta cero

Datos adicionales

Estos campos complementan la información de la operación con el tercero. Son opcionales.

Campo Tipo de dato Especificaciones
Clave de producto o servicio Alfanumérico máximo 8 posiciones Opcional. Identifica el catálogo de productos/servicios del SAT
Clave de unidad de medida Alfanumérico máximo 3 posiciones Opcional. Ejemplo: pza (pieza), kg (kilogramo), hr (hora)
Cantidad de unidades Numérico máximo 14 posiciones Opcional. Número de unidades suministradas
Descripción comercial o técnica del bien o servicio Alfanumérico máximo 300 posiciones Opcional. Descripción libre del producto/servicio. Acepta caracteres especiales
Folio de CFDI correlativo Alfanumérico máximo 40 posiciones Opcional. Si aplica, referencia al CFDI relacionado

Ejemplo de archivo .txt completo

Un archivo de carga masiva DIOT se ve así. Cada línea representa una operación con un tercero. Los campos se separan por pipe (|):

04|02|ABC123456XYZ|||||10000|0|0|0|0|0|0|0|0|0|1600|0|0|1600|1600|0|1600|0|0|1600|0|1600||||
04|03|DEF654321XYZ|||||5000|0|0|0|0|0|0|0|0|0|800|0|0|800|800|0|800|0|0|800|0|800||||
05|02||ABC987654321|Proveedor Internacional S.A.|MX|||||50000|0|0|0|0|0|0|0|0|0|8000|0|0|8000|8000|0|8000|0|0|8000|0|8000||||

Explicación línea por línea:

Línea 1: Proveedor Nacional (04) | Enajenación de bienes (02) | RFC ABC123456XYZ | Operación de 10,000 con IVA de 1,600

Línea 2: Proveedor Nacional (04) | Prestación de Servicios (03) | RFC DEF654321XYZ | Operación de 5,000 con IVA de 800

Línea 3: Proveedor Extranjero (05) | Enajenación de bienes (02) | Sin RFC | ID ABC987654321 | Nombre “Proveedor Internacional S.A.” | País México (MX) | Operación de 50,000 con IVA de 8,000

Catálogo de países para terceros extranjeros

Para proveedores extranjeros, debes incluir el código del país. Aquí están todos los códigos reconocidos por el SAT:

Ver catálogo completo de 195+ países
Código País Código País
ABW Aruba AFG Afganistán
ALB Albania DZA Argelia
AND Andorra AGO Angola
AIA Anguila ATG Antigua y Barbuda
ARE Emiratos Árabes Unidos ARG Argentina
AZE Azerbaiyán BHS Bahamas
BHR Bahréin BGD Bangladesh
BRB Barbados BLZ Belice
BEL Bélgica BEN Benín
BMU Bermudas BTN Bután
BOL Bolivia BIH Bosnia y Herzegovina
BWA Botsuana BRA Brasil
BRN Brunéi BGR Bulgaria
BFA Burkina Faso BDI Burundi
KHM Camboya CMR Camerún
CAN Canadá CPV Cabo Verde
QAT Catar KAZ Kazajistán
KEN Kenia KGZ Kirguistán
KIR Kiribati CHN China
CYP Chipre CIV Costa de Marfil
CRI Costa Rica HRV Croacia
CUB Cuba CUW Curazao
DNK Dinamarca DJI Yibuti
DMA Dominica ECU Ecuador
EGY Egipto SLV El Salvador
ALA Islas Åland GBR Reino Unido
USA Estados Unidos EST Estonia
ETH Etiopía FJI Fiyi
PHL Filipinas FIN Finlandia
FRA Francia GAB Gabón
GMB Gambia GEO Georgia
DEU Alemania GHA Ghana
GIB Gibraltar GRD Granada
GRC Grecia GRL Groenlandia
GLP Guadalupe GUM Guam
GTM Guatemala GGY Guernsey
GIN Guinea GNB Guinea-Bisáu
GNQ Guinea Ecuatorial GUY Guyana
HTI Haití HND Honduras
HKG Hong Kong HUN Hungría
IND India IDN Indonesia
IRN Irán IRQ Irak
IRL Irlanda IMN Isla de Man
ISL Islandia BVT Isla Bouvet
KYM Islas Caimán CXR Isla de Navidad
CCK Islas Cocos (Keeling) COK Islas Cook
FRO Islas Feroe SGS Georgia del Sur e Islas Sandwich del Sur
HMD Islas Heard y McDonald MNP Islas Marianas del Norte
VGB Islas Vírgenes Británicas VIR Islas Vírgenes de los EE.UU.
ISR Israel ITA Italia
JAM Jamaica JPN Japón
JEY Jersey JOR Jordania
LAO Laos LSO Lesoto
LVA Letonia LBN Líbano
LBR Liberia LBY Libia
LIE Liechtenstein LTU Lituania
LUX Luxemburgo MAC Macao
MYS Malasia MDV Maldivas
MLI Malí MLT Malta
MAR Marruecos MRT Mauritania
MUS Mauricio MYT Mayotte
MEX México FSM Micronesia
MDA Moldavia MCO Mónaco
MNG Mongolia MNE Montenegro
MSR Montserrat MOZ Mozambique
NAM Namibia NRU Nauru
NPL Nepal NIC Nicaragua
NER Níger NGA Nigeria
NIU Niue NOR Noruega
NCL Nueva Caledonia NZL Nueva Zelanda
OMN Omán NLD Países Bajos
PAK Pakistán PLW Palaos
PSE Palestina PAN Panamá
PNG Papúa Nueva Guinea PRY Paraguay
PER Perú PYF Polinesia Francesa
POL Polonia PRT Portugal
PRI Puerto Rico GBR Reino Unido
CAF República Centroafricana CZE República Checa
COG Congo COD República Democrática del Congo
DOM República Dominicana REU Reunión
RWA Ruanda ROU Rumania
RUS Rusia ESH Sahara Occidental
WSM Samoa ASM Samoa Americana
BLM San Bartolomé KNA San Cristóbal y Nieves
SMR San Marino MAF San Martín
SPM San Pedro y Miquelón VCT San Vicente y las Granadinas
SHN Santa Helena LCA Santa Lucía
STP Santo Tomé y Príncipe SEN Senegal
SRB Serbia SYC Seychelles
SLE Sierra Leona SGP Singapur
SXM Sint Maarten SYR Siria
SOM Somalia LKA Sri Lanka
SWZ Suazilandia ZAF Sudáfrica
SDN Sudán SSD Sudán del Sur
SWE Suecia CHE Suiza
SUR Surinam SJM Svalbard y Jan Mayen
THA Tailandia TWN Taiwán
TZA Tanzania TJK Tayikistán
IOT Territorio Británico del Océano Índico ATF Territorios Australes Franceses
TLS Timor-Leste TGO Togo
TKL Tokelau TON Tonga
TTO Trinidad y Tobago TUN Túnez
TKM Turkmenistán TUR Turquía
TUV Tuvalu UKR Ucrania
UGA Uganda URY Uruguay
UZB Uzbekistán VUT Vanuatu
VAT Santa Sede VEN Venezuela
VNM Vietnam WLF Wallis y Futuna
YEM Yemen ZMB Zambia
ZWE Zimbabue ZZZ Otro

Cómo validar y cargar tu archivo .txt en el SAT

Una vez que tienes tu archivo .txt correctamente estructurado y codificado en UTF-8, el siguiente paso es cargarlo en el portal del SAT:

Paso 1: Accede al portal del SAT (www.sat.gob.mx) con tu e.firma.

Paso 2: Dirígete a la sección de DIOT (Declaración Informativa de Operaciones con Terceros).

Paso 3: Selecciona la opción “Carga masiva” o “Importar archivo”.

Paso 4: Sube tu archivo .txt.

Paso 5: El SAT valida automáticamente que el archivo cumpla con las especificaciones. Si hay errores, te indicará cuál es el problema (formato incorrecto, campos obligatorios faltantes, códigos inválidos, etc.).

Paso 6: Si todo es correcto, el archivo se importa y los datos aparecen en tu DIOT.

Los errores más comunes en carga masiva incluyen: codificación incorrecta (ANSI en lugar de UTF-8), delimitadores mal colocados, RFC inválidos, tipos de tercero no reconocidos, o montos que incluyen decimales cuando no se permiten.

El archivo .txt debe estar bien estructurado desde el inicio. Una sola coma fuera de lugar, o un carácter UTF-8 incorrecto, causará rechazo de toda la carga.

Por eso, si tienes empresas con muchas operaciones mensuales, es recomendable usar software de contabilidad que exporte directamente en formato DIOT-compatible, o consultar con tu contador para asegurar que el archivo cumpla todas las especificaciones antes de cargar.





Suscríbete a El Fiscoanalista (novedades y jurisprudencias en materia fiscal y laboral) y a nuestro canal de YouTube.



Te puede interesar

Carga masiva DIOT 2025: guía completa para importar datos al SAT

El SAT lanza tutoriales para facilitar el cumplimiento de declaraciones 2022

Declaración REFIP: quién está obligado a presentarla en febrero ante el SAT

Calendario fiscal 2026: las fechas que no puedes olvidar para estar al día con el SAT

El pago de los gastos de un juicio mercantil por indemnización está exento del ISR

Publica SAT tasas efectivas de ISR