CONTRL: did my file arrive?
You sent an EDI file. Did it arrive? Was it processed? A separate message answers that: CONTRL.
What it does
CONTRL takes no interest in content. It does not say "I accept your order"; it says "I received your file and the syntax is valid". It is a technical acknowledgement, not a commercial one.
Two things not to confuse:
- CONTRL — the file arrived and parses
- ORDRSP — I do or do not accept the order
Receiving a CONTRL does not mean your order was accepted.
Its structure
A CONTRL message points at where an error sits, if there is one:
| Segment | Role |
|---|---|
UCI | Status at interchange level |
UCM | Status at message level |
UCS | Position of the offending segment |
UCD | The reason and which element |
|---|
The status codes are terse: 7 accepted, 4 rejected, 8 processed with errors.
UCI+REF00042+8712345678901:14+8798765432109:14+7'
The trailing 7 says the interchange was accepted cleanly.
When an error comes back
On a rejection, UCS gives you the segment position and UCD the reason:
UCS+12'
UCD+13+QTY+2'
That says there is an error in the second data element of the QTY at segment 12. Opening your file and going to segment 12 shows the problem directly.
When no CONTRL arrives at all
This is usually a transport problem rather than a content one:
- The file never reached the other side (SFTP directory, AS2 certificate)
- Your partner does not send CONTRL — not all do; the specification says so
- The file arrived but is sitting in a queue unprocessed
That is the order to check: the transport channel first, then the specification.
A practical habit
Keep your CONTRL messages. In an argument about an invoice that "never arrived", a timestamped acknowledgement is the fastest way to settle it.