Explicación de ANSI X12: Normas de mensajes y conjuntos de transacciones
El EDI ha sido la espina dorsal de las transacciones B2B desde los años setenta. Sin embargo, muchas empresas siguen teniendo dificultades para traducir las normas EDI de un estándar a otro.
ANSI X12 es uno de los estándares de EDI más utilizados para el intercambio de documentos comerciales, como órdenes de compra, facturas y avisos de envío.
Aunque es sólo una de las muchas normas de EDI, la American National Standards Institute X12 (ANSI X12) es dominante en Norteamérica y se utiliza en todo el mundo1. Es fundamental conocer e integrar ANSI X12 en su sistema EDI.
Aquí explicaremos los conjuntos de transacciones ANSI X12 (T-Sets), la sintaxis y la construcción de mensajes para proporcionarle la información práctica que necesita para navegar por la norma ANSI X12 con confianza.
¿Qué es ANSI X12?
El X12 del Instituto Nacional Estadounidense de Normalización (ANSI), conocido como ANSI X12, es una norma de intercambio electrónico de datos (EDI) introducida por el Comité de Normalización Acreditado (ASC) en 1979. Ofrece un formato estructurado para el intercambio de datos comerciales entre socios comerciales de forma coherente y normalizada.
El principio en el que se basa el formato ANSI X12 es el mismo que el de todas las normas EDI: crear un lenguaje común de códigos y segmentos que pueda representar una amplia gama de transacciones comerciales en diversos sectores. Esto proporciona uniformidad para el intercambio electrónico interindustrial de documentos comerciales con el fin de agilizar las transacciones entre socios comerciales.
Subcomités ANSI X12
Para gestionar la amplia gama de procesos empresariales que abarca la norma ANSI X12, el Comité de Normalización Acreditado creó subcomités para distintos sectores industriales. Estos subcomités definen normas de transacción y estructuras de mensajes específicas, adaptadas a los distintos sectores. Entre ellos se incluyen:
- X12C – Comunicaciones y controles
- X12F - Finanzas
- X12I - Transporte
- X12J - Evaluación técnica
- X12M - Cadena de suministro
- X12N - Seguros
Estos subcomités atienden a las necesidades específicas de los distintos sectores, proporcionando subconjuntos específicos de ANSI X12 para una comunicación más precisa.
Componentes de un mensaje ANSI X12
Un mensaje ANSI X12 es un conjunto estructurado de datos que representa un tipo específico de transacción comercial. Sigue un formato normalizado para garantizar un intercambio de datos coherente entre los socios comerciales. Cada mensaje se construye utilizando una combinación única de códigos, segmentos y conjuntos de transacciones (T-sets), que son conceptos únicos pero que se solapan entre sí.
- Códigos ANSI X12: Son identificadores únicos que representan segmentos T-sets específicos, o elementos de datos en un mensaje.
- Segmentos ANSI X12: Son colecciones de elementos de datos relacionados que representan piezas específicas de información en un conjunto de transacciones. Cada segmento comienza con un ID de segmento único, seguido de los elementos de datos separados por separadores de elementos.
- ANSI X12 T-sets: Se trata de grupos de segmentos de datos relacionados que conforman un documento comercial o transacción en particular. Cada conjunto de transacciones representa un tipo diferente de documento comercial, como una factura o una orden de compra.
En ANSI X12, concretamente, los términos T-set y mensaje suelen utilizarse indistintamente, y ambos se refieren a una colección de datos que representa un único documento o transacción comercial. Sin embargo, los conjuntos T pueden definirse más específicamente como el tipo de transacción comercial que representa el mensaje, mientras que el mensaje es la representación completa de esa transacción comercial.
Lista de códigos ANSI X12
ANSI X12 cuenta con una amplia gama de códigos que se utilizan para designar tipos de mensajes específicos y que es necesario conocer para poder elaborar correctamente un mensaje ANSI X12. Estos códigos ANSI X12 representan conjuntos de transacciones EDI estándar que se utilizan en todos los sectores para el intercambio de documentos comerciales.
Estas normas sobre caracteres garantizan la coherencia y la compatibilidad de los datos entre los sistemas EDI y los socios comerciales.
A continuación se incluye una lista de los conjuntos de transacciones ANSI X12 más utilizados y sus correspondientes funciones comerciales. Cada código ANSI X12 se corresponde con un documento comercial específico, como facturas, órdenes de compra y avisos de envío.
| Código ANSI X12 | Descripción |
| 810 | Factura |
| 820 | Orden de pago |
| 830 | Previsión de entregas |
| 832 | Catálogo de precios/ventas |
| 840 | Solicitud de presupuesto |
| 846 | Consulta de inventario/Asesoramiento |
| 850 | Orden de compra |
| 852 | Datos de actividad del producto |
| 855 | Acuse de recibo de la orden de compra |
| 856 | Aviso de embarque/Manifiesto |
| 860 | Solicitud de cambio de pedido |
| 865 | Confirmación de cambio de pedido |
| 870 | Informe sobre el estado de los pedidos |
| 997 | Reconocimiento funcional |
Cómo se construyen los mensajes ANSI X12
La construcción de un mensaje ANSI X12 implica ensamblar diferentes componentes clave de forma estructurada y jerárquica utilizando una sintaxis específica. Los componentes incluyen elementos de datos, segmentos y conjuntos de transacciones (T-sets), todos ellos encapsulados dentro de sobres que estructuran el mensaje. A continuación, diseccionaremos cada componente e ilustraremos su ensamblaje en un mensaje ANSI X12.
Caracteres utilizables: La lengua
Al igual que cualquier otro idioma, ANSI X12 tiene un conjunto específico de caracteres que pueden utilizarse en los mensajes. Entre ellos se incluyen:
- Caracteres alfabéticos: De la A a la Z (sólo mayúsculas)
- Caracteres numéricos: 0 a 9
- Caracteres especiales: Un conjunto de caracteres especiales, como . , - ( ) / = + : ? ' y espacios
Juntos, proporcionan flexibilidad para comunicar una amplia gama de transacciones e información empresarial.
Elementos de datos: Las unidades fundamentales
Los elementos de datos son las unidades más pequeñas de datos en un mensaje ANSI X12. Representan datos empresariales concretos. Constituyen los componentes básicos de los conjuntos de transacciones ANSI X12 y permiten el intercambio estructurado de datos entre sistemas. Los elementos de datos pueden ser simples o compuestos:
- Elementos de datos simples: Contienen un único dato, similar a una palabra de una frase. Por ejemplo, el precio de un producto o una fecha concreta pueden ser elementos de datos simples.
- Elementos de datos compuestos: Se trata de varios elementos de información relacionados, como una frase formada por palabras relacionadas. Una dirección completa, que incluye el nombre de la calle, la ciudad, el estado y el código postal, es un ejemplo de elemento de datos compuesto.
Hay un ID único para cada elemento de datos, junto con su nombre, descripción, tipo y longitud mínima/máxima. Los elementos de datos siguen formatos o tipos específicos, como decimal, entero, identificador, cadena o fecha/hora. El diccionario de datos también enumera las restricciones o normas del elemento de datos, por ejemplo si es obligatorio u opcional, y si existen valores predefinidos a los que deba atenerse.2
Segmentos: Los componentes básicos
Los segmentos en ANSI X12 son similares a frases que aportan un dato concreto. Los segmentos son un conjunto organizado de elementos de datos relacionados entre sí, y cada uno de ellos comienza con un identificador de segmento. Los segmentos ayudan a organizar los datos en una estructura lógica dentro de los conjuntos de transacciones ANSI X12, lo que permite una interpretación precisa de la información empresarial.
He aquí un ejemplo:
| ID de segmento | Separador de elementos | Dato 1 | Separador de elementos | Dato 2 |
| BEG | * | 00 | * | 082922 |
Este "BEG" (Beginning Segment) indica el inicio de una orden de compra, con "00" denotando un documento original y "082922" representando el número de orden de compra.
Creación de conjuntos de transacciones (T-Set)
Los conjuntos de transacciones (T-sets) son similares a los párrafos, ya que agrupan segmentos relacionados para representar una transacción comercial completa. Cada conjunto de transacciones define cómo se organizan y se transmiten determinadas transacciones comerciales en formato EDI. Cada conjunto de transacciones se identifica mediante un código único de tres dígitos.
Construyamos un ejemplo simplificado de un conjunto de transacciones de órdenes de compra (PO) (identificadas por el código 850 en ANSI X12):
| ID de segmento | Elementos de datos |
| ST | Código identificador del conjunto de transacciones, número de control del conjunto de transacciones |
| BEG | Código de propósito del conjunto de transacciones, número de pedido |
| CUR | Código de moneda |
| REF | Calificador de identificación de referencia, Identificación de referencia |
| DTB | Referencia fecha/hora |
| SE | Número de segmentos incluidos, número de control del conjunto de transacciones |
En este ejemplo, el segmento "ST" inicia el conjunto de transacciones, seguido de segmentos como "BEG" (inicio del pedido), "CUR" (divisa) y "REF" (identificación de referencia). Este conjunto de transacciones termina con el segmento "SE", que incluye el recuento del número total de segmentos del conjunto de transacciones.
Sobres: Agrupación y estructuración
Los sobres son los contenedores de un intercambio ANSI X12 que agrupan datos relacionados y estructuran los conjuntos de transacciones. Definen cómo se organizan, transmiten e interpretan los conjuntos de transacciones dentro de un mensaje ANSI X12. Existen tres tipos de sobres:
- El sobre de control de intercambio (ISA e IEA) encapsula toda la transmisión, incluidos todos los grupos funcionales enviados de un emisor a un receptor.
- El sobre de grupo funcional (GS y GE) agrupa conjuntos de transacciones relacionados. Se pueden utilizar diferentes grupos funcionales para agrupar diferentes tipos de conjuntos de transacciones o para separar conjuntos de transacciones destinados a diferentes departamentos dentro de la organización receptora.
- La envoltura del conjunto de transacciones (ST y SE) encierra un único conjunto de transacciones.
Mensaje completo: La unión hace la fuerza
Pongámoslo todo junto y veamos una representación simplificada de un mensaje completo ANSI X12 para una Orden de Compra (850 Transaction Set):
| Código de segmento | Elemento de datos | Descripción |
| ISA | Intercambiar ID de remitente/receptor, fecha, hora, etc. | Cabecera de control de intercambio (marca el inicio del sobre de intercambio) |
| GS | Código identificador funcional (PO), Código del remitente, Código del destinatario, Fecha, Hora | Cabecera del grupo funcional (marca el inicio del grupo funcional) |
| ST | 850 | Encabezado del conjunto de transacciones (marca el inicio del conjunto de transacciones, 850 representa un Pedido) |
| BEG | 00, 082922 | Inicio del pedido (00 significa original y 082922 es el número de pedido) |
| CUR | USD | Segmento de moneda que indica USD (USD significa dólar estadounidense) |
| REF | AB, 12345 | Segmento de referencia con información adicional del comprador (AB significa número de comprador adicional y 12345 es la identificación de referencia) |
| DTM | 003, 20210910 | Fecha/Hora Referencia que indica la fecha (003 significa Entrega Solicitada, y 20210910 es la fecha) |
| SE | 5, 0001 | Tráiler del conjunto de transacciones (marca el final del conjunto de transacciones y 5 indica el número de segmentos incluidos) |
| GE | 1, 000000001 | Remolque de grupo funcional (marca el final del grupo funcional, y 1 representa el número de conjuntos de transacciones incluidos) |
| AIE | 1, 000000001 | Remolque de control de intercambio (marca el final del sobre de intercambio, y 1 representa el número de grupos funcionales incluidos) |
En un mensaje EDI real, esta información se formularía así:
ISA00 00 ZZSENDERISA ZZRECEIVERISA2012091719U004010000000010P>~
GSPOSENDERCODERECEIVERCODE2012091719000000001X004010~
ST8500001~
BEG00082922~
CURUSD~
REFAB12345~
DTM00320210910~
SE50001~
GE1000000001~
IEA1*000000001~
En este caso, el carácter * es el separador de elementos de datos, y el carácter ~ es el terminador de segmento, siguiendo las convenciones comunes de la sintaxis X12. Su implementación específica podría utilizar caracteres diferentes como separadores o terminadores.
Archivos de transmisión: Grupos de mensajes
Un archivo de transmisión en ANSI X12 se refiere a toda la colección de datos que se envía de un socio comercial a otro en un momento dado. Básicamente, se trata de un lote de documentos comerciales estructurados según la norma ANSI X12. Un archivo de transmisión puede contener un solo mensaje (como una sola factura o pedido), o puede contener muchos mensajes diferentes. La clave es que todos los mensajes se transmiten juntos como una unidad.
Aprovechar la fuerza de un socio EDI
La norma ANSI X12 es un sistema potente y completo. Sin embargo, su dominio requiere mucho tiempo, sobre todo para las pequeñas y medianas empresas que gestionan cadenas de suministro complejas y múltiples normas EDI. El reto de traducir con precisión formatos EDI como EDIFACT o TRADACOMS a ANSI X12, o viceversa, es considerable sin las herramientas o la asistencia adecuadas.
EDI via VAN (Value-Added Network) es una red privada capaz de albergar herramientas como el software de mapeo EDI que automatiza la traducción de mensajes EDI de un estándar a otro. Se trata de una capacidad esencial para cualquier empresa que desee interactuar con flexibilidad con socios de la cadena de suministro que utilicen normas EDI diferentes o múltiples.
En Data Interchange, ofrecemos servicios de EDI flexibles y adaptados a las necesidades de su empresa. Trabajar con un socio de EDI con experiencia ayuda a simplificar la integración, mejorar la precisión de los datos y facilitar operaciones escalables en la cadena de suministro. Aunque, sin duda, es posible convertir manualmente los formatos de los mensajes EDI, nosotros permitimos a las empresas hacerlo con rapidez y a gran escala. Con el socio de EDI adecuado, podrá estar seguro de su capacidad para cumplir con los requisitos de los socios de la cadena de suministro. Póngase en contacto con nosotros para obtener más información.
ANSI X12 es una norma que se utiliza para estructurar e intercambiar documentos comerciales electrónicos, como órdenes de compra, facturas y avisos de envío, entre socios comerciales.
Los conjuntos de transacciones son formatos predefinidos que establecen cómo se estructuran e intercambian en EDI determinados documentos comerciales, como las órdenes de compra (850) o las facturas (810).
ANSI X12 se utiliza principalmente en Norteamérica, mientras que EDIFACT es un estándar internacional de EDI que se emplea en todo el mundo en múltiples sectores.
Los mensajes ANSI X12 se estructuran mediante elementos de datos, segmentos y conjuntos de transacciones, todos ellos organizados en sobres para garantizar un intercambio de datos preciso.
ANSI X12 permite el intercambio normalizado de datos, reduce los errores manuales y mejora la eficiencia en la cadena de suministro y en las transacciones comerciales.
