
For GB ENS declarations, the first place of arrival code (customs office of first entry code) is a mandatory field.
This field is called RefNumCUSOFFFENT731 in the XML file and needs to be added at header level. HMRC has published a list (full list below), but there are still a few ports missing from it. If the port is missing from the list, the closest customs office code needs to be sent.
One missing port is Cairnryan. You should be able to use GB003040 (Glasgow) for the port of Cairnryan until the list gets updated. Heysham, Fishguard, Killingholme and Pembroke were added to the list on 31 January 2025, and HMRC added 24 more ports on 17 December 2025.
The full list is available here:
https://www.gov.uk/guidance/location-codes-for-ports-of-entry-in-great-britain
| UK port of entry | Traffic type | S&S GB location code |
|---|---|---|
| Aberdeen | Sea traffic | GB000434 |
| Aberdeen Airport | Air traffic | GB000411 |
| Admiralty Pier | Sea traffic | GB004006 |
| Avonmouth 1 | Sea traffic | GB000033 |
| Barrow in Furness | Sea traffic | GB003010 |
| Barry Dock | Sea traffic | GB000125 |
| Berwick upon Tweed | Sea traffic | GB003020 |
| Biggin Hill | Air traffic | GB003290 |
| Birmingham Airport | Air traffic | GB000011 |
| Blackpool International Airport | Air traffic | GB003030 |
| Blyth | Sea traffic | GB004005 |
| Boston | Sea traffic | GB000244 |
| Bournemouth (Hurn) Airport | Air traffic | GB003060 |
| BP Oils Wharf, Rochester | Sea traffic | GB004000 |
| Bridgwater (Port of) | Sea traffic | GB005020 |
| Brightlingsea (Port of), Olivers Wharf | Sea traffic | GB004003 |
| Bristol International Airport | Air traffic | GB000029 |
| Brize Norton | Air traffic | GB003070 |
| Calor Gas Jetty (Canvey Terminal) | Sea traffic | GB004007 |
| Cambridge Airport | Air traffic | GB003080 |
| Cardiff | Sea traffic | GB000328 |
| Cardiff International Airport | Air traffic | GB000122 |
| Chatham | Sea traffic | GB000480 |
| Corporation Wharf, Cattedown | Sea traffic | GB004027 |
| Coventry International Hub | Not applicable | GB000500 |
| Doncaster | Air traffic | GB001011 |
| Dover | Sea traffic | GB000040 |
| Dundee (Sea) | Sea traffic | GB003100 |
| Durham Tees Valley (Teeside Apt) | Air traffic | GB003180 |
| East Midlands Airport | Air traffic | GB000245 |
| Edinburgh Airport | Air traffic | GB000128 |
| Exeter Airport | Air traffic | GB000297 |
| Falmouth | Sea traffic | GB000108 |
| Farnborough Airport | Air traffic | GB003110 |
| Felixstowe | Sea traffic | GB000051 |
| Fishguard | Sea traffic | GB005200 |
| Folkestone | Sea traffic | GB000041 |
| Folkestone Eurotunnel Freight | Road and rail traffic | GB000060 |
| Fords Jetty/Dagenham | Sea traffic | GB000921 |
| Forth Port Rosyth | Sea traffic | GB000057 |
| Fowey Harbour | Sea traffic | GB004013 |
| Fraserburgh Harbour | Sea traffic | GB004011 |
| Glasgow Docks | Sea traffic | GB003040 |
| Gloucester (Staverton) Airport | Air traffic | GB003120 |
| Grangemouth | Sea traffic | GB000059 |
| Great Yarmouth | Sea traffic | GB000054 |
| Grimsby | Sea traffic | GB000073 |
| Haldon Pier | Sea traffic | GB004023 |
| Hartlepool | Sea traffic | GB003140 |
| Harwich | Sea traffic | GB000052 |
| Heysham | Sea traffic | GB005210 |
| Hole Haven Wharf | Sea traffic | GB004015 |
| Holyhead | Sea traffic | GB000124 |
| Howdendyke (Port of) | Sea traffic | GB004017 |
| Hull | Sea traffic | GB000072 |
| Humberside International Airport | Air traffic | GB003130 |
| HWDC Langley | Not applicable | GB000501 |
| Immingham | Sea traffic | GB000074 |
| Inverness | Sea traffic | GB003150 |
| Ipswich (Port of) | Sea traffic | GB000053 |
| Isle of Man Customs and Excise | Air and sea traffic | GB000450 |
| Jersey Customs and Immigration | Air and sea traffic | GB000465 |
| Keadby Wharf | Sea traffic | GB004018 |
| Kemble Airport | Air traffic | GB003160 |
| Killingholme | Sea traffic | GB005170 |
| King’s Lynn | Sea traffic | GB000055 |
| Kirkwall (Orkney Islands) | Sea traffic | GB003170 |
| Kishorn (Port of) | Sea traffic | GB004010 |
| Kyle Harbour | Sea traffic | GB004022 |
| Kyleakin (Isle of Skye) | Sea traffic | GB004014 |
| Langstone Harbour | Sea traffic | GB005060 |
| Leeds Bradford Airport | Air traffic | GB000087 |
| Lerwick | Air and sea traffic | GB001016 |
| Lighterage Quay | Sea traffic | GB004008 |
| Liverpool John Lennon Airport | Air traffic | GB003190 |
| Liverpool Seaforth S2 berth | Sea traffic | GB000080 |
| London Ashford (Lydd) Airport | Air and sea traffic | GB003200 |
| London City Airport | Air traffic | GB000130 |
| London Gateway Port | Sea traffic | GB000170 |
| London Gatwick Airport Cargo Dist | Air traffic | GB000085 |
| London Heathrow Cargo | Air traffic | GB000084 |
| London Southend Airport | Air traffic | GB000091 |
| Lowestoft | Sea traffic | GB004002 |
| Luton Airport FCT | Air traffic | GB000102 |
| Manchester | Air traffic | GB000191 |
| Manchester Docks | Sea traffic | GB003220 |
| Medina Wharf | Sea traffic | GB004016 |
| Mersey Wharf | Sea traffic | GB004021 |
| Middlesbrough (Port of) | Sea traffic | GB005080 |
| Mistley Wharf | Sea traffic | GB004024 |
| Montrose (Port of) | Sea traffic | GB005180 |
| Neath (Port of) | Sea traffic | GB005090 |
| Newcastle Airport | Air traffic | GB000098 |
| Newcastle-upon-Tyne | Air and sea traffic | GB000218 |
| Newhaven | Sea traffic | GB003250 |
| Newport | Sea traffic | GB000049 |
| Nigg (Port of) | Sea traffic | GB004012 |
| Norwich Airport | Air traffic | GB000058 |
| Oxford (Kidlington) Airport | Air traffic | GB003230 |
| Pembroke Dock | Sea traffic | GB000126 |
| Penrhyn (Port of) | Sea traffic | GB005100 |
| Peterhead | Sea traffic | GB000416 |
| Plymouth | Air traffic | GB000250 |
| Plymouth Docks | Sea traffic | GB003050 |
| Poole Ferry Terminal | Sea traffic | GB000291 |
| Portland (Port of) | Sea traffic | GB004019 |
| Portree (Isle of Skye) | Sea traffic | GB003240 |
| Portsmouth | Sea traffic | GB000292 |
| Prestwick Airport | Air traffic | GB000070 |
| Purfleet Thames | Sea traffic | GB000149 |
| Ramsgate | Sea traffic | GB000047 |
| Redcar Bulk Terminal | Sea traffic | GB004020 |
| Ridham Sea Terminal | Sea traffic | GB005110 |
| Saltburn Pier | Sea traffic | GB004009 |
| Scotland Frontier | Air traffic | GB000067 |
| Scrabster (Port of) | Sea traffic | GB000062 |
| Sheerness | Sea traffic | GB000045 |
| Shoreham (Port of) | Sea traffic | GB005130 |
| Southampton | Sea traffic | GB000290 |
| Southampton (Eastleigh) Airport | Air traffic | GB003090 |
| St Peter Port, Guernsey | Air and sea traffic | GB000461 |
| Stansted Airport FCT | Air traffic | GB000121 |
| Stornoway (Isle of Lewis) | Sea traffic | GB003260 |
| Stornoway Airport | Air traffic | GB003270 |
| Sutton Bridge (Port of) | Sea traffic | GB004001 |
| Swansea | Sea traffic | GB000123 |
| Teesport | Sea traffic | GB000219 |
| Thames Europort (DIFT) | Sea traffic | GB000099 |
| Thamesport | Sea traffic | GB000150 |
| Tilbury | Sea traffic | GB000093 |
| Ullapool Wharf | Sea traffic | GB004025 |
| Victoria Wharf | Sea traffic | GB004026 |
| Wick (Port of) | Sea traffic | GB004028 |
| Wisbech (Port of) | Sea traffic | GB004004 |
| Workington | Sea traffic | GB003280 |
Questions
Is the first place of arrival code mandatory in a GB ENS?
Yes. The first place of arrival code (the customs office of first entry code) is a mandatory field, added at header level. In the XML file it's called RefNumCUSOFFFENT731.
What if my port isn't on HMRC's list of location codes?
If the port is missing from the list, the code of the closest customs office needs to be sent.


