Parser EDI X12
Analizar documentos EDI X12
EDI X12 es el estandar norteamericano para el intercambio electronico de documentos comerciales — ordenes de compra, facturas y avisos de remesa de pago.
Que es EDI X12?
EDI X12 (Intercambio Electronico de Datos, ANSI ASC X12) es el estandar predominante para el intercambio electronico de documentos comerciales en America del Norte. Desarrollado por el Comite de Estandares Acreditado X12 (originalmente autorizado por ANSI en 1979), define formatos estandarizados para documentos comerciales comunes como ordenes de compra (850), facturas (810), avisos de remesa de pago (820), avisos anticipados de envio (856) y cientos mas.
EDI reemplaza los procesos comerciales basados en papel con mensajes electronicos estructurados que pueden ser procesados automaticamente por sistemas informaticos. En lugar de enviar por correo una orden de compra en papel que debe ser ingresada manualmente en el sistema del proveedor, el sistema ERP del comprador genera un EDI 850 que el sistema del proveedor puede ingerir directamente — eliminando errores de captura de datos, reduciendo el tiempo de procesamiento de dias a minutos y reduciendo costos significativamente.
A pesar del auge de las APIs y las alternativas basadas en XML, EDI X12 sigue profundamente arraigado en la cadena de suministro, la atencion medica, el transporte y los servicios financieros. Los principales minoristas (Walmart, Amazon, Target), los pagadores de atencion medica y las empresas de logistica requieren que sus socios comerciales se comuniquen via EDI.
Estructura del mensaje
Cada intercambio EDI X12 utiliza una estructura de sobre de tres capas — como cajas anidadas — que proporciona enrutamiento, agrupacion y organizacion a nivel de transaccion.
ISA/IEA (Control de Intercambio) es el sobre mas externo. Identifica al emisor y receptor, establece los delimitadores y envuelve uno o mas grupos funcionales. El segmento ISA siempre tiene exactamente 106 caracteres.
GS/GE (Grupo Funcional) agrupa conjuntos de transacciones relacionados. Un solo intercambio puede contener multiples grupos funcionales (por ejemplo, un grupo de facturas y un grupo de ordenes de compra). El GS identifica el tipo funcional (IN = Factura, PO = Orden de Compra).
ST/SE (Conjunto de Transacciones) contiene el documento comercial real. El segmento ST identifica el tipo de conjunto de transacciones (810 para factura, 850 para orden de compra) y asigna un numero de control. El segmento SE cuenta los segmentos y cierra la transaccion.
Conjuntos de transacciones comunes
| Conjunto | Nombre | Direccion | Descripcion |
|---|---|---|---|
| 810 | Factura | Vendedor a Comprador | Facturacion por bienes o servicios entregados |
| 850 | Orden de compra | Comprador a Vendedor | Solicitud de compra de articulos especificos a precios acordados |
| 820 | Orden de pago/Aviso de remesa | Pagador a Beneficiario | Instrucciones de pago con referencias de facturas |
| 856 | Aviso anticipado de envio (ASN) | Vendedor a Comprador | Notificacion de envio con detalles de empaque |
| 997 | Acuse de recibo funcional | Receptor a Emisor | Confirma la recepcion y correccion sintactica |
| 834 | Inscripcion de beneficios | Empleador a Pagador | Inscripcion y cambios en atencion medica |
| 835 | Pago de reclamacion medica | Pagador a Proveedor | Explicacion de beneficios y detalles de pago |
| 837 | Reclamacion medica | Proveedor a Pagador | Presentacion de reclamacion medica |
EDI vs alternativas modernas
| Caracteristica | EDI X12 | API XML/JSON |
|---|---|---|
| Formato | Posicional fijo + delimitado | Marcado jerarquico/objeto |
| Legible por humanos | Dificil | Facil |
| Validacion de esquema | Guias de implementacion | XSD / JSON Schema |
| Transporte | VAN, AS2, SFTP | HTTPS REST/SOAP |
| Adopcion | Universal en cadena de suministro | Creciente, no universal |
| Tiempo real | Tipicamente por lotes | Capacidad en tiempo real |
| Costo | Tarifas VAN por KB | Costos de alojamiento de API |
Casos de uso comunes
- Gestion de cadena de suministro: Ordenes de compra (850), facturas (810) y ASNs (856) automatizan el ciclo de adquisicion a pago entre minoristas y proveedores
- Reclamaciones medicas: 837 (presentacion de reclamacion), 835 (remesa) y 834 (inscripcion) son obligatorios por HIPAA para transacciones de atencion medica en EE.UU.
- Procesamiento de pagos: 820 (orden de pago) y 823 (lockbox) automatizan las instrucciones de pago B2B y la aplicacion de efectivo
- Transporte: 204 (oferta de carga), 214 (estado de envio) y 210 (factura de flete) coordinan la logistica entre expedidores y transportistas
- Cumplimiento minorista: Los principales minoristas requieren EDI para todas las transacciones con proveedores — el incumplimiento resulta en cargos y penalidades
- Reportes financieros: 822 (analisis de cuenta de cliente) y 821 (reporte de informacion financiera) respaldan las operaciones de tesoreria
Prueba estos ejemplos
Una factura EDI X12 810 valida envuelta en el sobre estandar de tres capas: ISA/IEA (intercambio), GS/GE (grupo funcional), ST/SE (conjunto de transacciones). La factura hace referencia a PO-2024-500, se envia a ACME CORPORATION, contiene dos lineas de articulos (100 widgets a $25.00, 50 gadgets a $42.50) y totaliza $4,625.00 (segmento TDS en centavos).
ISA*00* *00* *ZZ*SENDERID *ZZ*RECEIVERID *240315*1200*U*00401*000000001*0*P*>~
GS*IN*SENDERID*RECEIVERID*20240315*1200*1*X*004010~
ST*810*0001~
BIG*20240315*INV-2024-001*20240310*PO-2024-500~
N1*ST*ACME CORPORATION*92*SHIP001~
IT1*1*100*EA*25.00**VP*WIDGET-A~
IT1*2*50*EA*42.50**VP*GADGET-B~
TDS*462500~
SE*8*0001~
GE*1*1~
IEA*1*000000001~ Este intercambio EDI no contiene el segmento GE (Trailer de Grupo Funcional) entre los segmentos SE e IEA. El segmento GE es obligatorio y debe contener el numero de conjuntos de transacciones en el grupo y el numero de control del grupo que coincida con el encabezado GS. Sin el, el sistema receptor no puede validar la integridad del grupo.
ISA*00* *00* *ZZ*SENDERID *ZZ*RECEIVERID *240315*1200*U*00401*000000002*0*P*>~
GS*IN*SENDERID*RECEIVERID*20240315*1200*2*X*004010~
ST*810*0001~
BIG*20240315*INV-2024-002~
TDS*100000~
SE*4*0001~
IEA*1*000000002~