Skip to content
Reference

What the line and the forwarder must match

What must match between the shipping line's manifest and the forwarder's CSN

Last updated

A forwarder files a CSN (SCE for imports, SCX for exports) and the shipping line files its manifest (SAM / SDM, amended by SAA) on the same master bill of lading. Customs compares the two — but only on some fields, and only in one situation. This page lists every field the two can be compared on, sorted into three groups, and says how each group was worked out.

When does customs compare a manifest line with a CSN at all?

Only when the line quotes the CSN. A line quotes a CSN when it is a consolidated line with no house bills of its own and its reference block names the forwarder's CSN number, or the MCIN/PCIN customs issued on that CSN. That is the line customs checks field by field, and the one it refuses when they disagree.

A line that carries the bill itself is not compared with anybody's CSN — a line with house bills of its own, or a line customs issued its own MCIN to. A line quoting another filer's CSN on the same bill is compared with that one, not yours: every difference with yours is OK to differ. On filings customs accepted, such lines routinely differ from the forwarder's CSN on load status (FCL on the line's shared box, LCL on the forwarder's share of it), container weight (the whole box against the forwarder's share) and package type.

Two CSNs on one master bill (the line's own or its agent's beside a forwarder's, or two co-loaders) are compared only through the reference one of them quotes. Where neither quotes the other, package type and weights differ between them all the time.

Which fields must match between the line's SAM line and my CSN, and which can differ?

In short, on a line that quotes your CSN: the master bill of lading date, the total packages, the number of containers and each container's load status must match — customs has refused filings for each (164, 232, 233, 399). The container ISO size code must match too, but customs checks it on the line's manifest (398, a line's refused SAA): for your CSN it is a check, and the box decides which side is right. The containers named, their type and SOC flag, the quoted CSN number and date, the PCIN / MCIN, the VCN, weights, ports, cargo type and movement should match — a difference there is usually a typo. The first Indian port and the container agent's bond number can differ, and so can the parties, goods description and HS codes, which customs does not compare between filers. The app sorts every field into one of three groups — Fix, Check and OK to differ — and shows each with a word as well as a colour.

Which fields must match exactly? (Fix — customs refuses filings where these differ)

These are the disagreements customs has actually refused a filing for, and an acknowledgement on record shows it.

FieldCode customs returns
Master bill of lading date164 (the number and the date are compared)
Total packages232 (against a CSN), 259 (against a CIN)
Number of containers233, 260
A container's load status399 (against the CIN quoted), 237
A container's ISO size code — for the line398 (the line's SAA, against the CIN it quotes — one refusal, October 2026, a line quoting a house bill's PCIN). For the forwarder it is Check: ICES Advisory 38/2026 says customs checks the code on the manifest only, and on that refusal the CSN's size matched both bills of lading

On a line that carries the bill itself these drop to Check, and load status to OK to differ. A line that quotes one of your house bills' PCINs is compared with that house bill's CSN; of these, only the container size has been refused there so far — on the line's side.

Which fields should match? (Check — usually a typo on one side)

Customs publishes a cross-check code for some of these but no reply on record shows it firing. The others have no code, but they agreed on every accepted pair measured where the line quotes the CSN. A difference in this group is usually a typo on one side. It will not be shown as a refusal, but it is worth a look before the line files.

    Published check, not yet seen refusing: which containers each side names (235/262), container type (234/261), SOC flag (238; customs' public record does not show it, so only the two files can), the CSN number and date the line quotes (257, 255), the PCIN/MCIN it quotes (148, 252), a house bill's date (165), the VCN (327/328).No code, but they always agreed: gross weight and its unit, cargo type, cargo movement, next port, port of destination, port of acceptance and port of receipt (where both state them), transhipper, vessel IMO, each container's weight and its agent (where the line quotes the CSN), and each house bill the forwarder declared, and — where both sides declare the same house bill — its packages, gross weight and date.Only the two files can show it: the SOC flag and the seal. No customs enquiry publishes either, so they are compared on the CSN handover link, when the line drops its manifest file back on it.

Which fields can differ? (OK to differ — customs does not compare these here)

    First Indian port. The line writes the vessel's first Indian port, and the forwarder the port the cargo lands at. They differed on about a third of the accepted quoting pairs measured.The container agent's bond number. It belongs to the line.Package type, container weight and load status, where the line carries the bill itself or two CSNs do not quote each other (see above).The parties, goods description, marks and numbers, HS codes and itinerary names. Customs publishes no check on these between filers. The app does not compare them, and a handover does not carry them.

How this was worked out

Three sources, in order of weight.

    Refusals on record. Every Fix row is a code customs returned on a refused manifest or amendment. Nothing is in Fix on the strength of the message guide alone.

    Both sides as customs accepted them. ICEGATE's public enquiry lists, for a master bill, every accepted filing on it — the line's manifest and each CSN — with their figures, ports and containers. The comparison was run over 957 bills named in real filings (September 2026: 83 manifests from 31 lines, 66 forwarders, 8 ports), both sides accepted:

      222 pairs where the line quotes the CSN (a straight export line quotes its shipping bill's PCIN, which the CSN references). Every field agreed except the first Indian port (different on 68), the container bond (6) and one gross weight.82 pairs where the line quotes another filer's CSN on the same bill, and 27 where it carries the bill itself. Package type, container weight and load status differed — customs compares such a line with the CSN it quotes, not with yours, so none of this is yours to act on.99 pairs of two CSNs. Package type differed on 42.

    Run through the app's own sorting, those 430 accepted pairs raise no Fix row at all. Only three Check rows appear (two gross weights, one container agent).

    The message guide's codes (232–238, 259–262, 164/165, 255/257, 327/328) decide which Check rows carry a code.

It is kept up to date. Every reply customs sends that the app keeps is read for these codes, and the day one of the Check codes is returned on a refusal, that row has the evidence to become Fix. The comparison over accepted filings is also run again every month.

The login-gated enquiries (a line's or forwarder's own ICEGATE login) add the filer's legal name and every CSN on a vessel call. They add no field to compare: the CSN master details they return are the public enquiry's fields under other names. So the SOC flag and the seal are published by no enquiry, and can only ever be compared file to file — which is what the CSN handover link does.

Where the app shows this

Before you send: Sign & upload compares your CSN with the line's SAM on every BL, using these groups — a Fix difference against a SAM customs accepted needs a reason to send anyway — and a line can share its SAM before filing it (Check your CSN against the line's SAM).

    On your CSN's page, under What customs has on record, once the line's manifest (or another CSN) is on the master bill. It shows every compared field side by side in the three groups, a one-line verdict at the top (Fix, Check or Everything that must match, matches), whether the line quotes your CSN, and what to do — with a button to send the line a handover link for the SOC flag and the seal. You are e-mailed for a coded Fix ("Action needed") or Check ("Check:"), never for OK to differ.In the manifest editor's ICEGATE check, for each CSN on a line's bill, the same scorecard from the line's side, with a message to the forwarder ready to copy. Check the whole manifest checks every bill; a filtered view is said to be one. A SAM / SDM opened, sent or recorded here before is listed under SAM / SDM files kept here and opens again with no upload. Check the lines that quote a CSN runs in the background over every line quoting a CSN by its number or its PCIN / MCIN — on an SDM against the export CSNs (SCX). A handover card's reference block pastes straight into a line.On a CSN handover link, when the line drops its manifest file back: each field against the card — including the SOC flag and the seal — with the same three words. The line can answer you on the same page (quoted, amended, or "our figures are right"), with no account.On the public tracker, a field two filings state differently carries its group.On the bills board and in a case, each difference carries its group; a bill whose only differences are Check reads "SAM differs — check", not "SAM disagrees", and the board offers the message for the line and a case with it.

Informational only. Verify with ICEGATE/CBIC.

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.