Parser NACHA/ACH

Parser les fichiers de paiement NACHA/ACH

1
Comprendre Les fichiers NACHA ACH
TL;DR

ACH (Automated Clearing House) est le reseau de paiement electronique americain traitant les depots directs, les paiements de factures et les virements entre entreprises — plus de 30 milliards de transactions par an.

Qu’est-ce que l’ACH ?

L’Automated Clearing House (ACH) est le reseau de transfert electronique de fonds qui gere la majorite des paiements domestiques americains. Regi par la NACHA (National Automated Clearing House Association), l’ACH traite les depots directs, les paiements de factures, les virements entre entreprises, les prestations gouvernementales, les remboursements d’impots et les paiements de personne a personne dans des fichiers de lots standardises.

Contrairement aux reseaux de cartes qui traitent les transactions individuellement en temps reel, l’ACH fonctionne comme un systeme de traitement par lots. Les banques emettrices collectent les transactions tout au long de la journee et les soumettent sous forme de fichiers ACH a l’un des deux operateurs ACH — la Reserve federale (FedACH) ou The Clearing House (EPN) — qui les distribuent ensuite aux banques receptrices pour imputation sur les comptes individuels.

L’ACH traite plus de 30 milliards de transactions par an, ce qui en fait la colonne vertebrale du systeme de paiement americain. De votre depot direct de salaire a votre prelevement automatique d’hypotheque, l’ACH touche pratiquement tous les aspects de la vie financiere americaine.

Structure du fichier

Un fichier ACH suit une structure hierarchique stricte avec six types d’enregistrements, chacun identifie par un code de type a un chiffre en position 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 $

Chaque fichier ACH comporte exactement 94 caracteres par ligne (sans delimiteurs). Les types d’enregistrements s’imbriquent comme suit : un en-tete de fichier (1) englobe un ou plusieurs lots, chaque lot commence par un en-tete de lot (5) et se termine par un controle de lot (8), et chaque lot contient un ou plusieurs enregistrements de detail d’ecriture (6) avec des enregistrements d’addenda optionnels (7). Le fichier se termine par un enregistrement de controle de fichier (9).

Codes SEC

Le code SEC (Standard Entry Class) dans l’en-tete de lot determine le type de transaction ACH et ses exigences d’autorisation :

Code SECNomDescriptionUtilisation courante
PPDPrearranged Payment and DepositTransactions consommateur avec autorisation ecriteDepot direct de paie, prelevement automatique recurrent
CCDCorporate Credit or DebitTransactions entre entreprisesPaiements fournisseurs, concentration de tresorerie
WEBInternet-Initiated EntryTransactions autorisees via InternetPaiement en ligne, e-commerce
TELTelephone-Initiated EntryTransactions autorisees par telephoneCommandes telephoniques, appels de recouvrement
RCKRe-presented Check EntryRepresentation electronique de cheques retournesRecuperation de cheques sans provision

ACH vs virement vs cheque

Comprendre quand utiliser l’ACH par rapport aux alternatives est important pour les decisions de cout et de delai :

CaracteristiqueACHFedwireCheque papier
RapiditeJour meme ou jour suivantTemps reel (minutes)2-5 jours ouvrables
Cout0,20 $ - 1,50 $15 $ - 30 $1 $ - 5 $ (impression/envoi)
Montant maximum1 M$ (jour meme), illimite (standard)IllimiteIllimite
RevocabiliteRevocable dans certaines limitesIrrevocableOpposable avant compensation
Ideal pourRecurrent, volume eleve, faible valeurUrgent, haute valeur, critique en tempsQuand l’electronique n’est pas possible

Cas d’utilisation courants

  • Depot direct de paie : Les credits PPD sont la norme pour les paiements de salaire aux Etats-Unis — utilises par 93 % des travailleurs
  • Paiements de factures : Les services publics, les assurances et les services d’abonnement utilisent les debits PPD pour les prelevements automatiques recurrents
  • Paiements entre entreprises : Les ecritures CCD gerent les paiements fournisseurs, les transferts interentreprises et la concentration de tresorerie
  • Versements gouvernementaux : La Securite sociale, les remboursements d’impots et les versements de relance utilisent l’ACH pour la distribution de masse
  • Remboursements e-commerce : Les credits WEB restituent les fonds sur les comptes bancaires des clients apres les retours d’achats en ligne
  • Transferts de compte a compte : Des applications comme Venmo et Zelle utilisent l’ACH pour le mouvement de fonds sous-jacent entre les banques

Essayez ces exemples

Ecriture PPD valide (depot direct) Valide

Un fichier ACH complet avec un en-tete de fichier (type d'enregistrement 1), un en-tete de lot (type 5, code SEC PPD pour depot direct de paie), un detail d'ecriture (type 6, code de transaction 22 pour credit sur compte courant, numero de routage 091000019, compte 1122334455, montant 500,00 $), un controle de lot (type 8 avec total de hachage), et un controle de fichier (type 9). L'entreprise ACME CORP depose la paie de John Doe.

101 09100001901234567802403151200A094101ORIGINATOR BANK RECEIVER BANK 5200ACME CORP 0123456780PPDPAYROLL 240315240315 1091000010000001 62209100001911223344556 0000050000123456789 JOHN DOE 0091000010000001 820000000100091000010000000000000000000500000123456780 091000010000001 9000001000001000000010009100001000000000000000000050000
Ecriture invalide (chiffre de controle du numero de routage incorrect) Invalide

Le numero de routage 091000018 a un chiffre de controle invalide. Le 9e chiffre d'un numero de routage ABA est une somme de controle ponderee : (3*0+7*9+1*1+3*0+7*0+1*0+3*0+7*1) mod 10 devrait etre egal a 9, pas 8. Les operateurs ACH rejettent les ecritures avec des numeros de routage invalides.

6222091000018112233445560000050000123456789 JOHN DOE 0091000010000001