* ACH-formatted transactions are supposed to be 80 character rows, but ACH emitters play loose and fast with that. 81 (CR/LF) and 82 (CR+LF) character entries are common enough in the wild that financial communities regularly complain about them. ACH transactions are supposed to be concatenative, so it wouldn't surprise me to learn that most real-world ACH handling code needs to handle 80, 81, and 82-character records in the same stream.
* The envelope and hierarchy of ACH is extremely simple. The internal state machine isn't: there are plenty of overlapping entry classes[1], obscure return codes, common misuse of said codes, and rider entries (like addenda information). The records for international settlements are shockingly complex; no ODFIs or RDFIs seem to follow the rules about not clawing back money after various contest periods expire.
[1]: When do I use CIE entries versus PPD? Do I use WEB for a recurring utility payment that was initiated online?
* ACH-formatted transactions are supposed to be 80 character rows, but ACH emitters play loose and fast with that. 81 (CR/LF) and 82 (CR+LF) character entries are common enough in the wild that financial communities regularly complain about them. ACH transactions are supposed to be concatenative, so it wouldn't surprise me to learn that most real-world ACH handling code needs to handle 80, 81, and 82-character records in the same stream.
* The envelope and hierarchy of ACH is extremely simple. The internal state machine isn't: there are plenty of overlapping entry classes[1], obscure return codes, common misuse of said codes, and rider entries (like addenda information). The records for international settlements are shockingly complex; no ODFIs or RDFIs seem to follow the rules about not clawing back money after various contest periods expire.
[1]: When do I use CIE entries versus PPD? Do I use WEB for a recurring utility payment that was initiated online?