envelope / error
EL3009
envelope.duplicate-control-number
Applies to: x12
What it catches and why it matters
Duplicate ISA13 within the file or across the files in one run, duplicate GS06 within an interchange, or duplicate ST02 within a functional group.
Failing example
These synthetic fragments illustrate the defect; they are not complete interchange files. Backslash escapes name bytes such as \r (CR) and \n (LF).
Two interchanges in the same run both use ISA13 = 000000001.
How to fix it
Assign unique interchange controls, group controls within each interchange, and transaction controls within each group. Update matching trailers together.
False positives and limits
Linting an original and its intentional retransmission together can report a duplicate ISA13. Run those files separately if duplicate detection is not intended across them.
Acknowledgments and suppression
Related acknowledgment codes (apply only to the described defect): TA1 code 025 (TA105): duplicate interchange control number 999 code 19 (AK905): functional group control number not unique within the interchange 999 code 23 (IK502): transaction set control number not unique within the functional group Suppress the rule with --disable EL3009, or list it under "disable" in .edilint.yml. To accept the occurrences a file already has without suppressing the rule, record them with --write-baseline and run with --baseline. Reference: https://crb2nu.github.io/edilint/rules/EL3009.html