FWB is the standard EDI message that carries a shipment's air waybill data from a forwarder to a carrier's system. FWB/16 and FWB/17 are two successive versions of that same message — same purpose, different revision. The practical question is rarely "which is better." It's "which one does the party receiving it accept."
FWB belongs to IATA's Cargo-IMP message set — the long-standing, positional EDI format air cargo has run on for decades. IATA has been steering the industry toward the newer Cargo-XML standard (the XFWB message), but Cargo-IMP FWB is still what a great many carriers and handlers ingest today. Two versions circulate because the standard is revised over time and adoption lags: a carrier upgrades on its own schedule, so at any given moment some receivers are reading 16 and some are reading 17.
What FWB is (and where 16 and 17 sit)
FWB is the Cargo-IMP message that carries the air waybill's data: it encodes the waybill's fields — the parties, routing, pieces, weight, and charges — in a structured form a carrier's system reads without a human in the loop. FWB/16 and FWB/17 are revisions of that message format. The exact field-level changes between revisions are defined in IATA's Cargo-IMP manual; for a forwarder, the version number mostly works as a compatibility label — it tells you which spec the receiver is reading against.
With , you can output FWB 16 or 17 to match whatever your carrier accepts.
Start hereWhy two versions coexist
Standards get revised; systems don't upgrade in lockstep. A new revision ships, but a carrier's or ground handler's EDI stack adopts it when its own roadmap allows. So both versions stay in circulation, and which one a given partner wants is a fact about their system, not about your shipment. Cargo-XML (XFWB) is the longer-term direction IATA is moving toward — but until a partner is actually on it, an IMP FWB, 16 or 17, is what they take.
How to know which one to send
The receiver decides. The carrier or handler you're transmitting to accepts a particular FWB version, and it's a per-partner setting, not a per-shipment one: once you know carrier A wants FWB/17 and handler B still wants FWB/16, that holds until they change it. The mistake is guessing; the fix is confirming the version with each partner and emitting to match.
Generating either from one record
AWBGuru extracts and validates the waybill once into a single record, then generates the FWB message from it — FWB/16 or FWB/17, whichever the receiver expects. The record is the same; only the emitted version changes. So moving a partner from 16 to 17 doesn't mean re-keying anything: it's the same validated data, emitted to the version they read.
# master air waybill 999-12345675 · CONTOSO FREIGHT · HKG → JFK awb_number = "999-12345675" # validated once carrier_A → emit FWB/17 # carrier A's system reads v17 handler_B → emit FWB/16 # handler B still on v16 # same validated record → the version each partner accepts