Customs rejected my SAM — which bills, and why?
Customs rejected my SAM — which bills, and why?
Customs' reply to a SAM / SDM names most refused lines by number only. The first real refusal seen here refused 114 lines of a 795-line amendment and printed a bill number on two of them. So the reply alone cannot tell you which bills are refused, whose CSN each one rests on, or whether anything on the line is actually wrong. Explain this refusal does that work: every refused line is resolved to its bill on customs' public record and compared with the CSN it quotes.
Working with a shipping line filing covers the quicker first look — the reply laid over your own file's lines. This page is about the line-by-line reading against customs' record.
What does the reply itself tell me, before I ask for anything?
Open the ACK — the file ending _ACK.json — under Shipping line filing. The first thing under
the verdict is What happened, and what to do: the whole reply read as one story rather than a
list of codes. It tells you how many of the lines listed are really yours (a reply to an amendment
lists the whole manifest, most of it empty), groups the codes that are one problem — 370 on a line
and 118 on its house bills, 156 on containers and 153 on the vessel, 385 and 254 on a
departure manifest whose shipping bills are already used, 749 and 306 on an amendment that
addresses a line or container under a number customs does not hold it under, 748 on an item of a
line that quotes an earlier declaration (such a line carries no items), 724 on a line an amendment
removes without the CIN or CSN it quotes, 307 and its kin on an
addition under a number already in use, 394 on a box added to the vessel's list under a number it
already uses — and any code in no list worded like those — and gives numbered steps for each, with a
line saying how sure the reading is. When the manifest is beside the reply, each line number opens
that line. Working with a shipping line filing
has the table of what it recognises.
That reading needs nothing but the file. Explain this rejection, below, goes further for the
codes that are about a CSN (164, 232–238): it asks customs' public record which side differs.
How do I get a refusal explained?
Open the refused reply — on Shipping line filing, on SCMTR JSON upload, or on the vessel call's page — and press Explain this refusal. If you have the manifest the reply answers, add it; the reading works without it, from customs' record alone. The reading runs in the background and is listed under Rejections explained on the Shipping line filing page and on the vessel call. You are told when it finishes, in the app and — if you have not switched it off — by e-mail or on your phone.
Why does it ask me for a bill of lading first?
A refused reply does not say which accepted manifest it was judged against. SCMTR finds that manifest on customs' public record through any one bill that is on it. Usually it already knows one — from the reply, from the manifest you added, or from your own CSNs on the call. When none of those is on the accepted manifest yet, it asks you for the master bill of lading of any line customs has already accepted on that vessel — your own, or one from the line's arrival notice.
What can each refused line turn out to be?
| What the reading found | What it means |
|---|---|
| No difference found | The line and the CSN it references agree on the bill, the bill's date, the packages and every container — the fields customs is known to cross-check. Nothing that was compared differs. It does not say why customs refused the line. |
| Differs from its CSN | A real disagreement, field by field, with both values shown, on at least one field customs has refused filings for — the bill date, packages, container count, load status — each marked Fix. Whichever filing disagrees with the bill of lading is the one to amend. |
| Check against its CSN | The line and the CSN disagree only on fields that should match but customs has not been seen refusing for — the CSN number or date quoted, a container's number or type, the rotation — each marked Check. Look at both before sending; nothing on this evidence has to be amended. |
| Bill date differs | Customs holds the bill under a different date from the one the line gives. Error 164 refuses exactly this, and 232/233 have failed beside it. |
| No CSN on record | Customs' public record holds no CSN for this bill today. If the line quotes one, that CSN is not on the record now. |
| CSN amended since | The CSN on the bill shows a later version than the one first accepted. It agrees with the line now; compare the dates with the refusal. |
| Not on the accepted manifest | Customs' accepted manifest has no such line — usually a line the refused amendment was adding. |
| Not cross-checked with a CSN | A straight line, or a consolidated line carrying its own house bills: customs does not compare these with a forwarder's CSN, so a CSN code on one points somewhere else. |
| ICEGATE did not answer | The lookup failed. It is never read as any of the above, and can be asked again. |
What does "no difference found" tell me — and what does it not?
It tells you that on the fields compared — bill, bill date, total packages, number of containers and each container's details — the line and its CSN are the same on customs' own record. It does not tell you customs was wrong, that the line will be accepted next time, or that nothing else on the line is at fault: only those fields were compared. When every refused line reads this way, there is nothing on them that the comparison can tell you to correct, and the useful next step is the ICEGATE helpdesk with the evidence in hand.
What are the CSV and the evidence pack?
- CSV — the whole table: line number, bill, what was found, both values where they differ, the
codes customs gave. For your own working, or to hand the people who own the lines.Evidence pack — a printable page worded for the ICEGATE helpdesk: what was refused, what the
comparison found, the tracking ids, and the table. It states what was compared and what was found;
it does not assert a cause. Read it before sending — it goes out in your name.
Neither carries another filer's PAN, parties or goods: only the cross-checked fields and your own tracking ids.
When the file and every CSN its lines quote are on different rotations, the reading says so once, under the summary, rather than on every line: a CSN's VCN and rotation cannot be amended (ICES Advisory 37/2026), and customs has refused no line for quoting a CSN on another rotation. Check the file's own rotation and VCN against the call — a file that repeats an earlier manifest's bills under a new rotation reads exactly so, and the manifest editor says the same on opening.
Where a line differs from its CSN, Open a case with the other side starts a case from the reading, with the bills and the evidence already in it.
Can I check a whole manifest before I send it?
Yes. From an open manifest, Check the lines that quote a CSN compares every line that quotes one
— by its CSN number and date, or by the PCIN / MCIN customs issued on it — with customs' record the
same way, before anything is filed: the bill and its date, the reference the line quotes, packages and
containers, and whether the CSN is still on the record. On a departure manifest (SDM) it compares
against the export CSNs (SCX), and a straight export line quoting its shipping bill's PCIN counts as
quoting. Each difference carries the same Fix / Check mark as above. Lines
that do not agree are likely to be refused as they stand. A clean result means nothing compared
differs today — a CSN can still be amended or deleted before your manifest goes, and the check
does not mean customs will accept the manifest.
Why does it take minutes, not seconds?
Each line is several questions to customs' public enquiry, which is run for people clicking through a web page. SCMTR paces them so a large manifest never overloads it — a full ship is a few thousand requests — which is why the reading is a background job with a progress count rather than a page that loads.
Why was my amendment refused with 233 on lines I did not touch?
This has been seen once, in September 2026: a line amended one bill on an accepted manifest of
nearly 800 lines; that bill passed every check; and customs refused the amendment with 233 on 114
other lines, each of which read "no difference found" against its CSN. Two explanations fit, and it
is not yet known which is right: customs re-checks every CSN-referencing line whenever any amendment
arrives, or the software that uploaded the amendment re-sent the whole manifest rather than the one
line. Look first at which lines the file you actually uploaded carries. If it carried only your
line, take the evidence pack to the ICEGATE helpdesk. See
Amending a shipping line filing.
Related
- ICEGATE error codes —
164, 232–238 and reading several codes at onceChecking a manifest against ICEGATEWhat is a vessel call page?This page is for information. Customs decides what it accepts, and only its reply says what it decided — confirm anything that matters with customs or ICEGATE.
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.