Parser NACHA/ACH

Analizar archivos de pago NACHA/ACH

1
Entendiendo Archivos NACHA ACH
TL;DR

ACH (Automated Clearing House) es la red de pagos electrónicos de EE. UU. que procesa depósitos directos, pagos de facturas y transferencias empresariales — más de 30 mil millones de transacciones al año.

¿Qué es ACH?

La Automated Clearing House (ACH) es la red de transferencia electrónica de fondos que maneja la mayoría de los pagos domésticos de EE. UU. Gobernada por NACHA (National Automated Clearing House Association), ACH procesa depósitos directos, pagos de facturas, transferencias entre empresas, beneficios gubernamentales, devoluciones de impuestos y pagos entre personas en archivos de lotes estandarizados.

A diferencia de las redes de tarjetas que procesan transacciones individuales en tiempo real, ACH opera como un sistema de procesamiento por lotes. Los bancos originadores recopilan transacciones a lo largo del día y las envían como archivos ACH a uno de dos operadores ACH — la Reserva Federal (FedACH) o The Clearing House (EPN) — que luego las distribuyen a los bancos receptores para su registro en las cuentas individuales.

ACH procesa más de 30 mil millones de transacciones al año, convirtiéndola en la columna vertebral del sistema de pagos estadounidense. Desde el depósito directo de tu salario hasta el pago automático de tu hipoteca, ACH está presente en casi todos los aspectos de la vida financiera estadounidense.

Estructura del Archivo

Un archivo ACH sigue una estructura jerárquica estricta con seis tipos de registro, cada uno identificado por un código de tipo de registro de un solo dígito en la posición 1.

NACHA ACH File Structure A vertical tree diagram showing the hierarchical nesting of ACH file records: File Header (1) at the top, containing Batch Header (5), which contains Entry Detail (6), optionally followed by Addenda (7), then Batch Control (8), and File Control (9) at the bottom. 1 File Header Record Immediate Destination | Immediate Origin | File Creation Date | ID Modifier 5 Batch Header Record Company Name | SEC Code (PPD/CCD/WEB) | Effective Date | ODFi ID 6 Entry Detail Record Transaction Code | Routing No | Account No | Amount | Individual Name 7 Addenda Record (Optional) Payment-related info, return reason codes, IAT data 8 Batch Control Record Entry Count | Entry Hash | Total Debit $ | Total Credit $ | Company ID 9 File Control Record Batch Count | Block Count | Entry Count | Entry Hash | Total Debit $ | Total Credit $

Cada archivo ACH tiene exactamente 94 caracteres por línea (sin delimitadores). Los tipos de registro se anidan de la siguiente manera: un Encabezado de Archivo (1) envuelve uno o más Lotes, cada Lote comienza con un Encabezado de Lote (5) y termina con un Control de Lote (8), y cada Lote contiene uno o más registros de Detalle de Entrada (6) con registros de Addenda (7) opcionales. El archivo termina con un registro de Control de Archivo (9).

Códigos SEC

El código de Clase de Entrada Estándar (SEC) en el Encabezado de Lote determina el tipo de transacción ACH y sus requisitos de autorización:

Código SECNombreDescripciónUso Común
PPDPrearranged Payment and DepositTransacciones de consumidores con autorización escritaDepósito directo de nómina, pago recurrente de facturas
CCDCorporate Credit or DebitTransacciones entre empresasPagos a proveedores, concentración de efectivo
WEBInternet-Initiated EntryTransacciones autorizadas por internetPago de facturas en línea, comercio electrónico
TELTelephone-Initiated EntryTransacciones autorizadas por teléfonoPedidos telefónicos, llamadas de cobro
RCKRe-presented Check EntryRepresentación electrónica de cheques devueltosRecuperación de cheques rebotados

ACH vs Transferencia Electrónica vs Cheque

Comprender cuándo usar ACH en comparación con las alternativas es importante para las decisiones de costo y tiempo:

CaracterísticaACHFedwireCheque en Papel
VelocidadMismo día o día siguienteTiempo real (minutos)2-5 días hábiles
Costo$0.20 - $1.50$15 - $30$1 - $5 (impresión/envío)
Monto máximo$1M (mismo día), ilimitado (estándar)IlimitadoIlimitado
RevocabilidadRevocable dentro de ciertos límitesIrrevocableDetenible antes de compensación
Mejor paraRecurrente, alto volumen, menor valorUrgente, alto valor, crítico en tiempoCuando lo electrónico no es una opción

Casos de Uso Comunes

  • Depósito directo de nómina: Los créditos PPD son el estándar para pagos de salario en EE. UU. — utilizados por el 93% de los trabajadores
  • Pagos de facturas: Servicios públicos, seguros y servicios de suscripción utilizan débitos PPD para el pago automático recurrente
  • Pagos entre empresas: Las entradas CCD manejan pagos a proveedores, transferencias intercompañía y concentración de efectivo
  • Desembolsos gubernamentales: Seguro Social, devoluciones de impuestos y pagos de estímulo utilizan ACH para distribución masiva
  • Reembolsos de comercio electrónico: Los créditos WEB devuelven fondos a las cuentas bancarias de los clientes después de devoluciones de compras en línea
  • Transferencias de cuenta a cuenta: Aplicaciones como Venmo y Zelle utilizan ACH para el movimiento subyacente de fondos entre bancos

Prueba estos ejemplos

Entrada PPD válida (Depósito Directo) Válido

Un archivo ACH completo con Encabezado de Archivo (tipo de registro 1), Encabezado de Lote (tipo 5, código SEC PPD para depósito directo de nómina), Detalle de Entrada (tipo 6, código de transacción 22 para crédito en cuenta corriente, número de ruta 091000019, cuenta 1122334455, monto $500.00), Control de Lote (tipo 8 con total hash) y Control de Archivo (tipo 9). La empresa ACME CORP está depositando nómina a John Doe.

101 09100001901234567802403151200A094101ORIGINATOR BANK RECEIVER BANK 5200ACME CORP 0123456780PPDPAYROLL 240315240315 1091000010000001 62209100001911223344556 0000050000123456789 JOHN DOE 0091000010000001 820000000100091000010000000000000000000500000123456780 091000010000001 9000001000001000000010009100001000000000000000000050000
Entrada inválida (Dígito de verificación de número de ruta incorrecto) Inválido

El número de ruta 091000018 tiene un dígito de verificación inválido. El noveno dígito de un número de ruta ABA es una suma de verificación ponderada: (3*0+7*9+1*1+3*0+7*0+1*0+3*0+7*1) mod 10 debería ser 9, no 8. Los operadores ACH rechazan entradas con números de ruta inválidos.

6222091000018112233445560000050000123456789 JOHN DOE 0091000010000001