edilint / rule reference

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

All rules · Configuration