# TRADACOMS: The UK Retail EDI Standard Explained

> What TRADACOMS is, why UK retail still uses it, how STX, MHD and MTR files work, live order and invoice examples, implied decimals, and the map to EANCOM.

<QuickAnswer>
TRADACOMS is a UK EDI standard introduced in 1982 by the Article Numbering Association, now GS1 UK, and still used by UK retailers and the book trade. It groups messages into files: an order file is an ORDHDR header, one ORDERS message per order and an ORDTLR trailer, wrapped in STX and END. Development stopped in the 1990s in favour of EANCOM.
</QuickAnswer>

If you are setting up EDI with a UK retailer, you may be handed a TRADACOMS specification rather than an EDIFACT one. It looks like EDIFACT at first glance, but it is a separate standard with its own envelope, its own file structure, prices with no decimal point, and a strongly UK-specific design. Plenty of established UK supplier relationships still run on it.

This guide covers where TRADACOMS came from, why it is still here, how its syntax and files work, two live examples (an order file and an invoice file) you can open in the inspector, and how it maps to [EDIFACT](/guides/edi/edifact) and the GS1 EANCOM subset that UK retail is gradually moving to.

<EDIGuideCTA
  badge="For TRADACOMS"
  transactionType="850"
  headline="Read a TRADACOMS file without a translator"
  body="The free EDIFACT inspector also reads TRADACOMS order and invoice files and checks MTR and END counts. OrderSync processes EDIFACT, EANCOM and TRADACOMS orders alongside X12, PDF, CSV and email, straight into your ERP."
  secondaryHref="/edifact-inspector"
  secondaryLabel="Try the free EDIFACT inspector"
/>

## What is TRADACOMS?

**TRADACOMS (Trading Data Communications) is an EDI standard developed for the UK retail sector, introduced in 1982 and maintained by the Article Numbering Association (ANA), which is now GS1 UK.** It was built on the UN/GTDI syntax, one of the precursors of EDIFACT, which is why the two look alike.

### A short history

| Year | What happened |
|---|---|
| 1982 | The ANA introduces TRADACOMS for UK retail trading |
| 1987 | The UN/EDIFACT syntax is approved as ISO 9735, giving the world an international alternative |
| Mid-1990s | Development of TRADACOMS effectively stops as the ANA backs the EDIFACT-based EANCOM subsets. Sources usually date this to 1995 |
| 1 July 2017 | [GS1 UK ends support for TRADACOMS](https://www.gs1uk.org/insights/news/ending-support-for-tradacoms) and supports only GS1 EANCOM, GS1 XML and the GS1 UN/CEFACT XML profile |

GS1 UK's own [EDI guidance for new users](https://www.gs1uk.org/sites/default/files/EDI_guidance_for_new_users.pdf) describes TRADACOMS as commonly used in the UK, designed only for the UK market, and not developed and only minimally supported since the 1990s. It says the industry is slowly moving to EANCOM and recommends EANCOM or GS1 XML for new implementations.

## Why UK retail still uses TRADACOMS

- **It works.** The order, delivery and invoice files cover what UK grocery and general merchandise trading needs, and the links were built and tested decades ago.
- **UK VAT is built in.** Every invoice carries VAT totals per rate, and every invoice file carries a VAT summary for the whole file. That suited UK accounts payable teams from day one.
- **Migration costs both sides.** Moving a supplier community from TRADACOMS to EANCOM means every supplier re-mapping and re-testing. Retailers tend to move gradually, often starting with new suppliers.
- **The book trade standardised on it.** The UK book trade uses TRADACOMS-based messages maintained for that industry by [BIC](https://bic.org.uk/), which publishes its own invoice specification.
- **Retailers still publish TRADACOMS specs.** The John Lewis Partnership, for example, publishes a [TRADACOMS invoice specification](https://www.jlpsuppliers.com/supplier-finance-queries/new-connections/edi-tradacoms-invoice-specifications) on its supplier portal.

Requirements differ by retailer, and many run TRADACOMS and EANCOM side by side. Check your customer's own guide: our UK pages for [Tesco](/edi-compliance/tesco), [Sainsbury's](/edi-compliance/sainsburys), [Asda](/edi-compliance/asda), [Morrisons](/edi-compliance/morrisons), [Ocado](/edi-compliance/ocado), [Waitrose](/edi-compliance/waitrose), [Marks & Spencer](/edi-compliance/marks-and-spencer), [Boots](/edi-compliance/boots) and the [Co-op](/edi-compliance/co-op) are a starting point.

## TRADACOMS syntax

TRADACOMS uses the same separators as default EDIFACT, with one visible difference: the segment tag is followed by `=` instead of `+`.

| Character | Role |
|---|---|
| `=` | Separates the segment tag from its data |
| `+` | Separates data elements |
| `:` | Separates components within an element |
| `'` | Ends a segment |

```
EDIFACT:    NAD+BY+5012345000008::9'
TRADACOMS:  CDT=5012345000008+HARBOUR LANE STORES LTD'
```

### Specific segments, few qualifiers

EDIFACT has one generic `NAD` segment and a qualifier for each party. TRADACOMS defines a separate segment for each purpose: `SDT` for supplier details, `CDT` for customer details, `CLO` for the customer's delivery location. Each field has a fixed position and a short mnemonic name in the specification, such as `SNAM` (supplier's name) or `QTYI` (invoiced quantity). Reading a TRADACOMS segment means counting `+` signs against the spec.

### Implied decimals

TRADACOMS numbers carry no decimal mark. The specification of each field says how many decimal places are implied. BIC's [TRADACOMS trade invoice specification](https://bic.org.uk/wp-content/uploads/2023/01/WDO_UK-Trade-Invoice-TRADACOMS.pdf) shows how this works in the invoice file:

| Field type | Format in the spec | Example | Means |
|---|---|---|---|
| Unit cost and extended line cost (`AUCT`, `LEXC`) | `9(10)V9(4)`: four implied decimals | `129900` | £12.99 |
| VAT percentage (`VATP`) | `9(3)V9(3)`: three implied decimals | `17500` | 17.5% |
| Money totals in the VAT sub-trailer and trailer | Two implied decimals | `4325` | £43.25 |

The `V` marks where the decimal point would be. BIC also notes that all four decimal places should be sent on cost prices, padding with zeros. Implied decimals are where most TRADACOMS mapping bugs live: £6.50 sent as `650` in a four-decimal field is read as 6.5p.

### Dates and other conventions

Dates are `YYMMDD` and times `HHMMSS`, so `261011:091500` is 11 October 2026 at 09:15:00. The UK VAT category codes in invoice files are single letters; the John Lewis spec lists `S` (standard), `Z` (zero), `X` (exempt) and `L` (lower rate).

## How a TRADACOMS transmission is built

The biggest structural difference from EDIFACT is the **file**. In EDIFACT, each message stands alone. In TRADACOMS, a transmission contains files, and each file is a sequence of messages: a header message, one or more detail messages, and one or more trailer messages. Data common to every order or invoice is sent once in the header instead of being repeated.

```
STX                            start of transmission: sender, receiver, date, reference
  MHD 1  ORDHDR                file header message
         TYP SDT CDT FIL
  MTR    6 segments
  MHD 2  ORDERS                detail message: one order
         CLO ORD DIN OLD OLD OTR
  MTR    8 segments
  MHD 3  ORDERS                detail message: another order
         ...
  MTR
  MHD 4  ORDTLR                file trailer message
         OFT
  MTR    3 segments
END                            end of transmission: 4 messages
```

Every message, whatever its role, is wrapped the same way:

- **MHD** (message header) gives the message number within the transmission and the message type and version, for example `MHD=1+ORDHDR:9'`.
- **MTR** (message trailer) gives the number of segments in the message, **counting MHD and MTR**.

The whole transmission sits inside **STX** (start of transmission) and **END** (end of transmission), and `END` gives the number of messages. Optional **BAT** and **EOB** segments can group files into batches. Some partners also ask for a reconciliation message, `RSGRSG`, at the end of the transmission; John Lewis's spec pairs it with the syntax identifier `ANAA` in STX.

### The STX segment

| Position | Field | Example |
|---|---|---|
| 1 | Syntax rules and version | `ANA:1` (or `ANAA:1` with a reconciliation message) |
| 2 | Sender's code and name | `5012345000008:HARBOUR LANE STORES LTD` |
| 3 | Recipient's code and name | `5098765000002:KESTREL VALLEY HOMEWARE` |
| 4 | Date and time of transmission | `261011:091500` |
| 5 | Sender's transmission reference | `000451` |
| 6 | Recipient's transmission reference | Often left empty, or as the partner specifies |
| 7 | Application reference | `ORDHDR`, `INVFIL`, or a test value such as John Lewis's `INVTES` |
| 8 | Priority code | Usually not used |

### File types

| File | Header | Detail | Trailer(s) | Direction |
|---|---|---|---|---|
| [Order](/guides/edi/tradacoms-ordhdr) | `ORDHDR` | `ORDERS` | `ORDTLR` | Customer to supplier |
| Delivery notification | `DELHDR` | `DELIVR` | `DELTLR` | Supplier to customer |
| [Delivery confirmation](/guides/edi/tradacoms-dlchdr) | `DLCHDR` | `DLCDET` | `DLCTLR` | Customer to supplier |
| [Invoice](/guides/edi/tradacoms-invfil) | `INVFIL` | `INVOIC` | `VATTLR`, `INVTLR` | Supplier to customer |
| [Credit note](/guides/edi/tradacoms-crehdr) | `CREHDR` | `CREDIT` | `VATTLR`, `CRETLR` | Supplier to customer |

Product, price, stock, availability, payment and other files follow the same pattern. Our [TRADACOMS file types reference](/guides/edi/tradacoms-file-types) lists every one, grouped by business flow.

## Example 1: an order file with two orders

The fictional retailer Harbour Lane Stores sends one order file to the fictional supplier Kestrel Valley Homeware, with an order for its York store and one for its Leeds store. Identifiers are made-up GS1-style numbers with valid check digits.

<EdifactSample
  title="TRADACOMS order file: ORDHDR, two ORDERS, ORDTLR"
  description="One file header, two orders for two stores, and a file trailer counting them."
  label="TRADACOMS"
  raw="STX=ANA:1+5012345000008:HARBOUR LANE STORES LTD+5098765000002:KESTREL VALLEY HOMEWARE+261011:091500+000451++ORDHDR'
MHD=1+ORDHDR:9'
TYP=0430+NEW-ORDERS'
SDT=5098765000002:KV001+KESTREL VALLEY HOMEWARE LTD'
CDT=5012345000008+HARBOUR LANE STORES LTD'
FIL=451+1+261011'
MTR=6'
MHD=2+ORDERS:9'
CLO=5012345000114:0114+HARBOUR LANE YORK'
ORD=HL-PO-88240::261011'
DIN=261016'
OLD=1+5098765100016:KV-1001++:HL-310245+1+24+65000+++BAMBOO CHOPPING BOARD LARGE'
OLD=2+5098765100030:KV-1003++:HL-310262+1+36+22500+++COTTON TEA TOWEL 3 PACK'
OLD=3+5098765100047:KV-1004++:HL-310277+1+30+72500+++SEASONAL KITCHEN COOKBOOK'
OTR=3'
MTR=9'
MHD=3+ORDERS:9'
CLO=5012345000206:0206+HARBOUR LANE LEEDS'
ORD=HL-PO-88241::261011'
DIN=261016'
OLD=1+5098765100016:KV-1001++:HL-310245+1+12+65000+++BAMBOO CHOPPING BOARD LARGE'
OLD=2+5098765100023:KV-1002++:HL-310251+1+18+98000+++SALT AND PEPPER MILL SET'
OTR=2'
MTR=8'
MHD=4+ORDTLR:9'
OFT=2'
MTR=3'
END=4'"
/>

| Segment | What it does |
|---|---|
| `STX=ANA:1+...` | Start of transmission: syntax, sender, recipient, date and time, reference, application reference `ORDHDR` |
| `MHD=1+ORDHDR:9'` | Message 1 is the order file header, version 9 |
| `TYP=0430+NEW-ORDERS'` | Transaction code 0430: new orders |
| `SDT=5098765000002:KV001+...` | Supplier details: GLN, the customer's own code for the supplier, and name |
| `CDT=5012345000008+...` | Customer details: GLN and name |
| `FIL=451+1+261011'` | File generation number 451, version 1, file date |
| `MTR=6'` | Six segments in the header message, MHD to MTR |
| `CLO=5012345000114:0114+HARBOUR LANE YORK'` | Customer location: the store's GLN, the retailer's own store code, and its name |
| `ORD=HL-PO-88240::261011'` | Customer's order number and order date |
| `DIN=261016'` | Delivery instructions: the delivery date |
| `OLD=1+5098765100016:KV-1001++:HL-310245+1+24+65000+++...` | Order line: line number, GTIN and supplier's code, customer's code, 1 consumer unit per traded unit, 24 ordered, cost price, description |
| `OTR=3'` | Order trailer: three lines in this order |
| `OFT=2'` | Order file trailer: two orders in the file |
| `END=4'` | Four messages in the transmission |

The cost price in each `OLD` (`OUCT`) is `65000`: £6.50 written with four implied decimals, the convention BIC's invoice spec uses for cost prices. Confirm the order file's number formats in your partner's spec before you rely on them.

Three counts to check on every order file: each `MTR` matches the segments from its `MHD` to the `MTR` itself, `OTR` matches the `OLD` lines in each order, and `OFT` matches the number of `ORDERS` messages. `END` must equal the number of `MHD` segments. See the [TRADACOMS order file guide](/guides/edi/tradacoms-ordhdr) for every field.

## Example 2: an invoice file with mixed VAT

Kestrel Valley invoices the York order. Two lines are standard-rated at 20%; the cookbook is zero-rated. The invoice file adds two things the order file does not have: VAT sub-totals inside each invoice (`STL`), and a VAT summary for the whole file (`VATTLR`).

<EdifactSample
  title="TRADACOMS invoice file: INVFIL, INVOIC, VATTLR, INVTLR"
  description="One invoice with 20% and 0% lines, VAT sub-trailers, the file VAT summary, file totals and a reconciliation message."
  label="TRADACOMS"
  raw="STX=ANAA:1+5098765000002:KESTREL VALLEY HOMEWARE+5012345000008:HARBOUR LANE STORES+261020:163000+KV000088++INVFIL'
MHD=1+INVFIL:9'
TYP=0700+INVOICES'
SDT=5098765000002+KESTREL VALLEY HOMEWARE LTD++987654321'
CDT=5012345000008+HARBOUR LANE STORES LTD'
FIL=88+1+261020'
MTR=6'
MHD=2+INVOIC:9'
CLO=5012345000114'
IRF=KV-INV-21004+261020+261020'
ODD=1+HL-PO-88240::261011+KV-DN-5521:261016'
ILD=1+1+5098765100016:KV-1001+++1+24+65000+1560000+S+20000+++BAMBOO CHOPPING BOARD LARGE'
ILD=1+2+5098765100030:KV-1003+++1+36+22500+810000+S+20000+++COTTON TEA TOWEL 3 PACK'
ILD=1+3+5098765100047:KV-1004+++1+30+72500+2175000+Z+0+++SEASONAL KITCHEN COOKBOOK'
STL=1+S+20000+2+23700+++++23700++23700+4740++28440'
STL=2+Z+0+1+21750+++++21750++21750+0++21750'
TLR=2+45450+++++45450++45450+4740++50190'
MTR=11'
MHD=3+VATTLR:9'
VRS=1+S+20000+23700+23700+4740+28440+28440'
VRS=2+Z+0+21750+21750+0+21750+21750'
MTR=4'
MHD=4+INVTLR:9'
TOT=45450+45450+4740+50190+50190+1'
MTR=3'
MHD=5+RSGRSG:2'
RSG=KV000088+5012345000008'
MTR=3'
END=5'"
/>

| Segment | What it does | Decoded |
|---|---|---|
| `TYP=0700+INVOICES'` | Transaction code 0700: invoices | |
| `SDT=...++987654321'` | Supplier GLN, legal name, (no address), VAT number | VAT reg 987654321 |
| `CLO=5012345000114'` | Delivery location the invoice relates to | York store |
| `IRF=KV-INV-21004+261020+261020'` | Invoice number, invoice date, tax point date | 20 Oct 2026 |
| `ODD=1+HL-PO-88240::261011+KV-DN-5521:261016'` | Order and delivery references: order number and date, delivery note and despatch date | |
| `ILD=1+1+...+24+65000+1560000+S+20000+++...` | Line: 24 at £6.5000, extended cost £156.0000, VAT S at 20.000% | 24 x 6.50 = 156.00 |
| `ILD=1+3+...+30+72500+2175000+Z+0+++...` | Line: 30 at £7.25, extended £217.50, zero-rated | |
| `STL=1+S+20000+2+23700+...+4740++28440'` | VAT sub-trailer for 20%: 2 lines, £237.00 before VAT, £47.40 VAT, £284.40 payable | 237.00 x 20% = 47.40 |
| `STL=2+Z+0+1+21750+...` | VAT sub-trailer for 0%: 1 line, £217.50 | |
| `TLR=2+45450+...+4740++50190'` | Invoice trailer: 2 VAT rates, lines £454.50, VAT £47.40, payable £501.90 | 454.50 + 47.40 |
| `VRS=1+S+20000+...` / `VRS=2+Z+0+...` | File VAT summary, one per rate used in the file | |
| `TOT=45450+45450+4740+50190+50190+1'` | File totals: before VAT, after discount, VAT, payable twice, and 1 invoice | |
| `RSG=KV000088+5012345000008'` | Reconciliation: repeats the STX reference and recipient | |
| `END=5'` | Five messages | |

The field positions follow the published BIC and John Lewis invoice specs: `ILD` runs line sequence, product codes, units per traded unit, quantity, unit cost (`AUCT`), extended cost (`LEXC`), VAT code (`VATC`), VAT rate (`VATP`), then description. `STL` and `TLR` leave discount and surcharge fields empty when there are none, which is why you see runs of `+++++`.

The arithmetic has to hold at every level. Each `STL` totals the `ILD` lines at its rate. `TLR` totals the `STL` segments. Each `VRS` totals the `STL` segments at its rate across every invoice in the file, and `TOT` totals the `VRS` segments. For the full field list, see the [TRADACOMS invoice file guide](/guides/edi/tradacoms-invfil), and for credits, the [credit note file guide](/guides/edi/tradacoms-crehdr).

## How TRADACOMS maps to EANCOM

The two standards carry the same business data in different shapes. The biggest shift is that file-level data in TRADACOMS (supplier, customer, VAT summary) has to appear inside every EANCOM message, because each EDIFACT message stands alone.

| TRADACOMS | Purpose | EANCOM equivalent |
|---|---|---|
| `STX` / `END` | Transmission envelope | `UNB` / `UNZ` |
| `MHD` / `MTR` | Message header and trailer | `UNH` / `UNT` |
| `TYP` | Transaction type | `BGM` document code (`220` order, `380` invoice) |
| `SDT` | Supplier details | `NAD+SU`, with `RFF+VA` for the VAT number |
| `CDT` | Customer details | `NAD+BY` |
| `CLO` | Customer delivery location | `NAD+DP` |
| `FIL` | File generation number | No equivalent; `UNB` control reference is the closest |
| `ORD` | Order number and date | `BGM` number and `DTM+137` |
| `DIN` | Delivery date | `DTM+2` |
| `OLD` | Order line | `LIN`, `PIA`, `IMD`, `QTY+21`, `PRI` |
| `OTR` | Lines in an order | `CNT+2` |
| `IRF` | Invoice number and dates | `BGM+380` and `DTM+137` |
| `ODD` | Order and delivery references | `RFF+ON` and `RFF+DQ` with `DTM+171` |
| `ILD` | Invoice line | `LIN`, `QTY+47`, `PRI`, `MOA+203`, `TAX` |
| `STL` | VAT per rate in one invoice | Summary `TAX` with `MOA+125` and `MOA+124` |
| `TLR` | Invoice totals | `MOA+79`, `MOA+176`, `MOA+86` |
| `VATTLR` / `INVTLR` | File VAT summary and totals | None. Each INVOIC carries its own totals |
| `OFT` / `TOT` count | Documents in the file | Message count in `UNZ` |

Our [EDIFACT ORDERS guide](/guides/edi/edifact-orders) and [EDIFACT INVOIC guide](/guides/edi/edifact-invoic) show the EANCOM side of the same order and invoice.

## TRADACOMS vs EDIFACT

| | TRADACOMS | EDIFACT / EANCOM |
|---|---|---|
| Origin | ANA (now GS1 UK), 1982 | UN/CEFACT; ISO 9735 syntax approved 1987 |
| Status | No longer developed; GS1 UK support ended 2017 | Actively maintained (EANCOM by GS1) |
| Scope | UK only, sterling and UK VAT | International, any currency and tax regime |
| Interchange envelope | `STX` / `END` | `UNB` / `UNZ` |
| Batch / group | `BAT` / `EOB` | `UNG` / `UNE` |
| Message envelope | `MHD` / `MTR` | `UNH` / `UNT` |
| Tag separator | `=` | `+` |
| Structure | Files: header, detail and trailer messages | Self-contained messages |
| Segments | Specific, one per purpose | Generic, distinguished by qualifiers |
| Decimals | Implied, set per field | Explicit decimal point |
| Dates | `YYMMDD` | `CCYYMMDD` with a format code |

### Message equivalents

| Business document | TRADACOMS | EDIFACT | X12 |
|---|---|---|---|
| Purchase order | Order file (`ORDHDR`, `ORDERS`, `ORDTLR`) | [ORDERS](/guides/edi/edifact-orders) | [850](/guides/edi/850-purchase-order) |
| Order acknowledgement | Acknowledgement of order file (`ACKHDR`) | [ORDRSP](/guides/edi/edifact-ordrsp) | [855](/guides/edi/855-purchase-order-acknowledgment) |
| Delivery or ship notice | Delivery notification file (`DELHDR`) | [DESADV](/guides/edi/edifact-desadv) | [856](/guides/edi/856-ship-notice) |
| Goods receipt | Delivery confirmation file (`DLCHDR`) | [RECADV](/guides/edi/edifact-recadv) | [861](/guides/edi/861-receiving-advice) |
| Invoice | Invoice file (`INVFIL`) | [INVOIC](/guides/edi/edifact-invoic) | [810](/guides/edi/810-invoice) |
| Credit note | Credit note file (`CREHDR`) | INVOIC with `BGM+381` | 810 credit or [812](/guides/edi/812-credit-debit-adjustment) |
| Price list | Price information file (`PRIHDR`) | [PRICAT](/guides/edi/edifact-pricat) | [832](/guides/edi/832-price-sales-catalog) |

Watch the names. TRADACOMS and EDIFACT both have messages called `ORDERS` and `INVOIC`, but they are different formats. A TRADACOMS `INVOIC` inside an invoice file cannot be read by an EDIFACT INVOIC parser.

## Moving from TRADACOMS to EANCOM

1. **Map business data, not segments.** A TRADACOMS order file and an EANCOM ORDERS carry the same order. Map both to your ERP's order model instead of converting one format into the other segment by segment.
2. **Expect one EDIFACT message per document.** Header data that TRADACOMS sends once per file is repeated in every EANCOM message, and the file-level VAT summary disappears.
3. **Recheck every number.** Implied decimals in TRADACOMS become explicit decimals in EANCOM. Quantity, price and VAT rate fields are where conversions go wrong.
4. **Re-agree VAT codes.** TRADACOMS uses `S`, `Z`, `X` and `L`. EANCOM's own list is `S`, `E` and `A`, with other codes set by national guidelines. Get the new codes from your customer.
5. **Keep GS1 identifiers.** Both standards use GLNs and GTINs, so your master data carries over.
6. **Run both in parallel** during cut-over and compare the orders and invoices that reach your ERP.

OrderSync supports EDIFACT, EANCOM and TRADACOMS alongside X12, PDF, CSV and email, so you can run both formats with the same customer during a migration.

## Frequently Asked Questions

### Is TRADACOMS still used?

Yes. GS1 UK stopped supporting it on 1 July 2017 and recommends EANCOM or GS1 XML for new users, but UK retailers and their suppliers still exchange orders, delivery notes and invoices in TRADACOMS, and the UK book trade has its own TRADACOMS-based messages.

### What is the difference between TRADACOMS and EDIFACT?

TRADACOMS is a UK-only standard from 1982 that groups messages into files with header and trailer messages, uses `=` after the segment tag, sends numbers with implied decimals, and assumes sterling and UK VAT. EDIFACT is the international UN standard with self-contained messages, generic qualified segments, explicit decimals and any currency. EANCOM, the GS1 subset of EDIFACT, is the recommended replacement for TRADACOMS.

### What do STX and END mean in TRADACOMS?

`STX` starts a transmission and identifies the syntax, sender, receiver, date and references. `END` closes it and states how many messages it contained. They do the job of `UNB` and `UNZ` in EDIFACT, or `ISA` and `IEA` in X12.

### What is ORDHDR in TRADACOMS?

`ORDHDR` is the header message of a TRADACOMS order file. It carries data common to every order in the file, such as supplier and customer details and the file generation number. It is followed by one `ORDERS` message per order and an `ORDTLR` trailer.

### How do implied decimals work in TRADACOMS?

Each numeric field has a fixed number of implied decimal places set by the specification. In the invoice file, BIC's spec gives unit and line costs four implied decimals (`129900` is £12.99), VAT rates three (`17500` is 17.5%) and VAT sub-totals two (`4325` is £43.25). Always take the format from your partner's spec.

### What is VATTLR?

`VATTLR` is the file VAT trailer in a TRADACOMS invoice or credit note file. It comes after the last invoice and holds one `VRS` segment per VAT rate used anywhere in the file, totalling the amounts before VAT, the VAT, and the amounts payable.

### Can an EDI inspector read TRADACOMS?

TRADACOMS shares separators with EDIFACT but has a different envelope and file structure, so a parser needs to support it explicitly. The free [EDIFACT inspector](/edifact-inspector) reads both and checks the MTR and END counts; for X12, use the [EDI inspector](/edi-inspector).

## Related guides

- **[EDIFACT explained](/guides/edi/edifact)**: the international standard TRADACOMS is being replaced by
- **[TRADACOMS file types](/guides/edi/tradacoms-file-types)**: every TRADACOMS file, grouped by business flow
- **[TRADACOMS order file](/guides/edi/tradacoms-ordhdr)**, **[invoice file](/guides/edi/tradacoms-invfil)**, **[credit note file](/guides/edi/tradacoms-crehdr)** and **[delivery confirmation](/guides/edi/tradacoms-dlchdr)**: field-by-field guides
- **[EDIFACT ORDERS](/guides/edi/edifact-orders)** and **[EDIFACT INVOIC](/guides/edi/edifact-invoic)**: the EANCOM equivalents
- **[EDIFACT message types](/guides/edi/edifact-message-types)**: the EDIFACT catalogue for comparison

## Sources

- [Ending support for TRADACOMS](https://www.gs1uk.org/insights/news/ending-support-for-tradacoms), GS1 UK
- [How can GS1 UK support me with TRADACOMS?](https://www.gs1uk.org/knowledge-hub/standards/can-gs1-uk-support-me-with-tradacoms), GS1 UK
- [EDI guidance for new users](https://www.gs1uk.org/sites/default/files/EDI_guidance_for_new_users.pdf), GS1 UK
- [Trade Invoice TRADACOMS specification](https://bic.org.uk/wp-content/uploads/2023/01/WDO_UK-Trade-Invoice-TRADACOMS.pdf), BIC
- [EDI TRADACOMS invoice specifications](https://www.jlpsuppliers.com/supplier-finance-queries/new-connections/edi-tradacoms-invoice-specifications), John Lewis Partnership
- [Purchase order components for TRADACOMS](https://www.ibm.com/docs/he/SS6V3G_5.3.1/com.ibm.help.gswformsinttutprint.doc/GSW_Purchase_Order_Components_for_TRAD.html), IBM
- [TRADACOMS](https://en.wikipedia.org/wiki/TRADACOMS), Wikipedia

Check a TRADACOMS or EDIFACT file in the free [EDIFACT inspector](/edifact-inspector) before you send it to your customer.
