EDI 304 Shipping Instructions: Getting the BL Right First Time
For edi and integration analysts, it leads at shippers, 3pls and carriers · Understand the problem

EDI 304 Shipping Instructions: Getting the BL Right First Time: Illustrative TMS–ERP order and invoice handoff review beside a warehouse floor; not a client facility.
Quick answer: edi 304 shipping instructions
An EDI 304 shipping instruction is the X12 message a shipper or forwarder sends an ocean carrier to build the bill of lading. B2 and B2A identify the shipment and whether it replaces an earlier one, N9 carries booking, ITN and invoice references, N1 names shipper, consignee and notify parties, and L0 and L5 carry weights, descriptions and HS codes.
TL;DR — what you’ll learn
- The carrier prints the draft bill straight from 304 fields, so a wrong consignee, weight or description in the instruction becomes a wrong legal document within hours.
- Reconcile N7 container weights, L0 line weights and the L3 total, and match M7 seals to the stuffing record, before the file leaves the translator.
- US manifest rules in 19 CFR 4.7a reject FAK, general cargo and STC descriptions; India's Customs Act section 113(i) penalises bills that differ from the shipping bill.
- One consignee error fixed after sailing cost an illustrative $1,015 or ₹27,901 in fees, storage and delayed payment or IGST refund.
Topics: edi 304 shipping instructions · SI cutoff · BL amendment fees · HS code and consignee fields · x12 304 segments
All quantities, amounts, product codes and events are illustrative teaching examples.
The container gated in on time, the vessel sailed on schedule, and the draft bill of lading still came back naming the buyer's freight agent as consignee, with a cargo description of "machine parts" that the destination customs office will not accept. The exporter's documentation desk spends the next three days paying a correction charge, chasing new originals and explaining to the bank why the presented bill does not match the letter of credit.
Almost every one of those errors was already present in the EDI 304 shipping instruction the shipper sent two days before the cutoff. When the 304 is built from controlled data, with each field traced to the document that justifies it, the carrier's first draft becomes the final bill. Most amendment charges, manifest corrections and release delays then disappear rather than being repaired one at a time.
- What this guide covers: the X12 304 structure segment by segment, how the SI cutoff interacts with customs manifest deadlines, the consignee and notify fields, HS codes, and what an amendment costs after sailing.
- What it adds: a sample 304 payload, a worked US ($) and India (₹) amendment cost comparison, a timestamped rejection trace and a lane-by-lane rollout checklist.
What a 304 carries that the booking and the 301 never held
The 304 is the message that turns a reserved slot into a contract of carriage. A booking request (X12 300) and the carrier's confirmation (X12 301) settle space, equipment and sailing; they say almost nothing about who the goods belong to, what they are or where the bill must be released. Those facts arrive only in the shipping instruction.
X12 describes the 304 as the set that gives an ocean carrier what it needs to prepare an ocean bill of lading, a sea waybill and related shipping documents, and gives a forwarder or customs broker the shipping and financial details needed to move the cargo. In practice the carrier's documentation team keys almost nothing: the draft bill is printed from the 304 fields, so each wrong value travels straight onto the legal document.
Scroll horizontally to see all columns.
| 304 content | Source document | Supplier of the data | Sign-off before sending |
|---|---|---|---|
| Booking number and vessel voyage | Carrier's 301 confirmation | Forwarding or traffic desk | Export coordinator |
| Shipper, consignee and notify parties | Sales contract and letter of credit terms | Order management and trade finance | Trade finance or credit control lead |
| Container numbers, seals and verified gross mass | Gate-in record, stuffing tally and weighbridge slip | Warehouse loading supervisor | Export coordinator |
| Commodity description and HS-based code | Commercial invoice, packing list and product master | Trade compliance analyst | Trade compliance manager |
| Customs references (ITN, shipping bill number) | AES response or ICEGATE acknowledgement | Customs broker | Trade compliance manager |
| Freight payment terms and bill type | Incoterms on the order and payment term | Sales operations | Logistics finance analyst |
The table is deliberately split by document, not by system. A 304 map that pulls the consignee from the customer master instead of the letter of credit will be technically valid and commercially wrong. The integration team should therefore agree, field by field, which source wins when two systems disagree, and record that rule in the map specification rather than in a developer's memory.
Reading the envelope: B2, B2A, N9 references and the N1 party loop
Four heading segments decide how the carrier files the message: B2 identifies the shipment, B2A says whether it is new or a replacement, N9 carries the references, and the N1 loop names every party. If any of these is wrong, the carrier either rejects the file or quietly attaches it to the wrong booking.
In the 004010 release, B2 is the mandatory beginning segment and B2A is optional, though many carriers make it mandatory in their guides. Hapag-Lloyd's published 304 guide, version 2.2 dated 15 May 2026, is a useful reference point: it uses B2 element 07 to say whether the shipper wants an original bill of lading (code B) or a sea waybill (code 2), and B2A element 01 to send 00 for an original instruction or 05 for a replacement.
- Booking reference: N9 with qualifier BN in that guide carries the carrier's booking number, which is how the instruction finds its slot.
- Bill number: qualifier BM carries the bill of lading number on a replacement, so the carrier updates the existing draft rather than opening a new one.
- US export filing: qualifier TN carries the AES Internal Transaction Number, and FM the forwarder's FMC number on US exports.
- Commercial references: SI for the shipper's reference, IV for the invoice number and LC for a letter of credit number.
- Party roles: N1 entity codes SH and CN for shipper and consignee are mandatory in that guide; N1 and N2 name the first and second notify parties.
Line items, containers and seals in the LX, N7, L0 and L5 detail
The detail section must describe the cargo the way the bill will print it: one LX loop per commodity line, an N7 loop for each container that commodity sits in, and an L0 summary of weight, volume and package count. Get the nesting wrong and weights double-count across containers.
In the 004010 table, the LX loop repeats up to 999 times, the N7 equipment loop nests inside it, M7 holds up to five seal numbers per container, and the L0 line-item loop can repeat 120 times. The carrier guide cited above asks for one L5 segment per HS-based Schedule B code, with the code in element 03 and the qualifier J in element 04, so a mixed container needs one L5 per tariff line.
ST*304*0417~
B2****SI-24-118702**PP*B~
B2A*00~
N9*BN*61839274~
N9*TN*X20261108123456~
N9*IV*EXP-INV-4471~
V1**SAMPLE VESSEL**442W~
N1*SH*ACME PUMPS INC~
N1*CN*TO ORDER OF FIRST TRADE BANK~
N1*N1*VAN DER BERG IMPORT BV~
LX*1~
N7*MSKU*7412305*9850*G~
M7*SL884210~
L0*001***9850*G*28.4*X*42*PLT~
L5*001*CENTRIFUGAL PUMPS, CAST IRON BODY*841370*J~
L3*9850*G~
SE*17*0417~
Read the sample as a shape, not as a carrier's specification: element positions, the vessel name and the equipment fields differ by guide. What matters is that the container weight in N7, the line weight in L0 and the total in L3 reconcile, and that the seal in M7 matches the seal recorded at stuffing. A translator check that sums N7 weights per container and compares them with L3 catches most keying errors before transmission.
An EDI 304 shipping instruction built to the X12 004010 table must reconcile container weight in N7, line weight in L0 and total weight in L3 within 0.5 kg, carry each container's seal in M7, and send one L5 per six-digit HS line, so the carrier's draft bill prints without manual correction.
SI cutoff timing and the manifest deadlines it protects
The SI cutoff is a carrier deadline, not a regulation, but it exists because customs manifest deadlines are fixed. Treat the cutoff as the last moment the carrier can still file correct data, and build the 304 schedule backwards from it.
For cargo heading to the United States, 19 CFR 4.7(b)(2) requires the carrier to transmit its electronic cargo declaration 24 hours before the cargo is laden aboard the vessel at the foreign port. On US exports, the AES proof-of-filing citation built from the ITN must reach the carrier, as 15 CFR 30.7 requires; our guide to EEI filing and the AES ITN covers those timelines in detail.
- Carrier cutoff: published per service and port, often a day or two before vessel arrival, and later for some trades; store it per booking, not as a global constant.
- Internal cutoff: set it at least four working hours earlier, so a rejected 304 or a missing 997 acknowledgement can be fixed and resent.
- Late SI charges: carriers publish them in tariffs, and some roll the cargo to the next sailing instead of charging.
- Weight dependency: where the verified gross mass travels in the same instruction, the weighbridge slip must exist before the 304 can be complete.
In India, section 41 of the Customs Act, 1962 requires the person in charge of the vessel, or another notified person, to deliver an export manifest electronically before departure, and allows a penalty of up to ₹50,000 where it is late without sufficient cause. The proper officer may permit amendment where the manifest is incorrect but there was no fraudulent intention, which is exactly the review an avoidable SI error forces.
Consignee, notify party and the to-order choice on the draft bill
The consignee field decides who may take delivery, so it is the field that should never be inferred. Copy it from the governing commercial document, which is the letter of credit where one exists, and send the buyer's freight agent only as a notify party unless the contract says otherwise.
A bill consigned "to order" or "to order of" a bank is negotiable and must be surrendered to obtain the goods; a named consignee makes the bill straight. Our comparison of straight and order bills of lading explains the release consequences. For the 304, the practical rule is that the payment term on the sales order selects the consignee pattern before anyone types a name.
US import manifests make the notify party matter twice. Under 19 CFR 4.7a(c)(4)(ix), the carrier must report the consignee's complete name and address, and where another commercial party is listed for delivery or contact, such as on a "to order" shipment, its identity goes in the notify party field. A blank N1*N1 on a to-order bill therefore leaves a gap in the carrier's declaration.
HS codes and cargo descriptions that customs on both ends accept
The description and HS code on the bill must agree with the export declaration at origin and survive the import manifest checks at destination. Generic text fails both tests, so the 304 should send the description and code from the same product master that fed the customs filing.
US rules in 19 CFR 4.7a(c)(4)(vii) require a precise cargo description or, where the shipper provides it, the HTS number to six digits, and they reject terms such as "FAK", "general cargo" and "STC". A pump exporter therefore sends "centrifugal pumps, cast iron body" with code 8413.70 rather than "machinery", and keeps the same wording on the commercial invoice.
- Mixed container: pumps, spare impellers and seal kits each get their own LX line and L5 code, because a single description cannot carry three tariff headings.
- Brand names alone: a model number such as "CP-450" tells a customs officer nothing; pair it with the generic description the tariff uses.
- Said-to-contain wording: carriers add "said to contain" clauses to their own bills, but the 304 description itself should state what the goods are.
- Length limits: carrier guides cap L5 text length, so agree how long descriptions continue across repeated L5 segments rather than truncating them.
India adds a consistency test between the bill and the shipping bill. Section 50 of the Customs Act, 1962 requires the exporter to present the shipping bill electronically and declare the truth of its contents, and section 50(3) makes the exporter responsible for the accuracy and completeness of that information. Section 113(h) and (i) then expose goods to confiscation where they are not included in the entry, or do not correspond in value or any material particular.
Indian exporters sending an EDI 304 should copy the shipping bill's package count, gross weight and description into the instruction, because Customs Act 1962 section 113(i) treats goods that differ in any material particular as liable to confiscation, and CGST Rule 96(1) refunds IGST only after the export manifest covers that shipping bill.
The GST link is easy to miss. Under Rule 96(1) of the CGST Rules, 2017, a shipping bill for goods exported on payment of IGST is treated as the refund application only once the person in charge of the conveyance files an export manifest covering that shipping bill's number and date, and the exporter has filed a valid GSTR-3B. A bill that carries the wrong shipping bill number can leave the refund waiting on a manifest correction.
What a bill of lading amendment costs after the vessel sails
An amendment is cheap before the draft is approved and expensive after the manifest is filed. The fee itself is usually modest; the cost sits in delayed payment, delayed release and, in India, delayed IGST refunds.
US ocean common carriers must publish their rates, charges, rules and practices in tariffs under 46 USC 40501(a)(1), so correction and late-instruction charges should be checked against the carrier's published tariff rather than accepted from an invoice line. Section 40501(e) generally stops a new or increased charge from taking effect until 30 days after publication. The figures below are illustrative assumptions for one container with one consignee error found after sailing.
Scroll horizontally to see all columns.
| Cost element | US export, Houston to Rotterdam ($) | India export, Nhava Sheva to Jebel Ali (₹) | Basis of the figure |
|---|---|---|---|
| Carrier correction charge after manifest | $150 | ₹4,500 | Assumed tariff charge for one amendment |
| Courier for reissued original bills | $65 | ₹1,800 | Assumed express courier to the bank |
| Bank discrepancy fee on the presentation | $95 | ₹2,500 | Assumed fee under the letter of credit |
| Payment delay: 10 days on $185,000 at 7% a year | $355 | Not applicable | 185,000 × 0.07 × 10 ÷ 365 |
| IGST refund delay: 60 days on ₹4,80,000 at 9% a year | Not applicable | ₹7,101 | 4,80,000 × 0.09 × 60 ÷ 365 |
| Destination storage: 2 extra days at $175 or ₹6,000 a day | $350 | ₹12,000 | Assumed free time exceeded by two days |
| Total for one avoidable error | $1,015 | ₹27,901 | Sum of the rows above |
Multiply the total by the annual count of post-sailing amendments and the business case for validating the 304 before transmission becomes concrete. An exporter with 40 such corrections a year in each market loses roughly $40,600 and ₹11.2 lakh, before counting staff time, which is usually larger than the cost of building the checks described below.
An SI rejected at 16:40: tracing a missed cutoff hour by hour
The failure below is typical because each step looked reasonable on its own. The control that would have caught it was a simple weight reconciliation that the translator did not run.
- Tue 11:05, stuffing complete: container MSKU7412305 is sealed with SL884210 at the plant; the stuffing tally records 42 pallets, but the ERP shipment SHP-24-118702 still shows 44 from the original plan.
- Tue 14:20, 304 sent: the translator builds the instruction from the ERP shipment, so L0 shows 44 pallets and 10,310 kg, while the weighbridge slip attached to the booking says 9,850 kg.
- Tue 16:40, carrier rejection: the carrier's validation compares the 304 weight with the verified gross mass already received and rejects the file; the 997 acknowledgement had arrived, so nobody watched for a business-level reply.
- Wed 09:10, cutoff missed: the documentation clerk sees the rejection notice the next morning, two hours after the SI cutoff; the carrier accepts a late instruction for a published charge, and the draft bill arrives a day later than the bank expects.
- Control added: the 304 map now reads pallets and weight from the stuffing tally, the translator holds any file where L0 differs from the weighbridge slip by more than 0.5%, and carrier rejection messages raise an alert within 15 minutes.
The 997 functional acknowledgement only confirms that the file was syntactically accepted, as our guide to the EDI 997 functional acknowledgment explains. Business acceptance of an SI arrives separately, often as a draft bill or a carrier status message, and needs its own monitoring.
Validation a translator must enforce and checks a documentation clerk owns
Most 304 errors can be blocked by fixed rules before transmission; only a few need a person. Write the fixed rules into the map and the translator, and use software assistance only where reading a document is involved.
Scroll horizontally to see all columns.
| Check | Fixed rule in the translator or map | Where software assists a person | Who decides |
|---|---|---|---|
| Weight and count reconciliation | Sum of N7 weights equals L3 total; L0 count equals stuffing tally | None needed | Translator holds the file |
| Seal number | M7 matches the seal scanned at stuffing | Reading a photo of the seal when the scan failed | Loading supervisor confirms |
| Consignee pattern | Payment term on the order selects named or to-order consignee | Extracting the consignee wording from a scanned letter of credit | Trade finance lead approves |
| HS code format | Six or more digits, present in the product master, qualifier J | Suggesting a code for a new item from its description | Trade compliance manager classifies |
| Description quality | Blocks FAK, general cargo, STC and other banned terms | Comparing L5 text with the commercial invoice PDF | Documentation clerk |
| Customs reference | ITN or shipping bill number present before send | None needed | Translator holds the file |
| Replacement linkage | B2A 05 always carries the bill number from the first draft | None needed | Translator holds the file |
Shipping instruction validation in the EDI translator should hold any 304 whose L5 description contains FAK, general cargo or STC, the terms 19 CFR 4.7a(c)(4)(vii) rejects, and whose L0 package count differs from the stuffing tally by even one pallet, before the carrier's cutoff rather than after the draft bill arrives.
Rolling out 304 shipping instructions with a carrier, lane by lane
Start with one carrier and one lane, run the 304 beside the carrier's web portal for two sailings, and compare every draft bill with the instruction before switching off manual entry. A clean draft rate is the measure that matters, not the number of files sent.
Document handling still needs a human review of the first draft for each new consignee, and the review should be recorded. The older workflow in our article on bill-of-lading automation with a versioned review queue covers that approval step; this article covers what should reach the carrier in the first place, so the review has less to correct.
Scroll horizontally to see all columns.
| Checkpoint | Pass condition | Evidence kept | Owner |
|---|---|---|---|
| Carrier guide mapped | Every mandatory segment and qualifier in the carrier's guide has a source field | Signed mapping specification | EDI analyst |
| Replacement test | B2A 05 updates the existing draft in the carrier's test system | Test draft bills before and after | EDI analyst |
| Cutoff calendar | Carrier SI cutoff stored per booking with an internal cutoff four hours earlier | Cutoff report for one month | Export coordinator |
| Rejection monitoring | Business rejections alert a named person within 15 minutes | Alert log | Integration lead |
| Customs references | ITN on US exports and shipping bill number on Indian exports carried in agreed N9 references | Sample bills and manifests | Trade compliance manager |
| Parallel run | Two sailings with draft bills matching the 304 with no manual edits | Comparison sheet per bill | Documentation lead |
| Amendment tracking | Each post-sailing amendment logged with cause and cost | Monthly amendment register | Logistics finance analyst |
The 304 is one of several ocean and EDI topics in our logistics and supply chain library, alongside export filing, bill types and acknowledgements. If you are planning a shipping instruction integration across carriers, forwarders and customs filings, you can describe your lanes, partners and current error rates through our request for proposal form.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on edi 304 shipping instructions in logistics & supply chain.
What is the difference between an EDI 300, 301 and 304?
How do I correct a bill of lading through EDI after sending the 304?
Where does the HS code go in an X12 304 message?
Does a 997 acknowledgment mean the carrier accepted my shipping instruction?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- X12 - Transaction set list: 300, 301, 304 Shipping Instructions, 310 and 315 purpose statementsPurpose statement of the 304 checked. Accessed 13 November 2026.
- Stedi - X12 release 004010 reference for the 304 Shipping Instructions (segment table rendering)Accessed 13 November 2026. Public reference rendering used for segment positions and repeat counts (B2, B2A, N9, N1, LX, N7, M7, L0, L5, L3), because the X12 standard text is sold under licence.
- Hapag-Lloyd - HL Standard 304 4010 for Shipping Instruction, EDI Message Implementation Guide version 2.2 (15 May 2026)One carrier's own guide: B2-07 codes B and 2, B2A codes 00 and 05, N9 qualifiers BN, BM, TN, FM, SI, IV, LC, N1 codes SH, CN, N1, N2, and L5 commodity code qualifier J. Accessed 13 November 2026.
- eCFR via Cornell LII - 19 CFR 4.7(b)(2), advance electronic cargo declaration 24 hours before ladingAccessed 13 November 2026.
- eCFR via Cornell LII - 19 CFR 4.7a(c)(4)(vii) to (ix), cargo description, shipper, consignee and notify partySix-digit HTS alternative and the rejection of FAK, general cargo and STC descriptions. Accessed 13 November 2026.
- eCFR - 15 CFR 30.7, annotating the bill of lading with AES proof of filingAccessed 13 November 2026.
- US Code via Cornell LII - 46 USC 40501, ocean common carrier tariffsSubsection (a)(1) publication of rates, charges, rules and practices; subsection (e) 30-day notice for increases. Accessed 13 November 2026.
- CBIC - Customs Act, 1962, sections 41, 50 and 113 (consolidated text as on 30 March 2022)Accessed 13 November 2026. Official CBIC text: section 41(1) electronic export manifest before departure and penalty up to ₹50,000 for unexplained delay; section 50(1) to (3) electronic shipping bill, declaration of truth and exporter responsibility for accuracy; section 113(h) and (i) confiscation of goods not corresponding to the entry.
- CBIC - Central Goods and Services Tax Rules, 2017, Rule 96(1), refund of IGST on goods exportedShipping bill deemed a refund application once the export manifest covers it and a valid GSTR-3B is filed. Accessed 13 November 2026.
- FMCSA — 49 CFR Part 395 Hours of Service & Electronic Logging Devices (ELD)US federal motor carrier dispatch and driver duty-status compliance mandate.
- ULIP & NIC GST E-Way Bill Portal — Unified Logistics & Rule 138 ComplianceIndian statutory goods-in-transit and multi-modal logistics verification framework.