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 and the GS1 EANCOM subset that UK retail is gradually moving to.
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 and supports only GS1 EANCOM, GS1 XML and the GS1 UN/CEFACT XML profile |
GS1 UK's own EDI guidance for new users 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, which publishes its own invoice specification.
- Retailers still publish TRADACOMS specs. The John Lewis Partnership, for example, publishes a TRADACOMS invoice specification 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, Sainsbury's, Asda, Morrisons, Ocado, Waitrose, Marks & Spencer, Boots and the 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 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 | ORDHDR | ORDERS | ORDTLR | Customer to supplier |
| Delivery notification | DELHDR | DELIVR | DELTLR | Supplier to customer |
| Delivery confirmation | DLCHDR | DLCDET | DLCTLR | Customer to supplier |
| Invoice | INVFIL | INVOIC | VATTLR, INVTLR | Supplier to customer |
| Credit note | CREHDR | CREDIT | VATTLR, CRETLR | Supplier to customer |
Product, price, stock, availability, payment and other files follow the same pattern. Our TRADACOMS file types reference 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.
TRADACOMS order file: ORDHDR, two ORDERS, ORDTLR
One file header, two orders for two stores, and a file trailer counting them.
ORDHDR · Order file header · ref 1
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Supplier SDT | 5098765000002GS1 GLN | KESTREL VALLEY HOMEWARE LTD |
| Customer CDT | 5012345000008GS1 GLN | HARBOUR LANE STORES LTD |
ORDERS · Order · ref 2
- Document
- Order
- Document number
- HL-PO-88240
- Order date
- 2026-10-11
- Earliest delivery date
- 2026-10-16
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Delivery location CLO | 5012345000114GS1 GLN | HARBOUR LANE YORK |
Lines (3)
| # | GTIN | Codes | Description | Qty | Price | Amount (qty x price) |
|---|---|---|---|---|---|---|
| 1 | 5098765100016 | Supplier: KV-1001 Buyer: HL-310245 | BAMBOO CHOPPING BOARD LARGE | 24traded unit of 1 | 6.5000 | 156.00 |
| 2 | 5098765100030 | Supplier: KV-1003 Buyer: HL-310262 | COTTON TEA TOWEL 3 PACK | 36traded unit of 1 | 2.2500 | 81.00 |
| 3 | 5098765100047 | Supplier: KV-1004 Buyer: HL-310277 | SEASONAL KITCHEN COOKBOOK | 30traded unit of 1 | 7.2500 | 217.50 |
ORDERS · Order · ref 3
- Document
- Order
- Document number
- HL-PO-88241
- Order date
- 2026-10-11
- Earliest delivery date
- 2026-10-16
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Delivery location CLO | 5012345000206GS1 GLN | HARBOUR LANE LEEDS |
Lines (2)
| # | GTIN | Codes | Description | Qty | Price | Amount (qty x price) |
|---|---|---|---|---|---|---|
| 1 | 5098765100016 | Supplier: KV-1001 Buyer: HL-310245 | BAMBOO CHOPPING BOARD LARGE | 12traded unit of 1 | 6.5000 | 78.00 |
| 2 | 5098765100023 | Supplier: KV-1002 Buyer: HL-310251 | SALT AND PEPPER MILL SET | 18traded unit of 1 | 9.8000 | 176.40 |
ORDTLR · Order file trailer · ref 4
Transmission (STX)
- Sender
- HARBOUR LANE STORES LTDcode 5012345000008
- Recipient
- KESTREL VALLEY HOMEWAREcode 5098765000002
- Prepared
- 2026-10-11 09:15:00
- Control reference
- 000451
- Syntax
- ANA:1
- Messages
- 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 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).
TRADACOMS invoice file: INVFIL, INVOIC, VATTLR, INVTLR
One invoice with 20% and 0% lines, VAT sub-trailers, the file VAT summary, file totals and a reconciliation message.
INVFIL · Invoice file header · ref 1
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Supplier SDT | 5098765000002GS1 GLN | KESTREL VALLEY HOMEWARE LTD |
| Customer CDT | 5012345000008GS1 GLN | HARBOUR LANE STORES LTD |
INVOIC · Invoice · ref 2
- Document
- Invoice
- Document number
- KV-INV-21004
- Invoice date
- 2026-10-20
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Delivery location CLO | 5012345000114GS1 GLN | - |
Lines (3)
| # | GTIN | Codes | Description | Qty | Price | Amount |
|---|---|---|---|---|---|---|
| 1.1 | - | - | - | - | - | - |
| 1.2 | - | - | - | - | - | - |
| 1.3 | - | - | - | - | - | - |
VATTLR · VAT trailer · ref 3
INVTLR · Invoice file trailer · ref 4
RSGRSG · Reconciliation message · ref 5
Transmission (STX)
- Sender
- KESTREL VALLEY HOMEWAREcode 5098765000002
- Recipient
- HARBOUR LANE STOREScode 5012345000008
- Prepared
- 2026-10-20 16:30:00
- Control reference
- KV000088
- Syntax
- ANAA:1
- Messages
- 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, and for credits, the credit note file guide.
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 and EDIFACT INVOIC guide 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 | 850 |
| Order acknowledgement | Acknowledgement of order file (ACKHDR) | ORDRSP | 855 |
| Delivery or ship notice | Delivery notification file (DELHDR) | DESADV | 856 |
| Goods receipt | Delivery confirmation file (DLCHDR) | RECADV | 861 |
| Invoice | Invoice file (INVFIL) | INVOIC | 810 |
| Credit note | Credit note file (CREHDR) | INVOIC with BGM+381 | 810 credit or 812 |
| Price list | Price information file (PRIHDR) | PRICAT | 832 |
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
- 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.
- 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.
- Recheck every number. Implied decimals in TRADACOMS become explicit decimals in EANCOM. Quantity, price and VAT rate fields are where conversions go wrong.
- Re-agree VAT codes. TRADACOMS uses
S,Z,XandL. EANCOM's own list isS,EandA, with other codes set by national guidelines. Get the new codes from your customer. - Keep GS1 identifiers. Both standards use GLNs and GTINs, so your master data carries over.
- 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 reads both and checks the MTR and END counts; for X12, use the EDI inspector.
Related guides
- EDIFACT explained: the international standard TRADACOMS is being replaced by
- TRADACOMS file types: every TRADACOMS file, grouped by business flow
- TRADACOMS order file, invoice file, credit note file and delivery confirmation: field-by-field guides
- EDIFACT ORDERS and EDIFACT INVOIC: the EANCOM equivalents
- EDIFACT message types: the EDIFACT catalogue for comparison
Sources
- Ending support for TRADACOMS, GS1 UK
- How can GS1 UK support me with TRADACOMS?, GS1 UK
- EDI guidance for new users, GS1 UK
- Trade Invoice TRADACOMS specification, BIC
- EDI TRADACOMS invoice specifications, John Lewis Partnership
- Purchase order components for TRADACOMS, IBM
- TRADACOMS, Wikipedia
Check a TRADACOMS or EDIFACT file in the free EDIFACT inspector before you send it to your customer.