Skip to content
Reference

Which port goes in which field

Which port goes in which field

Last updated

A CSN asks for five different ports, and several of them are the same port in most filings. That combination — many fields, one answer repeated — is what makes them easy to get wrong, and a wrong port code is a rejection rather than a warning.

This page says what each one means and what real accepted filings actually put in it.

The short answer

For a straightforward import that stays at the port it arrives at:

FieldWhat it holdsTypical value
prtOfAcptCddWhere the carrier took charge of the goods — the foreign load portCNSHA
firstPrtOfEntryThe first Indian port the vessel entersINNSA1
nxtPrtOfUnladingWhere the cargo is next unladenINNSA1
prtOfReceiptCddWhere the goods are receivedINNSA1
destPrtWhere the cargo is finally destined, often port + terminalINNSA1ELP1

So: one foreign port, three copies of the Indian arrival port, and a destination that is that port plus the place holding the cargo.

The mistake almost everyone makes first

prtOfReceiptCdd is the Indian port, not the foreign one.

It reads like the opposite — "receipt" sounds like where the carrier received the cargo, which is overseas. That meaning belongs to prtOfAcptCdd, the port of acceptance. Port of receipt is where the goods are received into the movement this filing is declaring, which for an import is in India.

If you have put a foreign code in prtOfReceiptCdd — USNYC, CNSHA, NLRTM — it is very likely in the wrong field, and the foreign port belongs one row up.

What accepted filings actually carry

Two filings customs accepted (one of which was issued a PCIN):

FieldAccepted filing AAccepted filing B
prtOfAcptCddCNSHA — ShanghaiNLRTM — Rotterdam
firstPrtOfEntryINNSA1 — Nhava ShevaINVTZ1 — Visakhapatnam
nxtPrtOfUnladingINNSA1INVTZ1
prtOfReceiptCddINNSA1INVTZ1
destPrtINNSA1ELP1INVTZ1VCT2

Both show the same shape: the only foreign code is the port of acceptance. Everything else is the Indian arrival port, and the destination is that port with a four-character terminal or CFS appended.

Why is destPrt longer than the others?

Because it can name a place inside the port, not just the port.

A port code is five characters (INNSA1, six with the customs suffix). destPrt accepts that plus a four-character CFS or terminal code — INNSA1ELP1 is Nhava Sheva, container freight station ELP1; INVTZ1VCT2 is Visakhapatnam, terminal VCT2. It is the only port field that does this, which is why it looks malformed beside the others when it is in fact correct.

If the cargo is simply destined for the port with no particular facility named, the plain port code is right.

The 10-character form covers two different kinds of facility: a CFS the cargo moves onward to, and a terminal inside the port for direct port delivery — CBIC's SCMTR clarifications allow either as the LC destination. A terminal is filed with the sea leg alone, and so are most accepted filings for a CFS at the same port — some add a second leg by road, and customs accepted both; see a CFS at the gateway: one leg or two.

What changes when the cargo moves inland?

This is where the three Indian ports stop agreeing, and it is the whole reason there are three fields instead of one.

A filing where the vessel arrives at Mundra but the cargo is destined for ICD Dadri carries:

    firstPrtOfEntry = INMUN1 — the vessel still enters India at MundranxtPrtOfUnlading = INDER6 — the cargo is next unladen inland, at DadriprtOfReceiptCdd = INDER6destPrt = INDER6

So firstPrtOfEntry stays with the ship and the other three follow the cargo. When nothing moves onward they are all the same value, which is why the distinction only becomes visible on a transhipment or an inland movement.

(This shape comes from a real filing that was accepted at upload but whose acknowledgement was never collected, so treat it as a strong indication rather than something customs has confirmed — unlike the two-port table above, which is from acknowledged filings.)

prtOfReceiptCdd is not decoration — customs validates the cargo movement against it. A receipt port that is a sea port and a movement of anything but LC is error 365; an ICD receipt port with LC is error 366. So the three fields that follow the cargo have to move together: leave the receipt port at the gateway while changing the destination to an ICD and the filing is refused for the mismatch, not for the destination. See the 365/366 check.

Two inland stations at one place are not told apart by that check — so the line's manifest decides. CBIC's own definition, given to the sea carriers in its SCMTR follow-up of 25 July 2019 (FAQ 2.k), is that the port of receipt is the port of destination as per the bill of lading. Dadri has several customs stations — INDER6 is ICD Dadri (CONCOR), INAPL6, INCPL6, INSTT6 and INTTP6 are CFS and terminal operators there — and a CSN sent on 2026-09-25 named INAPL6 as its port of receipt beside INDER6 as next port of unlading and destination. Customs accepted it: 365/366 only tell a sea port from an inland station, and both codes are inland. The filer found the odd one on ICEGATE's record afterwards, next to the shipping line's manifest line, which carried INDER6 in all three. So the rule for an inland delivery is the one above — the three fields that follow the cargo carry the station the line's manifest names — and a CSN whose receipt port is another Indian station than its next port of unlading is now told so in amber (never red: customs has accepted it). The guided steps and the full form move the receipt port and the next port with a changed destination while they still hold the old one's station; a port typed differently on purpose stays.

Can nxtPrtOfUnlading be a foreign port?

Yes, for transit cargo that is not staying in India — it is not restricted to the Indian port list, and neither is prtOfReceiptCdd. Both accept world port codes precisely so that a transhipment leaving India can be declared honestly.

For ordinary import cargo, both are Indian.

Which of these is "the reporting port"?

The reporting port is the port the filing is made at, and for a normal import it is the same as firstPrtOfEntry. The platform pre-fills new house bills from it for that reason.

They come apart in the same situations as above: the reporting port is about where you are filing, firstPrtOfEntry is about where the vessel arrives. In the common case they agree.

The ship calls another Indian port before mine — which port's VCN, and where do I file?

A VCN belongs to a port, not to a ship. The port code is inside the number — see the parts of a VCN — and customs' own enquiry answers about a hull port by port — vessels with calls at two or more Indian ports are ordinary in the calls recorded here. So a ship working a multi-port Indian rotation has a different VCN at each port, and "the ship's VCN" is not a thing you can ask for.

File the call at the port your filing reports to — and that is the port where your cargo is discharged. That is what the working filer does. One real filing here covers cargo that physically sailed Ningbo → Nhava Sheva → Mundra and was discharged at Mundra: its Indian gateway is Mundra and the Nhava Sheva call appears nowhere in it. In the filer's own words, "we report only the Indian gateway port and the final destination" — see where the cargo goes after the gateway port.

So for a ship calling Mundra and then Nhava Sheva, with your cargo discharged at Nhava Sheva:

    port of reporting and firstPrtOfEntry — INNSA1, and the two must be the same value: those two disagreeing is exactly what ICEGATE's 59 First Port is Not Same as Port of Reporting is about;the conveyance reference — the VCN for that ship's call at Nhava Sheva, not the Mundra call it arrived in India on;nxtPrtOfUnlading, prtOfReceiptCdd and destPrt — decided by what happens to the cargo after Nhava Sheva, exactly as in the sections above.

Where the published wording pulls the other way. ICEGATE's resolution for 59 reads: the port of reporting should be the first Indian port the vessel enters. Read strictly against a hull that called somewhere else first, that is in tension with the practice above, and this page will not pretend the tension away. What the code itself says is narrower, and is what every accepted filing here satisfies: the first port of entry you declare and the port you report to are one value. Filers read "the first Indian port the vessel enters" as the first Indian port this cargo enters — the port it comes off the ship at.

Cargo that stays aboard past an Indian port is the case with a published shape of its own, and it is two declarations rather than one. CBIC's clarifications answer it directly: cargo from a foreign port to be landed at Mundra having come in via Nhava Sheva is denoted DT (domestic transit) at Nhava Sheva and LC where it clears at Mundra, staying IM throughout. Two submissions, at two ports — so each carries the VCN of that ship's call at its own port. Note what that shape is, though: DT belongs to cargo that stays with the vessel, which is the vessel operator's story, and it appears in no forwarder filing we hold. If your cargo really does stay aboard past an Indian port, agree the shape with the line or your customs broker before you file.

Inside the app. The calls customs lists for the ship are shown with the ones at your own port first, because that is nearly always where your cargo lands. Picking one with Use writes that call's VCN, and where the port of reporting is still your organisation's default it follows the call's port, with the panel listing what it filled — so check the rest of the port fields afterwards, since they do not all move together. A call at a different port from the port of reporting is one of the things you are stopped and told about before signing. Nothing is ever rewritten for you and no call is ever picked for you.

Which of two Indian calls to file is read off ICEGATE's error list and CBIC's clarifications — both published — together with a working filer's practice. No acknowledgement we hold covers cargo discharged at the second of a vessel's Indian calls, so treat it as the best reading of those, rather than as something customs has confirmed on a filing.

Is destPrt the final place of delivery (FPOD)?

Nearly — and the gap between "nearly" and "yes" is worth knowing, because it is where B/L habits put the wrong value in the field.

The CSN never uses the trade's port words. Mapped onto them, for an import:

On the B/LIn the CSN
Place of receipt (POR) / port of loading (POL)prtOfAcptCdd — port of acceptance
Port of discharge (POD)firstPrtOfEntry
Final place of delivery (FPOD)destPrt — destination port
—prtOfReceiptCdd, nxtPrtOfUnlading — no B/L equivalent; they track the cargo's customs journey

What destPrt actually is. The MIG defines it as "the Code of Port indicating Customs clearance", and its field name in the message spells the permitted values out: Port / ICD / CFS / SEZ. For import cargo it is the port of destination or the custodian code of the CFS or ICD. So it is the delivery end of the journey expressed as a customs location, not the commercial one on the bill.

Three places where that separates it from the FPOD:

    An FPOD with no customs code. A door address, an inland town, a buyer's warehouse — there is nothing to file. destPrt takes the customs station where the goods are actually cleared: the port, or the CFS/ICD custodian code.An FPOD that is a facility. Where the B/L says "delivery: CFS X", destPrt carries that facility as the 10-character port+custodian code (INNSA1ELP1), which the B/L itself rarely writes that way.Export and transit cargo. Here the field is not a delivery place at all. For TR it is the last port of departure in India. For EX the MIG describes it the same way — the last port from which the goods leave India — but that is not what customs accepts (corrected 2026-09-20). An export filed with an Indian port as its destination was refused in September 2026 as 286, and the exports customs accepted that month name the foreign port of discharge as both the destination and the port of receipt. The Indian port the cargo is loaded at goes in the first port of entry and the port of acceptance instead. This rests on a small number of filings, all from September 2026, but they agree with each other and the refusal is unambiguous; the whole export shape is in exports: filing an SCX, shipping bills and PCINs.

And prtOfReceiptCdd is not the FPOD either, even though the MIG describes it as "the place at which the goods have been or are to be received by the consignee". Filings separate the two consistently:

MovementprtOfReceiptCdddestPrt
Cleared at the gateway port (LC)the port — INNSA1the facility — INNSA1ELP1
Railed inland to an ICD (TI)the ICD — INDER6the ICD — INDER6

The first row is from acknowledged filings; the second from a filing accepted at upload whose acknowledgement was never collected.

So, practically: put in destPrt the customs code of the place where this cargo is finally cleared. If your B/L's final place of delivery is that place, they are the same thing. If it is a door, they are not — and the field wants the customs station, not the door.

Which port goes where on an export — what did CBIC tell the shipping lines?

Everything above this point is about imports. On an export (SCX) the fields turn round, and CBIC worked an example for the shipping lines in July 2019. Its scenario: cargo picked up at an ICD near Nhava Sheva, loaded on the vessel at Nhava Sheva, discharged at Felixstowe, and finally delivered at an inland depot at Manchester. (It gave the same answers whether the cargo started at an ICD, a CFS or was factory-stuffed and cleared at the port.)

FieldCBIC's answerIn the example
Last port of departure (the CSN's first port of entry field on an export)The gateway sea port — not the ICD the cargo started fromNhava Sheva
Destination portThe final place of delivery on the B/L — not merely the discharge portManchester, not Felixstowe
Port of acceptanceAs per the B/L — confirmed elsewhere in the same answers as the B/L's port of loadingNhava Sheva
Port of receiptAs per the B/L — its final place of destinationManchester
The ICD → gateway movementNot in the CSN or the manifest at all: it is covered by the transhipper's own inland messages—

The same answers say that for cargo cleared locally (LC) there is no next port to give, and that customs communicates the rotation number.

What accepted exports actually carry (September 2026, a small number of filings): the destination and the port of receipt are identical and foreign on every one; the first port of entry and the port of acceptance are both the Indian port the filing reports to; the next port of unlading is sometimes a transhipment hub that differs from the destination. An Indian port as the destination is refused 286, and as the port of receipt 365. None of those exports has a final place of delivery beyond its discharge port, so CBIC's "Manchester, not Felixstowe" has not been seen tested — if your B/L ends inland abroad, that is the official answer, and the discharge port is what every accepted filing seen so far carries.

One sentence in the message guide points the other way and is worth knowing about because it gets quoted: it defines an export's first port of entry as the port "where customs clearance is given", which for cargo cleared at an ICD would be the ICD. CBIC's worked example, and every accepted export seen, name the gateway sea port. File the gateway port.

The whole export shape is in exports: filing an SCX, shipping bills and PCINs.

Where are the ports in the guided steps? Is the first port of entry on the master bill page?

It depends on one thing: whether the filing has house bills.

A filing with house bills — on the master bill page, typed once. Step 1, The master bill of lading, has a section called Route for all house bills. It holds the port of acceptance, the first port of entry, the destination port and the next port of unlading, with the inland transport and the transhipper below them. Whatever is there, every house bill starts with.

    The first port of entry fills itself from the port you are reporting to, and moves with the call if you pick a different one. You normally do not type it.The next port of unlading fills itself from the destination — the ICD for inland cargo, the port itself for a CFS there.So the two you actually type are the port of acceptance (the foreign load port) and the destination port (the port, or the port plus the CFS or ICD holding the cargo).

To send one house bill somewhere else, change it on that bill's own page, step 2 Your house bill: the destination and port of acceptance are under Where it is cleared, and the first port of entry and next port of unlading under a folded line that reads Customs route and codes filled in for you — open it to see them. Only that bill changes. The route itself is not sent to customs; it only fills the house bills, which is where customs reads the ports on a consolidation.

A master filed on its own, with no house bill — on the second step. Step 2 is then titled What is on the bill. The destination port and port of acceptance are under Where it is cleared; the first port of entry, the next port of unlading, the port of receipt and the cargo movement are under the folded Customs route and codes filled in for you.

Two ports you will not find on either step as a box to type in. The port of receipt and the cargo movement are worked out on each bill from its destination, under that same folded line. The port of reporting comes with the call you pick for the ship on step 1 — it is shown in the full form under Declaration reference.

How do I find the first port of entry for my filing?

It is the Indian port where your cargo comes off the ship — the port you are reporting to. Three things you already hold point at it, and on an ordinary import they agree:

    The port of discharge on your bill of lading. That is the B/L word for it (see the B/L-to-CSN table). If the bill's discharge port is a foreign hub — the cargo transhipped at Colombo or Singapore onto a feeder — that is not it: the first port of entry is always an Indian port, the one the feeder brings it to.The port you are filing at. On every accepted filing on record the first port of entry is the same code as the port of reporting, and customs' published error list has a code for the pair differing — 59 First Port is Not Same as Port of Reporting. No filing on record has drawn it, so that they must match is the list's word, corroborated by every accepted filing.The call you pick for the ship. A VCN belongs to one call at one port, so the port of the call you pick is the port you are reporting to, and the first port of entry follows it.

It is not the destination when the cargo moves on inland. Cargo landed at Mundra and railed to ICD Dadri still enters at INMUN1; Dadri goes in the destination and the next port of unlading (see what changes when the cargo moves inland).

In the app you normally do not type it. It fills itself from the port you are reporting to — on a filing with house bills in Route for all house bills on the master bill page, otherwise under Customs route and codes filled in for you on step 2. Check it rather than fill it: if it does not match the port of discharge on your bill, the call picked for the ship is probably at another port.

When the ship calls another Indian port before yours, the answer is still the port your cargo is discharged at — the ship calls another Indian port before mine explains why, and where the published wording pulls the other way.

How do I find a port's code?

Every port field in the platform searches by name as well as by code — type "Nhava Sheva" or "Rotterdam" and pick from the list, and the code fills itself in. The name field beside each code fills from the code, and typing in it searches again for a different port. A name a filing arrived with — an imported CSN's "NANSHA CHINA" where the list says "NANSHA PT" — is kept as it was written, and follows the code only once you change the code beside it; opening a page never rewrites it.

For destPrt, the CFS search is scoped so the facilities at this filing's own port are offered first, since that is nearly always the one you want.

Inland depots and SEZs also answer to the short name you use for them. Customs files these under their full registered description, so INAIK6 is on record as "VILLAGE IBRAHIMBUR, POST KHURJA, BULANDSHAHR, UP" and INBRC6 as "ICD DASRATH VADODARA GUJARAT". Searching for "Khurja ICD" or "Baroda" used to find neither. Both now do, along with the operator names that appear on paperwork even where the site has since changed hands — "Ranbaxy SEZ" finds the Mohali site customs now lists under Sun Pharmaceutical.

Every row says what kind of place it is. Beside the code and the name is a small tag — PORT, ICD, CFS, SEZ, INLAND, LAND or AIR — because four codes can all say "Bangalore" and only one is the ICD you mean. The kind is read from the code itself, whose last character is customs' own marker: 1 a sea port, 6 an inland station (an ICD, a CFS or an SEZ, told apart by its name; INLAND where the name does not say), 2 a rail station and B a land border (both tagged LAND), 4 an air cargo complex. Sea locations are listed first and air cargo complexes are left out of browsing — no accepted CSN on record names one in any port field — though a deliberate search still finds them.

The first port of entry offers sea ports only. It is where the ship arrives in India, which is a sea gateway on every accepted filing on record. If you search an inland city there and nothing comes up, the message says why: the ICD, CFS or SEZ belongs in the destination port.

What you pick is still filed under the official name and the official code; the tag and the extra names are for finding and telling apart only, and none of them reaches your declaration. So if the name shown after you pick does not match the words you typed, nothing is wrong — you have found the right port under the description customs keeps it under.

Why does searching "Ningbo" (or "Shanghai") offer more than one code?

Because the international list and the trade disagree. UN/LOCODE, the list most port pickers are built on, has re-coded several of China's best-known ports: CNSHA is now Shanghai's Hongqiao airport and Shanghai's port is CNSGH; CNNGB is Ningbo's airport and the port is CNNBG or CNNBO; Qingdao, Dalian, Xiamen, Guangzhou, Tianjin, Shenzhen, Yantai and Nanjing went the same way. Bills of lading and filings kept the old codes, and customs accepts them: CNSHA is on 37 accepted filings we have read and CNSGH on none, CNNGB on 25 and the other Ningbo codes on none.

So the port search ranks by what filings actually use. The code accepted filings carry comes first and says how many carry it; a code for the same place that no accepted filing carries is left out of a search by name. It is still there if you type it — CNNBO finds CNNBO. Tianjin's port is also written CNXGG (Xingang), which UN/LOCODE does not list at all, and it is offered too.

The same list covers three inland codes a foreign bill often names as the place of receipt or the destination: Birgunj (NPBRG) and Kathmandu (NPKTM) in Nepal, and Thimphu (BTTHI) in Bhutan — the dry ports transit cargo through Kolkata is billed to — and Milan (ITMIL).

Is Vizhinjam on the list?

Yes — INTRV1, Adani Vizhinjam port. It was missing from the platform's port list until 25 September 2026, and a filing reported there was refused as "Not a recognized port code" before it could be sent. ICEGATE's own location list named it along with a dozen newer inland stations (ICD Dhirpur, Dahej, Dhanakya, Malur, Kishangarh, Hirnoda, Bihta, Kadakola, Dalparpur, Virochannagar and the Hazira depot, the Kakrahwa and Samrang land customs stations, the Attari rail cargo station and Navi Mumbai airport); all are on the list now. ICEGATE's list also names nine foreign post offices and two systems offices, which no sea filing can use, so those are not offered.

Still stuck on this?

The assistant answers from this exact page and the rest of our reference material, and names the documents behind every answer.

Have the file? Check it free — no sign-in

General information only — not legal or customs-compliance advice, and it may not reflect the most current ICEGATE/CBIC requirements. Verify against the official sources, or a licensed customs broker, before filing.