Document validation
Boomi validates EDI and B2B documents at two points in a process: inbound, in the Trading Partner Start step, and outbound, in the Trading Partner step. In both cases, Boomi compares the document against an EDI profile that you select in the trading partner component. The validation result decides where the document goes next: the Documents path, the Errors path, or the Acknowledgments path.
This page explains the validation model. For step-by-step configuration, refer to the Related topics section.
How validation works
Validation depends on three configuration layers.
The EDI profile defines the document structure. It specifies segments, data elements, mandatory fields, data types, minimum and maximum lengths, and qualifiers. For X12, EDIFACT, and ODETTE profiles, you can also add segment validation rules, such as "if element A is present, element B must be present."
The trading partner component connects the profile to the exchange. In the Document Types tab, you select each document type exchanged with the partner, choose its profile, and set its acknowledgment and validation options.
The Trading Partner step applies the rules at runtime. It routes each document to the Documents, Errors, or Acknowledgments path that is attached to the step.
Validation runs at different levels depending on the standard. Interchange-level checks cover the envelope (ISA/IEA for X12, UNB/UNZ for EDIFACT). Group and transaction-level checks apply to X12 functional groups and transaction sets. EDIFACT and ODETTE validate at the message level. HL7 validates at the transmission level.
Inbound validation
The Trading Partner Start step compares each inbound document with its profile. It checks mandatory fields, data types, and length limits. It also checks qualifiers, unless you disable qualifier validation for that document type. For X12, EDIFACT, and ODETTE, it applies segment validation rules if the profile enables them.
Each standard handles acknowledgments and invalid documents differently:
| Standard | Acknowledgments | Invalid documents | Validity property |
|---|---|---|---|
| X12 | 997 functional acknowledgment by default, or 999 for individual transaction sets. TA1 for interchange-level results. | Errors path, with one exception described below. | Is Valid Message? |
| EDIFACT | CONTRL, if the partner is set to acknowledge. | Errors path, if Invalid Inbound Document Routing is set to Errors path for the document type. | Not stated on the source page. |
| HL7 | Accept and application acknowledgments. You can set each to always send, send only for valid transmissions, or send only for invalid transmissions. | Errors path, if Invalid Inbound Document Routing is set to Errors path. | Is Valid Message? |
| ODETTE | CONTRL, if the partner is set to acknowledge. | Errors path, if Invalid Inbound Document Routing is set to Errors path. | Not stated on the source page. |
| RosettaNet | Always generated. | Errors path. | Not stated on the source page. |
| TRADACOMS | None. | Not applicable. | Not applicable. |
For X12, a functional acknowledgment reports validation results at the group or transaction-set level. If you choose Acknowledge Functional Groups, one invalid transaction set marks every transaction set in that group as invalid. If you choose Acknowledge Transaction Sets, only the invalid transaction set is marked. The 997 acknowledgment reports errors with AK3 (segment) and AK4 (data element) segments. The 999 acknowledgment reports the same errors with IK3 and IK4 segments.
X12 has one exception to the rule that invalid documents go to the Errors path. When qualifier validation is enabled, a document that is otherwise valid but has an invalid qualifier goes to the Documents path with the acknowledgment status "Accepted with Errors."
Outbound validation
Outbound validation is optional. You turn it on in the trading partner component, and you can set it at two levels.
At the interchange level, select Validate Outbound Interchanges on the standard tab. Then choose one of two behaviors. Filter Errored Documents sends each document with errors to the Errors path and lets the rest of the interchange continue. Fail Interchange if Any Documents Have Errors sends the whole interchange to the Errors path when any document fails.
At the transaction, message, or transmission level, select Validate Outbound Transaction Sets (X12), Validate Outbound Messages (EDIFACT, ODETTE, RosettaNet), or Validate Outbound Transmissions (HL7) in the Document Types tab. Any document with errors goes to the Errors path. RosettaNet supports only this message-level option.
If you enable both the Fail Interchange option and document-level validation, the result matches the Fail Interchange behavior. The whole interchange goes to the Errors path.
If you clear Validate Outbound Interchanges, no data goes to the Errors path. Boomi recommends attaching a Stop step to that path so that nothing fails silently.
Segment validation rules
Rules are an optional layer on top of the profile. They apply only to X12, EDIFACT, and ODETTE profiles. You must first select Segment Validation Rules on the profile's Options tab, or the rules are not applied.
X12 rules include Paired/Multiple (P), Required (R), Exclusion (E), Conditional (C), and List Conditional (L). EDIFACT and ODETTE rules include One and Only One (D1), All or None (D2), One or More (D3), One or None (D4), If First Then All (D5), If First Then At Least One More (D6), and If First Then None of the Others (D7). When you import an X12 standard version, Boomi adds that version's standard rules to the imported segments automatically.
Where validation errors appear
Failed documents appear in Process Reporting. Open the execution from the Manage menu, and check the Documents with Errors list. You need the View Data privilege to view error details. The View Results privilege alone is not enough.
The Document Error view shows the full error message and the Error Details tab. The Resolve Agent tab suggests up to 10 solutions from Boomi documentation and Community articles, ordered by relevance. If you open a support case, copy the Error Details content, including the stack trace.
Within a process, you can branch on the Is Valid Message? document property for X12 and HL7. Its location is Document Property > Trading Partner Information > X12 (or HL7) > Transaction Set (or Message) > Is Valid Message?.