EDIFACT Message Validator avatar

EDIFACT Message Validator

Pricing

from $8.50 / 1,000 edifact transaction validateds

Go to Apify Store
EDIFACT Message Validator

EDIFACT Message Validator

Validate inline UN/EDIFACT ORDERS, INVOIC, DESADV, and CONTRL messages for syntax, envelopes, counts, bounded structure, and partner rules. Get stable findings, canonical JSON, and optional CONTRL acknowledgements.

Pricing

from $8.50 / 1,000 edifact transaction validateds

Rating

0.0

(0)

Developer

Cedric Günther

Cedric Günther

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

Validates bounded UN/EDIFACT interchanges and emits stable syntax, envelope, count, narrow message-structure, partner-rule, and optional CONTRL evidence. It is built for EDI integration teams, ERP mapping developers, supplier onboarding and transaction-operations teams. The main result is structured, deterministic evidence that can be consumed from the default dataset or an Apify automation.

When to use this Actor

  • Validate ORDERS, INVOIC, DESADV, or CONTRL messages before partner transmission.
  • Regression-test an EDI mapping against a pinned directory and deterministic finding fingerprints.
  • Generate a CONTRL acknowledgement for delivery through an existing EDI transport.

How it works

  • Tokenize UNA-defined delimiters and release characters, then validate UNB/UNZ and UNH/UNT nesting, references, and counts.
  • Apply the selected D96A, D01B, or D20B compatibility pin and the Actor's narrow original message profiles.
  • Apply optional require/forbid segment overlays and persist transaction, finding, canonical, and optional acknowledgement output before charging.

The Actor validates only the declared product contract. It does not infer facts outside the supplied data or claim outcomes that the source material cannot prove.

Quick start

  1. Open the Actor's Input tab or create a Task from one of the public examples.
  2. Paste or adapt this bounded example.
  3. Click Start and inspect the default dataset plus the output links shown on the run page.
{
"interchanges": [
{
"sourceId": "po-1001",
"content": "UNB+UNOC:3+SENDER:14+RECEIVER:14+260916:1200+IREF'UNH+1+ORDERS:D:01B:UN'BGM+220+PO-1001+9'DTM+137:20260916:102'NAD+BY+BUYER::9'LIN+1++SKU-1:EN'QTY+21:5'UNT+7+1'UNZ+1+IREF'"
}
],
"directory": "D01B",
"mode": "strict",
"generateContrl": true,
"partnerRules": []
}

Expected result: a transaction result with any deterministic findings, canonical JSON, and a CONTRL acknowledgement artifact.

Input

The quick-start example is intentionally small. These are the material controls; the Input tab remains authoritative for the complete current schema.

FieldPurpose and formatDefaultImportant bounds or interaction
interchangesIndependent inline UN/EDIFACT interchange strings with stable source IDs.No implicit defaultminimum items 1; maximum items 100
directorySupported UN/EDIFACT directory used to validate message structures and segment rules.No implicit defaultone of D96A, D01B, D20B
modeSelects the declared strict or compatible validation behavior without guessing partner conventions."strict"one of strict, tolerant
generateContrlRequests a CONTRL acknowledgement only for supported message outcomes; disabling it leaves validation evidence unchanged.falseSee the Input tab for the current schema bound.
partnerRulesExplicit bounded partner-specific qualifiers layered on the base directory rules; no conventions are inferred.No implicit defaultmaximum items 100
maxInterchangeBytesMaximum UTF-8 size accepted for each interchange before parsing.2000000minimum 128; maximum 10000000
maxSegmentsPerInterchangeMaximum segment count accepted from one interchange.20000minimum 4; maximum 100000
maxMessagesPerInterchangeMaximum UNH/UNT message envelopes accepted from one interchange.1000minimum 1; maximum 10000

Unknown top-level fields and invalid field combinations fail validation rather than being guessed.

Output

The default dataset contains typed records. The run's Output tab links the dataset and any key-value-store reports declared by the current output schema.

FieldMeaning
recordTypeIdentifies transaction, finding, or failed interchange rows.
sourceIdCurrent dataset field.
statusPASS, WARN, or FAIL transaction result under the selected mode and overlays.
messageTypeCurrent dataset field.
directoryCurrent dataset field.
interchangeReferenceCurrent dataset field.
messageReferenceCurrent dataset field.
documentNumberCurrent dataset field.
findingCodeCurrent dataset field.
severityCurrent dataset field.
segmentIndexCurrent dataset field.
messageCurrent dataset field.
fingerprintStable identity for deterministic regression comparison.
engineVersionCurrent dataset field.

Representative current-schema dataset item:

{
"recordType": "transaction",
"sourceId": "po-1001",
"status": "PASS",
"messageType": "ORDERS",
"directory": "D01B",
"interchangeReference": "IREF",
"messageReference": "1",
"documentNumber": "PO-1001",
"engineVersion": "1.0.0"
}

An interchange with no transaction message is not converted into a successful transaction; its envelope/structure outcome remains explicit.

Pricing and billing

This Actor uses PAY_PER_EVENT; platform usage is included in event prices. A charge is eligible only after the billable unit described below is durably completed. Validation failures and the non-billable failure classes in the product contract do not emit the custom completion event. Higher Store tiers use the complete tier matrix below; Platinum and Diamond match Gold under the current policy. The Apify Pricing tab is authoritative if a later approved pricing change takes effect.

EventWhat triggers itFREEBRONZESILVERGOLDPLATINUMDIAMOND
transaction-validatedCharged once after one supported EDIFACT message reaches a final validation result and durable evidence is written.$0.01000000$0.00950000$0.00900000$0.00850000$0.00850000$0.00850000
apify-actor-startPlatform-managed Actor start event.$0.00005000$0.00005000$0.00005000$0.00005000$0.00005000$0.00005000

The Actor does not have Task-specific prices: public Tasks use this same live Actor pricing. Third-party costs are not implied; see the data and security section for external services actually contacted.

Limits and bounds

  • At most 100 interchanges per run, 10 MiB per interchange, 100,000 segments per interchange, and 10,000 messages per interchange; current schema defaults are lower.
  • Supported syntax identifiers are UNOA, UNOB, UNOC, and UNOY with the documented D96A, D01B, and D20B pins.
  • The profiles are a bounded original subset, not complete official UNECE directory conformance.

These are product-facing limits, not targets. Use smaller inputs when you need faster feedback or simpler evidence.

Failure and edge-case behavior

  • Invalid top-level configuration fails before work; malformed individual interchanges are isolated so other inputs can continue.
  • Unsafe syntax, missing terminators, broken nesting, unsupported message/directory, and resource-limit breaches fail closed.
  • Envelope and count mismatches remain visible findings on parsed transactions rather than being silently corrected.

Operationally:

  • Pin directory and sourceId in repeatable tests and retain finding fingerprints across mapping releases.
  • If generateContrl is enabled, the Actor creates an acknowledgement artifact but never transmits it.

Use with Tasks and automation

Public Tasks provide reusable saved inputs for distinct supported workflows. Start with the closest Example Task, review its visible fields and scope caveat, then save your own Task for schedules or repeated runs. Do not treat an Example Task as evidence that unsupported behavior exists.

Integration and API usage

Every saved Task can be started manually, through the Apify API, or from an Apify schedule. Run-completion webhooks can notify a downstream system after output is durable. Actor-to-Actor calls should consume the typed dataset/output links instead of scraping the Store page.

  • Route transaction status and stable finding codes into an ERP/EDI release gate.
  • Deliver CONTRL_ACKNOWLEDGEMENTS through your separately managed EDI transport.

No third-party integration is claimed unless it is named above and supported by the current product contract.

Data, privacy, and security

  • EDI content and findings remain in Apify run storage under account retention settings.
  • The Actor sends no EDI content to third parties and requires no partner transport credentials.

Set Apify storage retention and access according to the sensitivity of your inputs and outputs. This documentation does not create legal, privacy, compliance, or security certification.

Support and known limitations

  • The Actor does not provide X12, AS2/SFTP transport, partner onboarding, custom mapping, ERP connectivity, or compliance certification.
  • It does not bundle or redistribute official UNECE directory files.

For support, use the Actor Issues page. Include the run ID, a minimal reproducible input with sensitive values removed, the failing record or error code, and what you expected. Do not post credentials, private source files, customer data, or full confidential payloads.