Export documentation for coffee beans: bill of lading, phytosanitary, COA — the matching system we actually use
coffee export document matchingbill of lading mismatchphytosanitary certificate coffeeCOA lot numberdocument alignment customspacking list consistencyePhyto certificateHS code 0901

Export documentation for coffee beans: bill of lading, phytosanitary, COA — the matching system we actually use

6/14/20259 min read

A field-by-field guide to matching the Bill of Lading, Phytosanitary Certificate (incl. ePhyto), COA, packing list and invoice for green coffee. What must align, when to issue each document, and how to fix errors without derailing your shipment.

We went from multiple quarterly customs holds to zero by using this exact document‑matching system. If you’ve ever watched a container of beautiful Gayo or Mandheling sit at destination over a tiny typo, you know the sting. The good news is that 90% of holds on coffee are preventable if the Bill of Lading, Phytosanitary Certificate and COA are aligned to the same source data and issued in the right order.

The 3 pillars of clean document matching

  1. One source of truth. Build a pre-shipment master sheet that becomes the origin for every document. We maintain a locked spreadsheet with controlled fields for commodity description, HS code, botanical name, lot/batch numbers, bag count, net/gross, container and seal, shipper/consignee, and notify. Everything else copies from here.

  2. Field-by-field mapping. Decide which document is authoritative for each field. For example, the packing list drives bag count and net weight. The shipping line drives container and seal. The COA drives lot numbers and lab identifiers. The phyto draws from packing list and commodity fields. The B/L follows the manifest and packing list.

  3. Issue in sequence. Don’t issue a document that needs data you don’t yet control. We’ve found most mismatches happen when a phyto is printed before final stuffing or when a B/L is cut before the consignee is fully vetted.

Week 1–2: Map and validate (tools + templates)

Here’s the core “coffee export document checklist matching fields” we use for green coffee (HS 0901). Use this to populate your master sheet:

  • Commodity description: “Green coffee beans” plus botanical name. Example: Coffea arabica L. or Coffea canephora (Robusta). Keep this exact phrase consistent across invoice, packing list and COA. Phyto must include the botanical name.
  • HS code: 0901.11 (not roasted, not decaffeinated) or 0901.12 (not roasted, decaffeinated). Keep the same HS on the invoice and any customs data field the line requires. The B/L may not show HS, but the manifest does.
  • Origin: Indonesia. For multi-province blends like Bali, Java, Gayo & Mandheling - Wine Green Arabica Coffee Beans, phyto “place of origin” can still be Indonesia with province notes if requested by the NPPO.
  • Lots/batches: COA lot numbers must match bag markings and the packing list. If you ship Arabica Bali Kintamani Grade 1 Green Coffee Beans and Blue Batak Green Coffee Beans in the same container, list them as separate line items with distinct lot IDs that reappear on the COA.
  • Bag count and packaging: Number of bags per lot, bag material and net weight per bag. The B/L shows the number of packages. The phyto often shows quantity and net weight by commodity.
  • Weights: Net and gross per lot and total. Aim for identical totals across invoice, packing list, B/L, and phyto. The B/L can round to the nearest kg, but keep rounding rules consistent and note decimal places to avoid differences. COA may show sample weight only, but total lot weight should be referenced.
  • Container and seal: Final container and seal numbers come from the shipping line after stuffing. They must appear on the B/L and packing list. Whether they appear on the phyto depends on the NPPO format. In Indonesia, they can be included in the “additional declaration/transport details” field if requested.
  • Parties: Legal names and addresses for shipper/exporter, consignee and notify. Match the registration used for phyto and invoice. If you use an NVOCC house B/L, keep the exporter’s name present somewhere on the B/L (as shipper or as “also notify”).

Practical takeaway: Freeze the master sheet and generate all docs from it. We lock fields and require approvals for any change after stuffing. It saves hours of firefighting later.

Week 3–6: Execute the pre-shipment timeline

A realistic timeline for “when to issue each document” that prevents mismatch:

Left-to-right montage of the pre-shipment timeline: lab testing coffee for COA, drafting invoice and packing list, stuffing and sealing a container, phytosanitary inspection of samples, and a vessel departing from port.

  • ETD minus 14–10 days. Finalize product list and lot IDs. Sample and test. Issue COA per lot after the final QC approval. For aged profiles like Musty Cup Green Coffee Beans (Aged Arabica), the COA should carry the aging batch number you’ll stencil on the bags.
  • ETD minus 7–5 days. Cut commercial invoice and draft packing list from the master sheet. Pre-advise your broker/importer with these drafts for “document alignment customs” review.
  • ETD minus 3–2 days. Stuff containers. Record the exact bag count, net weight total, container and seal numbers. Update packing list with the live numbers.
  • ETD minus 2–1 days. Request phyto inspection and issuance based on the updated packing list and commodity fields. If your buyer wants container/seal on the phyto, provide those to the NPPO at this moment.
  • On board date. Cut the B/L with the shipping line using the final parties, container/seal and weights. Double-check party spelling against phyto.

Practical takeaway: If a document needs a field that’s only finalized at stuffing, don’t issue it earlier. That single change cuts our “bill of lading mismatch” incidents dramatically.

Week 7–12: Scale and optimize

Once the basics work, tighten your controls.

  • Use ePhyto where accepted. The EU’s TRACES NT and US APHIS now accept ePhyto from participating NPPOs for many commodities, including coffee. We still confirm acceptance with the importer’s broker for the exact port to avoid surprises.
  • Version control. We keep a revision log with timestamps for any amends to consignee, weights or container/seal, and we circulate the same change note to the line, NPPO officer and broker. One change notice, everyone aligned.
  • Data standards. Fix decimal places for weights across all documents and standardize your commodity description string. It sounds trivial. It prevents “close but not equal” disputes that trigger holds in automated risk systems.

Practical takeaway: Treat document matching like QA. The fewer “edits after issue,” the cleaner your shipments.

Field-by-field answers to common blockers

What fields must match across the B/L, phytosanitary and COA?

  • Commodity/Botanical: Use the same commodity description everywhere. Phyto must include the botanical name. We mirror it on the invoice and COA for clarity.
  • Lots/Batch IDs: COA lot numbers must match the packing list and bag markings. Customs often checks this against the invoice lines in specialty shipments.
  • Weights: Net totals should be identical across invoice, packing list and phyto. B/L gross weight should reconcile with packing list gross. Keep rounding consistent.
  • Parties: Shipper/exporter and consignee names must be exactly the same string across all docs that display them.
  • Container/Seal: Always on B/L and packing list. Optional on phyto depending on NPPO and importer request.

Do container and seal numbers need to appear on the phytosanitary certificate?

Often not required. In Indonesia, they can be added as an additional declaration. Many EU and US entries clear without container/seal on phyto, provided the packing list and B/L carry them. If the importer’s broker asks for it, wait to issue phyto until after stuffing.

How do I fix a consignee name mismatch after the vessel has sailed?

  • Amend the B/L first. Request a manifest correction from the carrier. Provide supporting docs showing the correct legal name.
  • Phyto correction. If the phyto shows the consignee and it’s wrong, ask the NPPO for a replacement or an official correction. Some jurisdictions reissue with a cross-reference to the original certificate number.
  • Broker workaround. In a few cases, a broker can clear with a letter of explanation plus the amended B/L if the phyto doesn’t list the consignee. But don’t bank on it. Coordinate all three parties.

We’ve learned not to switch consignees after phyto is issued unless we’ve confirmed correction pathways with both the NPPO and the line.

Should the COA show the same lot or batch numbers as the packing list?

Yes. That’s the whole point of traceability. The COA doesn’t need container numbers, but it must reference the identical lot IDs that appear on the packing list and on each bag.

Which weight values need to match—net, gross, or both?

  • Net weight must match across invoice, packing list and phyto. Use the same number of decimals.
  • Gross weight on the B/L should match the packing list gross. If your B/L only shows gross, keep a note explaining how bag tare was calculated in case of a query.

Can an ePhyto be accepted instead of a paper certificate for EU or US?

In many cases, yes. The EU (TRACES NT) and US APHIS accept ePhyto via the IPPC Hub from participating countries, including Indonesia. But acceptance can vary by port and commodity in practice. We always confirm with the importer’s broker for that entry. If the broker insists on paper, we ship the original.

Will amending the bill of lading resolve a customs hold caused by document mismatch?

Sometimes. If the hold is driven by a party name or container/seal error on the B/L, an amendment usually clears it. If the mismatch involves phyto content or COA lot numbers, you’ll need to align those documents as well. Amending only the B/L won’t fix a phyto that lists the wrong botanical name or a COA that references different lots.

The 5 mistakes that keep coffee in customs (and how to avoid them)

  1. Printing phyto before stuffing. Solution: Issue phyto after container/seal are final if those details are requested on the certificate.
  2. Rounding weights inconsistently. Solution: Standardize decimal places and rounding. Lock values in your master sheet.
  3. Consignee legal name drift. Solution: Copy exact legal names from the buyer’s registration. Review against phyto and B/L drafts before issuance.
  4. COA without matching lot IDs. Solution: Make COA from the same lot list used for bag stencils and packing list.
  5. HS code inconsistency in digital filings. Solution: Keep HS 0901.11 or 0901.12 consistent in all customs-facing data. Align commodity wording to the HS description.

Need help with a live shipment or a tricky destination rule? We’re happy to sanity-check your documents before you issue them. Contact us on whatsapp.

Resources and next steps

  • Use a single master sheet to generate invoice, packing list, phyto data and B/L instructions. Approve changes via a short change log shared with your line, NPPO officer and broker.
  • When shipping mixed-lot containers, keep lot/COA lines clean. If you want to see how we structure lots across origins and processes, browse our current offerings and their applications. View our products.

In our experience, this isn’t about more paperwork. It’s about cleaner data. Get the fields right, issue in sequence, and your coffee moves. And that’s the goal, isn’t it?