EDI Validator — Users Manual
Table of Contents
- Overview
- Installation & First Launch
- Main Window
- Opening an EDI File
- Validating an EDI Transaction Set
- Understanding the Error Table
- EDI Segment Context View
- Error Detail Panel
- Unique Mode
- Acknowledgement Generation (Pro License)
- Exporting Validation Errors
- Disabling Rules (Pro License)
- Custom Validation Rules (Pro License)
- Options & Settings
- Importing / Exporting Settings
- License Management
- Frequently Asked Questions
1. Overview
Etasoft EDI Validator is a desktop application for validating ANSI X12 Electronic Data Interchange (EDI) transaction sets against their standard schemas. It checks segment ordering, required elements, data type compliance, and business rule constraints, then presents all validation errors in an interactive table.
Supported transaction types include: 810 (Invoice), 837 (Healthcare Claim), 850 (Purchase Order), 855 (Purchase Order Acknowledgement), 856 (Advance Ship Notice / Despatch Advice), 997 (Functional Acknowledgement), and others defined in the bundled EDI standard database.
What You Need to Know Before Starting
- The application reads an embedded database that contains the schema definitions for every supported transaction type and segment. This database is updated with each release — make sure you are running a recent version if a particular transaction set does not validate as expected.
- The application uses a two-tier license model:
- Basic License (free): Full validation engine, error display, CSV/PDF export, settings import/export.
- Pro License (paid): Adds acknowledgement file generation (997 / 999), the ability to disable specific built-in validation rules, and support for custom user-defined rules.
The application window title always shows which license is active: "Etasoft EDI Validator — Basic License" or "Etasoft EDI Validator — Pro License".
2. Installation & First Launch
Requirements
- Windows 11 or Windows server 2022
- Mac OS
- Linux desktop environment with X11 or Wayland support
Installing on Windows
Use the installer provided or the platform-specific package from your distributor. Follow the standard installer prompts.
The application will appear in your desktop menu under Etasoft → EDI Validator.
Installing on Apple macOS
Unzip then drag "EDI Validator.app" into Applications.
Having "EDI Validator.app" in Applications may not be enough. Apple will quarantine the package. You can mark package as safe using few different methods.
One of the options is to use terminal command to remove quarantine attribute. Run xattr command in terminal from your home directory to enable the application.
xattr -dr com.apple.quarantine "/Applications/EDI Validator.app"
It is important to run command from your home directory.
Installing on Linux (Debian)
Run deb package installer or use command line:
sudo dpkg -i edi-validator_6.0.0_amd64.deb
3. Main Window
The main window is divided into four horizontal sections:
┌─────────────────────────────────────────────────────────────┐
│ [Browse] [Clear] [997✓] [999✓] [Unique] [Export▼] │ ← Toolbar
│ │
│ File: [file.edi ▼] Segments: 142 Errors: 3 / 5 │ ← Status bar
│ │
│ ┌──────────────┬─────────────────────────────────────────┐│
│ │ File List │ Error Table ││
│ │ file1.edi ✓ │ # │ Seg# │ ID │ Code │ Message … ││
│ │ file2.edi ✗ │ 1 │ 42 │ ISA │ X1 │ ... ││
│ └──────────────┴─────────────────────────────────────────┘│
│ ┌──────────────┬─────────────────────────────────────────┐│
│ │EDI Context │ Error Detail Panel ││
│ │ [0042] ST… │ Segment ID: ISA ││
│ │ >>>[0043] │ Index: 42 ││
│ │ [0044] SE… │ Code: X1 ││
│ └──────────────┴─────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
| Area | Purpose |
|---|---|
| Toolbar | File operations, validation controls, export menu, settings |
| Status bar | Segment count, error count (green = clean), progress |
| File list (left) | Shows all files validated in the current session; ✓ / ✗ indicator |
| Error table (center) | Clickable rows listing every validation error found |
| EDI context view (bottom-left) | Raw segments surrounding the selected error |
| Detail panel (bottom-right) | Full breakdown of the selected error |
4. Opening an EDI File
From the Toolbar
- Click Browse (or choose File → Browse from the menu).
- In the file chooser, select your
.edi,.txt,.x12, or.datfile and click Open. - The application automatically begins validation. A progress bar tracks advancement through the file's segments.
From Recent Files
After validating a file, its path is added to the recent-files dropdown next to the Browse button. You can re-validate that file instantly by selecting it from the list.
Drag and Drop
You can drag one or more EDI files directly onto the main window. Each file is validated in turn and appears in the File list pane.
5. Validating an EDI Transaction Set
Validation runs on a background thread, keeping the UI responsive. While validation is in progress:
- The progress bar animates (indeterminate) or fills as segments are processed.
- The status bar shows "Processing segment N…" with the current segment index.
- The Browse button is disabled to prevent starting a second validation on top of the first.
Toggle Buttons in the Toolbar
| Button | Basic License | Pro License |
|---|---|---|
| 997 Acknowledgement | Disabled (greyed out) | Toggles generation of an X12 997 functional acknowledgement next to the input file |
| 999 Acknowledgement | Disabled (greyed out) | Toggles generation of an X12 999 receipt acknowledgement |
When a Pro license is active and either toggle is enabled, the application writes the corresponding acknowledgement file after validation completes. The output filename follows the format configured in Acknowledgement Settings (File → Acknowledgement Settings).
Unique Mode
Click the Unique button to toggle deduplication of errors by error-code + segment-path combination. When enabled, only one instance of each unique error pattern is shown, making it easier to scan a file with hundreds of identical mistakes. The button label updates to Unique: ON or Unique: OFF.
6. Understanding the Error Table
The error table is a standard TableView. All columns are resizable and sortable — click any column header to sort ascending, then again for descending order.
Columns
| Column | Description |
|---|---|
| # | Global sequence number of the error across the entire file |
| Seg# | Segment index (1-based) where the error was found |
| ID | Segment identifier (e.g., ISA, GS, ST, N1, PO1) |
| Code | Error code (e.g., X1.001, S3.005) — used for deduplication and rule disabling |
| Category | Human-readable category of the error (e.g., "Required element missing", "Invalid data type") |
| Message | Detailed description of what is wrong |
| Value | The actual element value that triggered the error, or (empty) if no value was present |
| Path | Computed path through nested composite elements (e.g., ISA/06 or NM1/NM03) |
Status Indicators in the Error Table
- Rows with errors from custom validation rules are marked with a "custom" badge. These do not appear in the basic error count unless custom rules are loaded (Pro feature).
- The status bar shows two additional indicators when applicable:
- "N skipped" — number of built-in errors suppressed by disable rules (Pro only)
- "N custom" — number of errors produced by custom validation rules (Pro only)
7. EDI Segment Context View
The bottom-left text area shows the raw EDI segments surrounding whichever error is currently selected in the table. The failed segment is highlighted with a >>> prefix:
[0041] ISA*00* *00* *01*1234567890 *...
[0042] GS*PO*1234567890*ABC Supplier*20240101*1200*0001*X*005010*000000001*0*P*>
>>>[0043] ST*850*0001*005010
[0044] BRK*005010
[0045] HTM*...
The segment label above the text area shows "Segment N of M" where N is the index of the selected error and M is the total segment count. The view automatically scrolls to keep the highlighted line visible.
8. Error Detail Panel
Click any row in the error table to see its full details in the bottom-right panel:
| Field | Description |
|---|---|
| Segment ID | Segment identifier (e.g., PO1) |
| Index | 1-based position of the segment in the file |
| Code | Error code |
| Category | Human-readable category |
| Message | Full error message text |
| Value | The element value that failed validation, or (empty) if absent |
| Segment Text | The complete raw segment string as it appears in the EDI file |
| Path | Composite path through parent segments to the failing element |
| ISA Control | ISA013 — the ISA reference qualifier and control number of the transaction |
| GS Control | GS12 — the functional group control number |
| ST Control | ST02 — the transaction set control number |
The Segment Text field is useful for inspecting the exact content of a segment when diagnosing complex validation failures. The Path field helps trace back through nested composite elements (e.g., REF/REF02) to understand exactly where in the hierarchy the error occurs.
9. Unique Mode
When Unique mode is enabled, the application deduplicates errors that share the same error code and segment path. This is particularly useful when validating files with hundreds or thousands of repetitive errors (for example, a missing required element on every line item in an 850 purchase order).
How It Works
Two errors are considered duplicates when they have identical:
- Error code (e.g.,
X1.001) - Path through the segment hierarchy (e.g.,
ST/02orN1/NM03)
When deduplication is active, only the first occurrence of each unique error pattern is displayed in the table and exported to CSV/PDF. The status bar shows how many errors were suppressed: "Showing 15 of 342 error(s) (limited)".
When to Use Unique Mode
| Scenario | Recommendation |
|---|---|
| File with one-off errors scattered across segments | Keep Unique OFF — see every instance |
| Systematic error (same element missing on many line items) | Turn Unique ON — focus on the pattern, not the count |
| Preparing a report for a trading partner | Turn Unique ON — they need to fix the schema issue first |
Toggle the mode with the Unique toolbar button at any time; re-validate the file if you want the error table updated.
10. Acknowledgement Generation (Pro License)
Requires Pro License. The 997 / 999 toggle buttons in the toolbar are disabled for Basic license users and cannot be enabled without upgrading.
When validation completes, Etasoft EDI Validator can automatically generate an X12 functional acknowledgement file next to your input:
| Acknowledgement Type | Description |
|---|---|
| 997 (Functional Acknowledgement) | Confirms receipt of a transaction set and reports syntactic acceptance or rejection |
| 999 (Implementation Acknowledgement) | Reports the results of syntax and semantic validation against the implemented standard |
Configuring Acknowledgement Output
- Open File → Acknowledgement Settings.
- Set the Output path — the directory where acknowledgement files will be written. If the path does not exist, it is created automatically.
- Set the Filename format using placeholders:
| Placeholder | Replaced With |
|---|---|
{base} |
Input filename without extension |
{date} |
Current date in yyyyMMdd format |
{time} |
Current time in HHmmss format |
{type} |
Acknowledgement type number (997 or 999) |
Example: ACK_{base}_{date}_{time}_{type}.edi produces ACK_850PurchaseOrder_20240115_143022_997.edi.
- Click OK.
- Enable the corresponding toggle button in the toolbar (997 or 999) and re-run validation. The acknowledgement is written after validation completes, and a status message confirms the output path.
Important Notes
- Acknowledgement generation requires that the validator successfully parsed the input's ISA / GS / ST envelope. If the envelope is malformed, no acknowledgement is produced and an error is shown in the status bar.
- The generated acknowledgement uses the envelope information from your input file as a template; you must edit it manually afterward to correct sender/receiver IDs if needed.
11. Exporting Validation Errors
Etasoft EDI Validator supports exporting the current error list to CSV or PDF via File → Export.
CSV Export
- Select File → Export CSV (or click the export button and choose CSV).
- In the dialog, choose your delimiter:
- Comma (
,) - Semicolon (
;) — common in European locales where comma is a decimal separator - Tab (
\t) - Pipe (
|)
- Comma (
- Choose a quote character for fields containing the delimiter:
- Double quote (
") — standard CSV convention - Single quote (
') - None (no quoting)
- Double quote (
- Click Next.
- In the file chooser, select the destination and click Save.
The exported CSV includes a UTF-8 BOM for Excel compatibility and the following columns: #, Seg#, ID, Code, Category, Message, Value, Path.
PDF Export
- Select File → Export PDF (or click the export button and choose PDF).
- In the file chooser, select the destination and click Save.
- The application writes a multi-page PDF report containing:
- A header with the source filename and timestamp
- All error rows from the table in tabular form
- A summary section at the end
Filtered vs Full Export
Both exporters operate on the filtered error list — that is, whatever errors are currently visible after any filter you have applied in the search box. To export all errors regardless of filters, clear the search field before exporting.
12. Disabling Rules (Pro License)
Requires Pro License. The Disable Rules dialog and rule engine are not available with a Basic license.
Built-in validation rules can be selectively disabled when you know an error is acceptable in your specific trading arrangement. For example, if your partner consistently sends an optional element that the standard says is conditional, you may want to suppress that check globally.
Opening the Disable Rules Dialog
Choose File → Validation Disable Rules. The dialog displays a table of all built-in rules with columns for:
| Column | Description |
|---|---|
| Rule ID | Unique identifier (e.g., S3.005) |
| Segment | Segment the rule applies to |
| Description | What the rule checks |
| Enabled | Checkbox — clear to disable the rule |
How Rules Are Applied
- Edit rules in the dialog and click OK. The changes are saved immediately to your user settings file.
- Re-validate any open files (or open a new file) for the updated rules to take effect.
- Errors suppressed by disable rules are counted but not shown in the error table. The status bar displays "N skipped" when skip rules are active, so you know errors have been filtered out.
Tips
- Keep track of which rules you've disabled — a file that validates cleanly because a rule is off may fail again for a different trading partner who hasn't disabled the same rule.
- The application remembers your disable-rule configuration across sessions via the user settings file.
13. Custom Validation Rules (Pro License)
Requires Pro License. The Custom Rules dialog and rule engine are not available with a Basic license.
Custom rules let you define your own validation logic beyond what the built-in standard provides. This is useful for enforcing trading-partner-specific requirements that are not captured in the generic X12 schema.
Opening the Custom Rules Dialog
Choose File → Custom Validation Rules. The dialog provides:
| Field | Description |
|---|---|
| Rule Name | Human-readable name (for your reference) |
| Condition | A logical expression evaluated against each segment |
| Error Code | Identifier for the custom error (e.g., C1.001) |
| Message | Text shown in the error table when the condition matches |
Writing Conditions
Conditions are evaluated as boolean expressions over the current segment's elements. Use the following syntax:
- Element reference:
SEG_01,SEG_02, etc. (1-based index) - String comparison:
==,!=,contains - Numeric comparison:
>,<,>=,<= - Logical operators:
AND,OR,NOT - Built-in functions:
isEmpty(SEG_03),isNumeric(SEG_05)
Example conditions:
SEG_01 == "N1" AND isEmpty(SEG_04) → Name segment missing entity identifier
SEG_02 > 9999 → Amount exceeds maximum expected value
SEG_03 contains "ERROR" → Suspicious element content detected
Managing Custom Rules
- Add a new rule, edit an existing one, or delete it using the dialog buttons.
- Changes are saved to your user settings file immediately.
- Re-validate files to apply changes. Errors produced by custom rules appear in the error table with their custom code and message, and the status bar shows "N custom" when applicable.
14. Options & Settings
Open File → Options to adjust application-wide preferences:
| Option | Description | Default |
|---|---|---|
| Error display limit | Maximum number of errors shown per file (to prevent UI slowdown on very large files) | 500 |
| Field delimiter default | Preferred field delimiter for CSV export | Comma |
| Quote character default | Preferred quote character for CSV export | Double quote |
Error Display Limit
The validator always processes the entire file; the limit only controls how many errors are displayed in the table. Errors beyond the limit are silently discarded from view (but not from any acknowledgement that may be generated). If you need to see all errors, set a high limit or disable it entirely by entering 0 (if supported) or -1.
15. Importing / Exporting Settings
Your application preferences — including disable rules, custom rules, recent file history, and options — are stored in a user settings properties file:
| Platform | Settings Location |
|---|---|
| Windows | %APPDATA%\edivalx\settings.properties |
| macOS | ~/Library/Application Support/edivalx/settings.properties |
| Linux | ~/.local/share/edivalx/settings.properties |
Exporting Settings
- Choose File → Export Settings.
- Save the
.propertiesfile to a shared location (network drive, email attachment, version control). - Use this file to back up your configuration or share it with colleagues.
Importing Settings
- Choose File → Import Settings.
- Select a previously exported
.propertiesfile. - The application overwrites the current settings file immediately. A restart may be required for some preferences (particularly custom rules) to take full effect.
Tip: If you switch between multiple computers, export your settings from one machine and import them on the other to preserve your disable rules and custom rules configuration.
16. License Management
Checking Your License
Choose File → Your License to view:
| Field | Description |
|---|---|
| License type | Basic or Pro |
| License key | The key currently active (masked for security) |
| Expiration date | When the license expires (Pro only) |
| Owner / Organization | License holder information |
Activating a Pro License
- Obtain your Pro license key from Etasoft (via purchase or evaluation request).
- Choose Settings → License.
- Click Activate and enter the key when prompted.
- The application validates the key against the license server and updates the title bar to reflect the Pro status.
If you already have a JWT token (for example from a previous installation or IT department), paste it into the Token text area in the License dialog and click the clipboard icon (or wait for auto-validation). The app decodes the payload and populates Application, Type, and Expiry read-only fields.
License Expiry Warnings
When a Pro license has fewer than 10 days remaining, the status bar displays an orange warning: "Pro license expires in N day(s)." When the license expires, the application falls back to Basic-mode behavior — Pro-only features (acknowledgement generation, disable rules, custom rules) are disabled and toggle buttons become greyed out. No data is lost; you simply lose access to Pro features until the license is renewed.
17. Frequently Asked Questions
Q: The application says "Database not found" on first launch. A: This is normal. The application copies the bundled database to your user data directory on first run. If the error persists, check that the application has write permission for the platform-appropriate user data directory (see Section 2).
Q: Why are my 997 / 999 acknowledgement buttons greyed out? A: Those features require a Pro license. Upgrade your license via File → Your License, or continue using Basic mode which includes full validation and export capabilities.
Q: The error count shows "N / M (limited)". What does that mean? A: The file contained more errors than the configured display limit. N is the number shown, M is the actual total. Adjust the limit in File → Options if you need to see all errors.
Q: Can I validate multiple files at once? A: The application validates one file at a time. Drag-and-drop multiple files to queue them — each appears in the File list pane and can be selected for validation individually. There is no background batch mode.
Q: My 850 purchase order shows errors that my trading partner says are fine. What should I do? A: First, check whether your trading partner has disabled certain rules on their side (they may have a different implementation). Then consider using the Disable Rules dialog (File → Validation Disable Rules) to suppress those specific checks for your configuration. Document any disabled rules so future validators are aware.
Q: How do I update the bundled EDI standard database?
A: Install a newer version of Etasoft EDI Validator. The database is updated with each release. To force a refresh, delete the user-level database file (edistddb.mv.db in your user data directory); the application will copy a fresh one on next launch.
Q: Can I run the validator from the command line? A: Not currently. Etasoft EDI Validator is a graphical application only. If you need batch validation from scripts, consider writing a wrapper that launches the application with the target file as an argument and parses the exported CSV output afterward.
Etasoft EDI Validator — Users Manual Version 1.0 · Updated August 2026