Export invoices, packing list, SI, PO from order data; HS codes; port codes; CBM; Incoterms prices.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Build an export quotation price from unit cost, markup and shipment costs: totals and per-unit prices under EXW, FCA, FOB/FCA terminal, CFR/CPT, CIF/CIP, DAP, DPU and DDP, with the insurance premium (110% basis), import duty and VAT, and for each rule a link that opens Triplicate's generator with a proforma invoice at that price.
Units in the shipment
Seller's cost per unit (product cost)
sea: FOB/CFR/CIF (loaded on board at a port); any: containers handed over at a terminal, air or road: FCA/CPT/CIP
Shipment totals in the same currency (omit what does not apply)
Language of the generator page the proforma links open
Customs value basis: cif (EU, UK, most countries) or fob (US, Canada, Australia)
Markup on cost, e.g. 25 for +25%
Build an export quotation price from unit cost, markup and shipment costs: totals and per-unit prices under EXW, FCA, FOB/FCA terminal, CFR/CPT, CIF/CIP, DAP, DPU and DDP, with the insurance premium (110% basis), import duty and VAT, and for each rule a link that opens Triplicate's generator with a proforma invoice at that price.
| Argument | Type | Description |
|---|---|---|
| mode | string | sea: FOB/CFR/CIF (loaded on board at a port); any: containers handed over at a terminal, air or road: FCA/CPT/CIP |
| costs | object | Shipment totals in the same currency (omit what does not apply) |
| currency | string | |
| language | string | Language of the generator page the proforma links open |
| quantity* | number | Units in the shipment |
| unit_cost* | number | Seller's cost per unit (product cost) |
| duty_basis | string | Customs value basis: cif (EU, UK, most countries) or fob (US, Canada, Australia) |
| markup_percent | number | Markup on cost, e.g. 25 for +25% |
| include_vat_in_ddp | boolean |
{
"type": "object",
"required": [
"quantity",
"unit_cost"
],
"properties": {
"mode": {
"enum": [
"sea",
"any"
],
"type": "string",
"default": "sea",
"description": "sea: FOB/CFR/CIF (loaded on board at a port); any: containers handed over at a terminal, air or road: FCA/CPT/CIP"
},
"costs": {
"type": "object",
"properties": {
"unloading": {
"type": "number",
"description": "Unloading at the destination (DPU)"
},
"main_freight": {
"type": "number",
"description": "Sea or air freight to the destination port/airport"
},
"inland_to_port": {
"type": "number",
"description": "Transport to the port, airport or terminal"
},
"origin_terminal": {
"type": "number",
"description": "Terminal handling and loading at origin"
},
"packing_loading": {
"type": "number",
"description": "Export packing and loading at the seller's premises"
},
"export_clearance": {
"type": "number",
"description": "Export customs clearance and documents"
},
"import_clearance": {
"type": "number",
"description": "Import customs clearance fees (DDP)"
},
"import_vat_percent": {
"type": "number",
"description": "Import VAT/GST %"
},
"destination_charges": {
"type": "number",
"description": "Destination terminal charges and delivery to the named place"
},
"import_duty_percent": {
"type": "number"
},
"insurance_rate_percent": {
"type": "number",
"description": "Cargo insurance rate in %; premium = rate x 110% x CIF/CIP value"
}
},
"description": "Shipment totals in the same currency (omit what does not apply)"
},
"currency": {
"enum": [
"USD",
"EUR",
"GBP",
"JPY",
"CNY",
"KRW",
"VND",
"AUD",
"CAD",
"CHF",
"HKD",
"SGD",
"INR",
"PKR",
"BDT",
"IDR",
"THB",
"MYR",
"PHP",
"AED",
"SAR",
"TRY",
"BRL",
"MXN",
"ZAR",
"NGN",
"KES",
"EGP"
],
"type": "string",
"default": "USD"
},
"language": {
"enum": [
"en",
"zh",
"ar",
"fr",
"es",
"pt",
"ru",
"tr",
"hi",
"ur",
"bn",
"id",
"vi",
"ja",
"ko"
],
"type": "string",
"default": "en",
"description": "Language of the generator page the proforma links open"
},
"quantity": {
"type": "number",
"description": "Units in the shipment"
},
"unit_cost": {
"type": "number",
"description": "Seller's cost per unit (product cost)"
},
"duty_basis": {
"enum": [
"cif",
"fob"
],
"type": "string",
"default": "cif",
"description": "Customs value basis: cif (EU, UK, most countries) or fob (US, Canada, Australia)"
},
"markup_percent": {
"type": "number",
"default": 0,
"description": "Markup on cost, e.g. 25 for +25%"
},
"include_vat_in_ddp": {
"type": "boolean",
"default": false
}
}
}From carton sizes, quantities and gross weights: total CBM, gross weight, air and express volumetric and chargeable weight, LCL revenue tons and which standard containers the volume fits.
| Argument | Type | Description |
|---|---|---|
| cartons* | array |
{
"type": "object",
"required": [
"cartons"
],
"properties": {
"cartons": {
"type": "array",
"items": {
"type": "object",
"required": [
"length_cm",
"width_cm",
"height_cm",
"quantity"
],
"properties": {
"quantity": {
"type": "number"
},
"width_cm": {
"type": "number"
},
"height_cm": {
"type": "number"
},
"length_cm": {
"type": "number"
},
"gross_weight_kg": {
"type": "number",
"description": "Gross weight of ONE carton"
}
}
}
}
}
}Check a shipping container number (ISO 6346 check digit), find who owns its prefix (shipping line or container leasing company, e.g. MSCU = MSC, TGHU = Textainer) and get the line's official tracking page. Bill of lading numbers are recognised by the carrier's SCAC prefix (e.g. MEDU, HLCU, COSU). Does not return live status: the line's own site shows it.
| Argument | Type | Description |
|---|---|---|
| number* | string | Container number, e.g. 'MSCU1234566' (4 letters + 7 digits), or a bill of lading / booking number, e.g. 'MEDUAB123456' |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "Container number, e.g. 'MSCU1234566' (4 letters + 7 digits), or a bill of lading / booking number, e.g. 'MEDUAB123456'"
}
}
}Compare the text of a bill of lading or air waybill draft from the forwarder or carrier with the order data (same fields as create_trade_documents): shipper, consignee (to-order drafts noted), notify party, ports, vessel and voyage, number of packages, gross weight, measurement (CBM), freight prepaid or collect against the Incoterms rule, shipping marks, goods description, container and seal numbers (shipment.containers) and the L/C number. Returns each field as ok, warning, mismatch or info with a short reason. Nothing is stored.
| Argument | Type | Description |
|---|---|---|
| bank | object | |
| buyer | object | Buyer / consignee / importer |
| items | array | |
| terms | object | |
| notify | object | Notify party, if different from the buyer |
| seller | object | Seller / shipper / exporter |
| signer | object | |
| charges | object | |
| remarks |
Create a matching proforma invoice, commercial invoice, packing list and shipping instruction from one set of order data. Returns a link to Triplicate's free generator with everything filled in (the user reviews it and saves the PDF), plus totals (amount, cartons, net/gross weight, CBM) and checks (missing fields, HS code format, Incoterms freight/insurance consistency). Nothing is stored.
| Argument | Type | Description |
|---|---|---|
| bank | object | |
| buyer* | object | Buyer / consignee / importer |
| items* | array | |
| terms | object | |
| notify | object | Notify party, if different from the buyer |
| seller* | object | Seller / shipper / exporter |
| signer | object | |
| charges | object | |
| remarks | string |
Search the HS 2022 nomenclature (6-digit international level) by English product description or by code prefix. Returns candidate codes with chapter and heading text. Codes are suggestions to confirm in the destination country's tariff, not rulings.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| query* | string | English description (e.g. 'face cream', 'cotton t-shirts') or a code prefix (e.g. '3304') |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"default": 8
},
"query": {
"type": "string",
"description": "English description (e.g. 'face cream', 'cotton t-shirts') or a code prefix (e.g. '3304')"
}
}
}Find the 5-character UN/LOCODE of a seaport, airport or inland container depot by place name (or check a code): returns code, name, country, subdivision, type and Triplicate's country page, for the port of loading or discharge on bookings, bills of lading and invoices. UN/LOCODE 2025-1, 37,000+ places.
| Argument | Type | Description |
|---|---|---|
| type | string | Optional: only seaports, airports or inland container depots |
| limit | number | |
| query* | string | Port, city or airport name in English (e.g. 'Haiphong', 'Jebel Ali', 'Busan'), or a 5-character UN/LOCODE (e.g. 'NLRTM') |
| country | string | Optional 2-letter ISO country code to search in, e.g. 'VN' |
{
"type": "object",
"required": [
"query"
],
"properties": {
"type": {
"enum": [
"port",
"airport",
"inland_depot"
],
"type": "string",
"description": "Optional: only seaports, airports or inland container depots"
},
"limit": {
"type": "number",
"default": 8
},
"query": {
"type": "string",
"description": "Port, city or airport name in English (e.g. 'Haiphong', 'Jebel Ali', 'Busan'), or a 5-character UN/LOCODE (e.g. 'NLRTM')"
},
"country": {
"type": "string",
"description": "Optional 2-letter ISO country code to search in, e.g. 'VN'"
}
}
}One call for an export order: the same order data as create_trade_documents plus the destination country (ISO code). Returns the link to the filled-in documents with totals and checks, Triplicate's guides for that destination and the products' HS chapters (country guide, labelling and import rules), a link to the landed cost calculator preset to the market, goods value and quantity, and HS lookups for items without a code. Nothing is stored.
| Argument | Type | Description |
|---|---|---|
| bank | object | |
| buyer* | object | Buyer / consignee / importer |
| items* | array | |
| terms | object | |
| notify | object | Notify party, if different from the buyer |
| seller* | object | Seller / shipper / exporter |
| signer | object | |
| charges | object | |
| remarks | string |
Read the text of a documentary credit (SWIFT MT700 as advised by the bank): credit number, dates, amount and tolerance, partial shipments and transhipment, latest shipment, ports, presentation period, goods, the documents required (each with how to make it) and additional conditions, plus a letter_of_credit object for create_trade_documents. Read here, nothing stored.
| Argument | Type | Description |
|---|---|---|
| text* | string | The letter of credit as advised: SWIFT MT700 fields (:20:, :31D:, :32B: ...) or a bank advice with the field numbers |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The letter of credit as advised: SWIFT MT700 fields (:20:, :31D:, :32B: ...) or a bank advice with the field numbers"
}
}
}Search Triplicate's practical trade guides (over 250 notes in 15 languages, checked against official sources: export guides for about 50 countries, import registration, labelling and product certification by country, cosmetics and food rules, US tariffs and refunds, EORI, rules of origin and certificates of origin, HS classification, Incoterms, letters of credit, bills of lading, dangerous goods, invoices and packing lists) and tool guides. Returns titles, page links and excerpts to cite.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| query* | string | Question or topic in any of the 15 site languages, e.g. 'EORI number for UK imports', 'sheet mask HS code', 'CIF insurance 110%' |
| language | string | Optional: language of the guides to search (detected from the query otherwise) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"default": 5
},
"query": {
"type": "string",
"description": "Question or topic in any of the 15 site languages, e.g. 'EORI number for UK imports', 'sheet mask HS code', 'CIF insurance 110%'"
},
"language": {
"enum": [
"en",
"zh",
"ar",
"fr",
"es",
"pt",
"ru",
"tr",
"hi",
"ur",
"bn",
"id",
"vi",
"ja",
"ko"
],
"type": "string",
"description": "Optional: language of the guides to search (detected from the query otherwise)"
}
}
}| string |
| Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.' |
| sold_to | object | Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract |
| document | object |
| language | string | Language of the generator page the link opens (documents are in English) |
| shipment | object |
| hs_totals | boolean | Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines |
| lc_number | string | Optional letter of credit number that should appear on the draft |
| open_form | string | Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit). |
| draft_text* | string | Text of the bill of lading or air waybill draft from the forwarder or carrier (copied from its PDF or e-mail), up to 20,000 characters |
| manufacturer | object | Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty |
| open_document | string | pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier) |
| imperial_units | boolean | Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers) |
| shipping_marks | string | Optional; generated from buyer, destination and carton count if empty |
| letter_of_credit | object | Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features) |
| origin_statement | object | Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin. |
| destination_country | string | ISO 3166-1 alpha-2 code of the importing country (optional; otherwise taken from the port of discharge): adds that country's invoice rules to the checks |
{
"type": "object",
"required": [
"draft_text"
],
"properties": {
"bank": {
"type": "object",
"properties": {
"swift": {
"type": "string"
},
"account": {
"type": "string"
},
"bank_name": {
"type": "string"
},
"beneficiary": {
"type": "string"
},
"bank_address": {
"type": "string"
}
}
},
"buyer": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Buyer / consignee / importer"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"quantity"
],
"properties": {
"sku": {
"type": "string",
"description": "Seller's product code, printed under the description (EU import declarations for distance sales need it from 1 November 2026)"
},
"gtin": {
"type": "string",
"description": "GTIN / EAN / UPC barcode number, if the product has one"
},
"unit": {
"enum": [
"PCS",
"SETS",
"BOXES",
"PAIRS",
"KG",
"M"
],
"type": "string"
},
"hs_code": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number"
},
"description": {
"type": "string"
},
"free_of_charge": {
"type": "boolean",
"description": "Sent free (samples, gifts): the value stays on the documents for customs and is taken off the amount payable"
},
"carton_width_cm": {
"type": "number"
},
"not_originating": {
"type": "boolean",
"description": "With origin_statement: this item does not qualify and is marked as not covered by the statement"
},
"carton_height_cm": {
"type": "number"
},
"carton_length_cm": {
"type": "number"
},
"country_of_origin": {
"type": "string",
"description": "Only if this item's origin differs from shipment.country_of_origin; the documents then show the origin per item"
},
"pieces_per_carton": {
"type": "number"
},
"packed_with_previous": {
"type": "boolean",
"description": "Assorted cartons: packed in the same cartons as the item before it, whose carton weights include this item; leave its carton fields empty"
},
"net_weight_per_carton_kg": {
"type": "number"
},
"section_232_metal_origin": {
"type": "string",
"description": "US shipments of steel or aluminium articles: the countries where the steel was melted and poured or the aluminium smelted and cast, e.g. 'STEEL MELT AND POUR: KR'; printed under the description"
},
"manufacturer_product_code": {
"type": "string",
"description": "Manufacturer's own product code (part number)"
},
"gross_weight_per_carton_kg": {
"type": "number"
}
}
},
"maxItems": 100
},
"terms": {
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Named place, e.g. 'Busan' for FOB Busan"
},
"payment": {
"type": "string",
"description": "e.g. 'T/T 30% deposit, 70% before shipment'"
},
"currency": {
"enum": [
"USD",
"EUR",
"GBP",
"JPY",
"CNY",
"KRW",
"VND",
"AUD",
"CAD",
"CHF",
"HKD",
"SGD",
"INR",
"PKR",
"BDT",
"IDR",
"THB",
"MYR",
"PHP",
"AED",
"SAR",
"TRY",
"BRL",
"MXN",
"ZAR",
"NGN",
"KES",
"EGP"
],
"type": "string"
},
"incoterm": {
"enum": [
"EXW",
"FCA",
"FAS",
"FOB",
"CFR",
"CIF",
"CPT",
"CIP",
"DAP",
"DPU",
"DDP"
],
"type": "string"
}
}
},
"notify": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
},
"description": "Notify party, if different from the buyer"
},
"seller": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Seller / shipper / exporter"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"charges": {
"type": "object",
"properties": {
"freight": {
"type": "number"
},
"discount": {
"type": "number"
},
"insurance": {
"type": "number"
}
}
},
"remarks": {
"type": "string",
"description": "Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.'"
},
"sold_to": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract"
},
"document": {
"type": "object",
"properties": {
"po": {
"type": "string",
"description": "Buyer's PO / contract number"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"number": {
"type": "string",
"description": "Invoice number"
},
"valid_days": {
"type": "number",
"description": "Proforma validity in days"
}
}
},
"language": {
"enum": [
"en",
"zh",
"ar",
"fr",
"es",
"pt",
"ru",
"tr",
"hi",
"ur",
"bn",
"id",
"vi",
"ja",
"ko"
],
"type": "string",
"default": "en",
"description": "Language of the generator page the link opens (documents are in English)"
},
"shipment": {
"type": "object",
"properties": {
"etd": {
"type": "string",
"description": "YYYY-MM-DD"
},
"pallets": {
"type": "object",
"properties": {
"count": {
"type": "number"
},
"width_cm": {
"type": "number"
},
"height_cm": {
"type": "number",
"description": "Loaded height"
},
"length_cm": {
"type": "number"
},
"empty_pallet_weight_kg": {
"type": "number"
}
},
"description": "If the cartons are palletized: the documents then show e.g. 4 PLTS (101 CTNS), gross weight with the empty pallets and the loaded pallets' volume"
},
"containers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"seal": {
"type": "string"
},
"number": {
"type": "string",
"description": "e.g. MSKU1234565"
},
"tare_kg": {
"type": "number"
},
"size_type": {
"type": "string",
"description": "e.g. 20GP, 40HC, 45G1"
},
"carton_numbers": {
"type": "string",
"description": "Cartons in this container, e.g. '1-500': the packing list then shows each container's cartons, weights and CBM"
}
}
},
"maxItems": 40,
"description": "Sea containers (FCL): printed as CONTAINER / SEAL NO. on the invoice, packing list and shipping instruction; the numbers are checked against their ISO 6346 check digit. In the generator, More > VGM declaration (3 free uses) makes the SOLAS VGM form from them"
},
"duties_paid_by": {
"enum": [
"receiver",
"sender",
"third_party"
],
"type": "string",
"description": "Courier invoices: who pays the import duties and taxes (DDP: sender)"
},
"waybill_number": {
"type": "string",
"description": "Air waybill or courier tracking number, printed in box 6"
},
"port_of_loading": {
"type": "string"
},
"vessel_or_flight": {
"type": "string"
},
"country_of_origin": {
"type": "string"
},
"port_of_discharge": {
"type": "string"
},
"reason_for_export": {
"enum": [
"sale",
"sample",
"gift",
"repair_and_return",
"returned_goods",
"temporary_export"
],
"type": "string",
"description": "Printed on courier invoices (box 10)"
},
"original_invoice_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"original_invoice_number": {
"type": "string",
"description": "Goods going back (reason_for_export repair_and_return, returned_goods or temporary_export): the original shipment's invoice number, printed as ORIGINAL SHIPMENT"
},
"original_waybill_number": {
"type": "string",
"description": "The original shipment's AWB or B/L number"
},
"export_declaration_number": {
"type": "string",
"description": "Export declaration, shipping bill or AES ITN number, printed in the remarks box"
}
}
},
"hs_totals": {
"type": "boolean",
"default": false,
"description": "Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines"
},
"lc_number": {
"type": "string",
"description": "Optional letter of credit number that should appear on the draft"
},
"open_form": {
"enum": [
"vgm_declaration",
"isf_data",
"usmca_certification",
"packing_declaration_australia",
"bill_of_exchange",
"beneficiary_certificate",
"credit_note",
"shipping_advice",
"return_invoice"
],
"type": "string",
"description": "Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit)."
},
"draft_text": {
"type": "string",
"description": "Text of the bill of lading or air waybill draft from the forwarder or carrier (copied from its PDF or e-mail), up to 20,000 characters"
},
"manufacturer": {
"type": "object",
"properties": {
"mid": {
"type": "string"
},
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string",
"description": "Street address line with the building number"
},
"province": {
"type": "string",
"description": "Canada only, e.g. ON"
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2"
},
"same_as_seller": {
"type": "boolean"
}
},
"description": "Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty"
},
"open_document": {
"enum": [
"pi",
"ci",
"pl",
"si",
"po",
"sc",
"co"
],
"type": "string",
"default": "ci",
"description": "pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier)"
},
"imperial_units": {
"type": "boolean",
"default": false,
"description": "Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers)"
},
"shipping_marks": {
"type": "string",
"description": "Optional; generated from buyer, destination and carton count if empty"
},
"letter_of_credit": {
"type": "object",
"required": [
"number"
],
"properties": {
"amount": {
"type": "number"
},
"number": {
"type": "string"
},
"issue_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"expiry_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"goods_description": {
"type": "string"
},
"partial_shipments": {
"enum": [
"allowed",
"not_allowed"
],
"type": "string"
},
"presentation_days": {
"type": "number"
},
"show_on_documents": {
"type": "boolean",
"description": "Print the L/C number and date on the documents"
},
"tolerance_percent": {
"type": "number"
},
"latest_shipment_date": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"description": "Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features)"
},
"origin_statement": {
"type": "object",
"required": [
"agreement"
],
"properties": {
"place": {
"type": "string",
"description": "Place printed with the date, e.g. Seoul (default: the port of loading's city)"
},
"number": {
"type": "string",
"description": "Approved exporter's authorisation number (EU-Korea, UK-Korea, EU-Vietnam; may be empty up to EUR 6,000 per consignment), REX number (EU GSP, EU-Canada, EU-Singapore; EU exporters), UEN (Singapore exporters, EU-Singapore), Exporter Reference No. (EU-Japan, UK-Japan, EU-UK: REX or GB EORI), Business Number (Canadian exporters) or customs identification number (UK DCTS)"
},
"origin": {
"type": "string",
"description": "Origin as written in the statement, e.g. Korea, EU, Japan, European Union"
},
"agreement": {
"enum": [
"eu_korea",
"uk_korea",
"eu_vietnam",
"eu_singapore",
"eu_japan",
"uk_japan",
"eu_uk",
"eu_canada",
"korea_efta",
"eu_gsp",
"uk_dcts"
],
"type": "string"
},
"period_to": {
"type": "string",
"description": "YYYY-MM-DD"
},
"period_from": {
"type": "string",
"description": "YYYY-MM-DD; EU-Japan, UK-Japan, EU-UK, CETA: one statement for several shipments of identical products (12 months at most)"
},
"origin_criterion": {
"type": "string",
"description": "EU-Japan and UK-Japan: A, B, C1-C4, D or E. EU GSP and UK DCTS: P, or W followed by the HS heading (e.g. W 9618). Not used by the other agreements"
}
},
"description": "Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin."
},
"destination_country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the importing country (optional; otherwise taken from the port of discharge): adds that country's invoice rules to the checks"
}
}
}| Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.' |
| sold_to | object | Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract |
| document | object |
| language | string | Language of the generator page the link opens (documents are in English) |
| shipment | object |
| hs_totals | boolean | Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines |
| open_form | string | Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit). |
| manufacturer | object | Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty |
| open_document | string | pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier) |
| imperial_units | boolean | Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers) |
| shipping_marks | string | Optional; generated from buyer, destination and carton count if empty |
| letter_of_credit | object | Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features) |
| origin_statement | object | Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin. |
| destination_country | string | ISO 3166-1 alpha-2 code of the importing country (optional; otherwise taken from the port of discharge): adds that country's invoice rules to the checks |
{
"type": "object",
"required": [
"seller",
"buyer",
"items"
],
"properties": {
"bank": {
"type": "object",
"properties": {
"swift": {
"type": "string"
},
"account": {
"type": "string"
},
"bank_name": {
"type": "string"
},
"beneficiary": {
"type": "string"
},
"bank_address": {
"type": "string"
}
}
},
"buyer": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Buyer / consignee / importer"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"quantity"
],
"properties": {
"sku": {
"type": "string",
"description": "Seller's product code, printed under the description (EU import declarations for distance sales need it from 1 November 2026)"
},
"gtin": {
"type": "string",
"description": "GTIN / EAN / UPC barcode number, if the product has one"
},
"unit": {
"enum": [
"PCS",
"SETS",
"BOXES",
"PAIRS",
"KG",
"M"
],
"type": "string"
},
"hs_code": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number"
},
"description": {
"type": "string"
},
"free_of_charge": {
"type": "boolean",
"description": "Sent free (samples, gifts): the value stays on the documents for customs and is taken off the amount payable"
},
"carton_width_cm": {
"type": "number"
},
"not_originating": {
"type": "boolean",
"description": "With origin_statement: this item does not qualify and is marked as not covered by the statement"
},
"carton_height_cm": {
"type": "number"
},
"carton_length_cm": {
"type": "number"
},
"country_of_origin": {
"type": "string",
"description": "Only if this item's origin differs from shipment.country_of_origin; the documents then show the origin per item"
},
"pieces_per_carton": {
"type": "number"
},
"packed_with_previous": {
"type": "boolean",
"description": "Assorted cartons: packed in the same cartons as the item before it, whose carton weights include this item; leave its carton fields empty"
},
"net_weight_per_carton_kg": {
"type": "number"
},
"section_232_metal_origin": {
"type": "string",
"description": "US shipments of steel or aluminium articles: the countries where the steel was melted and poured or the aluminium smelted and cast, e.g. 'STEEL MELT AND POUR: KR'; printed under the description"
},
"manufacturer_product_code": {
"type": "string",
"description": "Manufacturer's own product code (part number)"
},
"gross_weight_per_carton_kg": {
"type": "number"
}
}
},
"maxItems": 100
},
"terms": {
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Named place, e.g. 'Busan' for FOB Busan"
},
"payment": {
"type": "string",
"description": "e.g. 'T/T 30% deposit, 70% before shipment'"
},
"currency": {
"enum": [
"USD",
"EUR",
"GBP",
"JPY",
"CNY",
"KRW",
"VND",
"AUD",
"CAD",
"CHF",
"HKD",
"SGD",
"INR",
"PKR",
"BDT",
"IDR",
"THB",
"MYR",
"PHP",
"AED",
"SAR",
"TRY",
"BRL",
"MXN",
"ZAR",
"NGN",
"KES",
"EGP"
],
"type": "string"
},
"incoterm": {
"enum": [
"EXW",
"FCA",
"FAS",
"FOB",
"CFR",
"CIF",
"CPT",
"CIP",
"DAP",
"DPU",
"DDP"
],
"type": "string"
}
}
},
"notify": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
},
"description": "Notify party, if different from the buyer"
},
"seller": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Seller / shipper / exporter"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"charges": {
"type": "object",
"properties": {
"freight": {
"type": "number"
},
"discount": {
"type": "number"
},
"insurance": {
"type": "number"
}
}
},
"remarks": {
"type": "string",
"description": "Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.'"
},
"sold_to": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract"
},
"document": {
"type": "object",
"properties": {
"po": {
"type": "string",
"description": "Buyer's PO / contract number"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"number": {
"type": "string",
"description": "Invoice number"
},
"valid_days": {
"type": "number",
"description": "Proforma validity in days"
}
}
},
"language": {
"enum": [
"en",
"zh",
"ar",
"fr",
"es",
"pt",
"ru",
"tr",
"hi",
"ur",
"bn",
"id",
"vi",
"ja",
"ko"
],
"type": "string",
"default": "en",
"description": "Language of the generator page the link opens (documents are in English)"
},
"shipment": {
"type": "object",
"properties": {
"etd": {
"type": "string",
"description": "YYYY-MM-DD"
},
"pallets": {
"type": "object",
"properties": {
"count": {
"type": "number"
},
"width_cm": {
"type": "number"
},
"height_cm": {
"type": "number",
"description": "Loaded height"
},
"length_cm": {
"type": "number"
},
"empty_pallet_weight_kg": {
"type": "number"
}
},
"description": "If the cartons are palletized: the documents then show e.g. 4 PLTS (101 CTNS), gross weight with the empty pallets and the loaded pallets' volume"
},
"containers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"seal": {
"type": "string"
},
"number": {
"type": "string",
"description": "e.g. MSKU1234565"
},
"tare_kg": {
"type": "number"
},
"size_type": {
"type": "string",
"description": "e.g. 20GP, 40HC, 45G1"
},
"carton_numbers": {
"type": "string",
"description": "Cartons in this container, e.g. '1-500': the packing list then shows each container's cartons, weights and CBM"
}
}
},
"maxItems": 40,
"description": "Sea containers (FCL): printed as CONTAINER / SEAL NO. on the invoice, packing list and shipping instruction; the numbers are checked against their ISO 6346 check digit. In the generator, More > VGM declaration (3 free uses) makes the SOLAS VGM form from them"
},
"duties_paid_by": {
"enum": [
"receiver",
"sender",
"third_party"
],
"type": "string",
"description": "Courier invoices: who pays the import duties and taxes (DDP: sender)"
},
"waybill_number": {
"type": "string",
"description": "Air waybill or courier tracking number, printed in box 6"
},
"port_of_loading": {
"type": "string"
},
"vessel_or_flight": {
"type": "string"
},
"country_of_origin": {
"type": "string"
},
"port_of_discharge": {
"type": "string"
},
"reason_for_export": {
"enum": [
"sale",
"sample",
"gift",
"repair_and_return",
"returned_goods",
"temporary_export"
],
"type": "string",
"description": "Printed on courier invoices (box 10)"
},
"original_invoice_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"original_invoice_number": {
"type": "string",
"description": "Goods going back (reason_for_export repair_and_return, returned_goods or temporary_export): the original shipment's invoice number, printed as ORIGINAL SHIPMENT"
},
"original_waybill_number": {
"type": "string",
"description": "The original shipment's AWB or B/L number"
},
"export_declaration_number": {
"type": "string",
"description": "Export declaration, shipping bill or AES ITN number, printed in the remarks box"
}
}
},
"hs_totals": {
"type": "boolean",
"default": false,
"description": "Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines"
},
"open_form": {
"enum": [
"vgm_declaration",
"isf_data",
"usmca_certification",
"packing_declaration_australia",
"bill_of_exchange",
"beneficiary_certificate",
"credit_note",
"shipping_advice",
"return_invoice"
],
"type": "string",
"description": "Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit)."
},
"manufacturer": {
"type": "object",
"properties": {
"mid": {
"type": "string"
},
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string",
"description": "Street address line with the building number"
},
"province": {
"type": "string",
"description": "Canada only, e.g. ON"
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2"
},
"same_as_seller": {
"type": "boolean"
}
},
"description": "Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty"
},
"open_document": {
"enum": [
"pi",
"ci",
"pl",
"si",
"po",
"sc",
"co"
],
"type": "string",
"default": "ci",
"description": "pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier)"
},
"imperial_units": {
"type": "boolean",
"default": false,
"description": "Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers)"
},
"shipping_marks": {
"type": "string",
"description": "Optional; generated from buyer, destination and carton count if empty"
},
"letter_of_credit": {
"type": "object",
"required": [
"number"
],
"properties": {
"amount": {
"type": "number"
},
"number": {
"type": "string"
},
"issue_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"expiry_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"goods_description": {
"type": "string"
},
"partial_shipments": {
"enum": [
"allowed",
"not_allowed"
],
"type": "string"
},
"presentation_days": {
"type": "number"
},
"show_on_documents": {
"type": "boolean",
"description": "Print the L/C number and date on the documents"
},
"tolerance_percent": {
"type": "number"
},
"latest_shipment_date": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"description": "Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features)"
},
"origin_statement": {
"type": "object",
"required": [
"agreement"
],
"properties": {
"place": {
"type": "string",
"description": "Place printed with the date, e.g. Seoul (default: the port of loading's city)"
},
"number": {
"type": "string",
"description": "Approved exporter's authorisation number (EU-Korea, UK-Korea, EU-Vietnam; may be empty up to EUR 6,000 per consignment), REX number (EU GSP, EU-Canada, EU-Singapore; EU exporters), UEN (Singapore exporters, EU-Singapore), Exporter Reference No. (EU-Japan, UK-Japan, EU-UK: REX or GB EORI), Business Number (Canadian exporters) or customs identification number (UK DCTS)"
},
"origin": {
"type": "string",
"description": "Origin as written in the statement, e.g. Korea, EU, Japan, European Union"
},
"agreement": {
"enum": [
"eu_korea",
"uk_korea",
"eu_vietnam",
"eu_singapore",
"eu_japan",
"uk_japan",
"eu_uk",
"eu_canada",
"korea_efta",
"eu_gsp",
"uk_dcts"
],
"type": "string"
},
"period_to": {
"type": "string",
"description": "YYYY-MM-DD"
},
"period_from": {
"type": "string",
"description": "YYYY-MM-DD; EU-Japan, UK-Japan, EU-UK, CETA: one statement for several shipments of identical products (12 months at most)"
},
"origin_criterion": {
"type": "string",
"description": "EU-Japan and UK-Japan: A, B, C1-C4, D or E. EU GSP and UK DCTS: P, or W followed by the HS heading (e.g. W 9618). Not used by the other agreements"
}
},
"description": "Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin."
},
"destination_country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the importing country (optional; otherwise taken from the port of discharge): adds that country's invoice rules to the checks"
}
}
}| Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.' |
| sold_to | object | Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract |
| document | object |
| language | string | Language of the generator page the link opens (documents are in English) |
| shipment | object |
| hs_totals | boolean | Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines |
| open_form | string | Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit). |
| manufacturer | object | Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty |
| open_document | string | pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier) |
| imperial_units | boolean | Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers) |
| shipping_marks | string | Optional; generated from buyer, destination and carton count if empty |
| letter_of_credit | object | Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features) |
| origin_statement | object | Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin. |
| destination_country | string | ISO 3166-1 alpha-2 code of the importing country, e.g. SE, US, VN; picks the guides and presets the landed cost calculator |
{
"type": "object",
"required": [
"seller",
"buyer",
"items"
],
"properties": {
"bank": {
"type": "object",
"properties": {
"swift": {
"type": "string"
},
"account": {
"type": "string"
},
"bank_name": {
"type": "string"
},
"beneficiary": {
"type": "string"
},
"bank_address": {
"type": "string"
}
}
},
"buyer": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Buyer / consignee / importer"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"quantity"
],
"properties": {
"sku": {
"type": "string",
"description": "Seller's product code, printed under the description (EU import declarations for distance sales need it from 1 November 2026)"
},
"gtin": {
"type": "string",
"description": "GTIN / EAN / UPC barcode number, if the product has one"
},
"unit": {
"enum": [
"PCS",
"SETS",
"BOXES",
"PAIRS",
"KG",
"M"
],
"type": "string"
},
"hs_code": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number"
},
"description": {
"type": "string"
},
"free_of_charge": {
"type": "boolean",
"description": "Sent free (samples, gifts): the value stays on the documents for customs and is taken off the amount payable"
},
"carton_width_cm": {
"type": "number"
},
"not_originating": {
"type": "boolean",
"description": "With origin_statement: this item does not qualify and is marked as not covered by the statement"
},
"carton_height_cm": {
"type": "number"
},
"carton_length_cm": {
"type": "number"
},
"country_of_origin": {
"type": "string",
"description": "Only if this item's origin differs from shipment.country_of_origin; the documents then show the origin per item"
},
"pieces_per_carton": {
"type": "number"
},
"packed_with_previous": {
"type": "boolean",
"description": "Assorted cartons: packed in the same cartons as the item before it, whose carton weights include this item; leave its carton fields empty"
},
"net_weight_per_carton_kg": {
"type": "number"
},
"section_232_metal_origin": {
"type": "string",
"description": "US shipments of steel or aluminium articles: the countries where the steel was melted and poured or the aluminium smelted and cast, e.g. 'STEEL MELT AND POUR: KR'; printed under the description"
},
"manufacturer_product_code": {
"type": "string",
"description": "Manufacturer's own product code (part number)"
},
"gross_weight_per_carton_kg": {
"type": "number"
}
}
},
"maxItems": 100
},
"terms": {
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Named place, e.g. 'Busan' for FOB Busan"
},
"payment": {
"type": "string",
"description": "e.g. 'T/T 30% deposit, 70% before shipment'"
},
"currency": {
"enum": [
"USD",
"EUR",
"GBP",
"JPY",
"CNY",
"KRW",
"VND",
"AUD",
"CAD",
"CHF",
"HKD",
"SGD",
"INR",
"PKR",
"BDT",
"IDR",
"THB",
"MYR",
"PHP",
"AED",
"SAR",
"TRY",
"BRL",
"MXN",
"ZAR",
"NGN",
"KES",
"EGP"
],
"type": "string"
},
"incoterm": {
"enum": [
"EXW",
"FCA",
"FAS",
"FOB",
"CFR",
"CIF",
"CPT",
"CIP",
"DAP",
"DPU",
"DDP"
],
"type": "string"
}
}
},
"notify": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
},
"description": "Notify party, if different from the buyer"
},
"seller": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Seller / shipper / exporter"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"charges": {
"type": "object",
"properties": {
"freight": {
"type": "number"
},
"discount": {
"type": "number"
},
"insurance": {
"type": "number"
}
}
},
"remarks": {
"type": "string",
"description": "Optional remarks printed on the documents, e.g. 'SAMPLES OF NO COMMERCIAL VALUE, NOT FOR RESALE. VALUE FOR CUSTOMS PURPOSES ONLY.'"
},
"sold_to": {
"type": "object",
"required": [
"name"
],
"properties": {
"tel": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"tax_id": {
"type": "string",
"description": "Tax / VAT / business registration number"
},
"address": {
"type": "string",
"description": "Full address, lines separated by \\n"
}
},
"description": "Only if the buyer (sold to) is a different company from the consignee in 'buyer', e.g. a trading company buying for a factory: printed as BUYER (SOLD TO) on the invoice, the buyer on the proforma and sales contract"
},
"document": {
"type": "object",
"properties": {
"po": {
"type": "string",
"description": "Buyer's PO / contract number"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"number": {
"type": "string",
"description": "Invoice number"
},
"valid_days": {
"type": "number",
"description": "Proforma validity in days"
}
}
},
"language": {
"enum": [
"en",
"zh",
"ar",
"fr",
"es",
"pt",
"ru",
"tr",
"hi",
"ur",
"bn",
"id",
"vi",
"ja",
"ko"
],
"type": "string",
"default": "en",
"description": "Language of the generator page the link opens (documents are in English)"
},
"shipment": {
"type": "object",
"properties": {
"etd": {
"type": "string",
"description": "YYYY-MM-DD"
},
"pallets": {
"type": "object",
"properties": {
"count": {
"type": "number"
},
"width_cm": {
"type": "number"
},
"height_cm": {
"type": "number",
"description": "Loaded height"
},
"length_cm": {
"type": "number"
},
"empty_pallet_weight_kg": {
"type": "number"
}
},
"description": "If the cartons are palletized: the documents then show e.g. 4 PLTS (101 CTNS), gross weight with the empty pallets and the loaded pallets' volume"
},
"containers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"seal": {
"type": "string"
},
"number": {
"type": "string",
"description": "e.g. MSKU1234565"
},
"tare_kg": {
"type": "number"
},
"size_type": {
"type": "string",
"description": "e.g. 20GP, 40HC, 45G1"
},
"carton_numbers": {
"type": "string",
"description": "Cartons in this container, e.g. '1-500': the packing list then shows each container's cartons, weights and CBM"
}
}
},
"maxItems": 40,
"description": "Sea containers (FCL): printed as CONTAINER / SEAL NO. on the invoice, packing list and shipping instruction; the numbers are checked against their ISO 6346 check digit. In the generator, More > VGM declaration (3 free uses) makes the SOLAS VGM form from them"
},
"duties_paid_by": {
"enum": [
"receiver",
"sender",
"third_party"
],
"type": "string",
"description": "Courier invoices: who pays the import duties and taxes (DDP: sender)"
},
"waybill_number": {
"type": "string",
"description": "Air waybill or courier tracking number, printed in box 6"
},
"port_of_loading": {
"type": "string"
},
"vessel_or_flight": {
"type": "string"
},
"country_of_origin": {
"type": "string"
},
"port_of_discharge": {
"type": "string"
},
"reason_for_export": {
"enum": [
"sale",
"sample",
"gift",
"repair_and_return",
"returned_goods",
"temporary_export"
],
"type": "string",
"description": "Printed on courier invoices (box 10)"
},
"original_invoice_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"original_invoice_number": {
"type": "string",
"description": "Goods going back (reason_for_export repair_and_return, returned_goods or temporary_export): the original shipment's invoice number, printed as ORIGINAL SHIPMENT"
},
"original_waybill_number": {
"type": "string",
"description": "The original shipment's AWB or B/L number"
},
"export_declaration_number": {
"type": "string",
"description": "Export declaration, shipping bill or AES ITN number, printed in the remarks box"
}
}
},
"hs_totals": {
"type": "boolean",
"default": false,
"description": "Also print totals by HS code (quantity, value, cartons, weights) on the invoice and packing list, for the customs broker's entry lines"
},
"open_form": {
"enum": [
"vgm_declaration",
"isf_data",
"usmca_certification",
"packing_declaration_australia",
"bill_of_exchange",
"beneficiary_certificate",
"credit_note",
"shipping_advice",
"return_invoice"
],
"type": "string",
"description": "Also open one of the generator's extra forms with this data: VGM declaration (SOLAS, needs shipment.containers), ISF (10+2) data for a US buyer, USMCA/CUSMA certification of origin, packing declaration for sea containers to Australia, draft (bill of exchange), beneficiary's certificate, credit/debit note, shipping advice e-mail, or a return/repair invoice made from this invoice (the original invoice number, date and waybill as reference; the buyer as shipper when goods come back). Each has 3 free uses (the shipping advice has no limit)."
},
"manufacturer": {
"type": "object",
"properties": {
"mid": {
"type": "string"
},
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string",
"description": "Street address line with the building number"
},
"province": {
"type": "string",
"description": "Canada only, e.g. ON"
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2"
},
"same_as_seller": {
"type": "boolean"
}
},
"description": "Who made the goods, printed on the commercial invoice with its MID code (US shipments: carriers and CBP ask for it; textile and apparel entries must show it). The generator suggests the MID from 19 CFR Part 102 if mid is empty"
},
"open_document": {
"enum": [
"pi",
"ci",
"pl",
"si",
"po",
"sc",
"co"
],
"type": "string",
"default": "ci",
"description": "pi proforma invoice, ci commercial invoice, pl packing list, si shipping instruction, sc sales contract (seller and buyer sign; the remarks become its other terms), co certificate of origin (non-preferential: the exporter's declaration, with space for a chamber of commerce to certify it), po purchase order (the buyer's order to the supplier: buyer = issuer, seller = supplier)"
},
"imperial_units": {
"type": "boolean",
"default": false,
"description": "Also show weights in pounds and volume in cubic feet on the packing list and shipping instruction (for US buyers)"
},
"shipping_marks": {
"type": "string",
"description": "Optional; generated from buyer, destination and carton count if empty"
},
"letter_of_credit": {
"type": "object",
"required": [
"number"
],
"properties": {
"amount": {
"type": "number"
},
"number": {
"type": "string"
},
"issue_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"expiry_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"goods_description": {
"type": "string"
},
"partial_shipments": {
"enum": [
"allowed",
"not_allowed"
],
"type": "string"
},
"presentation_days": {
"type": "number"
},
"show_on_documents": {
"type": "boolean",
"description": "Print the L/C number and date on the documents"
},
"tolerance_percent": {
"type": "number"
},
"latest_shipment_date": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"description": "Terms of the letter of credit (from MT700: 20, 31C, 32B, 39A, 44C, 31D, 48, 43P, 45A); the generator checks the documents against them (not among the free features)"
},
"origin_statement": {
"type": "object",
"required": [
"agreement"
],
"properties": {
"place": {
"type": "string",
"description": "Place printed with the date, e.g. Seoul (default: the port of loading's city)"
},
"number": {
"type": "string",
"description": "Approved exporter's authorisation number (EU-Korea, UK-Korea, EU-Vietnam; may be empty up to EUR 6,000 per consignment), REX number (EU GSP, EU-Canada, EU-Singapore; EU exporters), UEN (Singapore exporters, EU-Singapore), Exporter Reference No. (EU-Japan, UK-Japan, EU-UK: REX or GB EORI), Business Number (Canadian exporters) or customs identification number (UK DCTS)"
},
"origin": {
"type": "string",
"description": "Origin as written in the statement, e.g. Korea, EU, Japan, European Union"
},
"agreement": {
"enum": [
"eu_korea",
"uk_korea",
"eu_vietnam",
"eu_singapore",
"eu_japan",
"uk_japan",
"eu_uk",
"eu_canada",
"korea_efta",
"eu_gsp",
"uk_dcts"
],
"type": "string"
},
"period_to": {
"type": "string",
"description": "YYYY-MM-DD"
},
"period_from": {
"type": "string",
"description": "YYYY-MM-DD; EU-Japan, UK-Japan, EU-UK, CETA: one statement for several shipments of identical products (12 months at most)"
},
"origin_criterion": {
"type": "string",
"description": "EU-Japan and UK-Japan: A, B, C1-C4, D or E. EU GSP and UK DCTS: P, or W followed by the HS heading (e.g. W 9618). Not used by the other agreements"
}
},
"description": "Preferential origin statement printed on the commercial invoice in the agreement's exact wording (3 free uses). Only for goods that meet the agreement's rules of origin."
},
"destination_country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the importing country, e.g. SE, US, VN; picks the guides and presets the landed cost calculator"
}
}
}