Commercial Invoice Guide
This guide will explain what a commercial invoice is, why it's necessary for international shipments, and how to get them using the EasyPost API.
A commercial invoice is a type of form required to ship packages internationally. Commercial invoices describe the value of the goods within the shipment, which is crucial for customs agents to properly vet and process incoming international imports.
In EasyPost, carriers can return a commercial invoice within the Form object. When you create a shipment and populate the proper customs information, the Form object will automatically return a commercial invoice in a PDF format, which you can find in the
form_url string. If a carrier does not support commercial invoices or you would prefer a generic commercial invoice, you can pass the
"commercial_invoice_format": "PNG" Shipment option which will generate a generic commercial invoice instead of the invoice returned from the carrier.
There are eight strings in the Form object that provide all the information regarding your commercial invoice:
created_at: The timestamp when the form was created
form_type: The type of form returned. When trying to get a commercial invoice, this string should return a
commercial_invoice. If not, something went wrong.
form_url: The URL to access the form, which will always be rendered as a PDF.
id: The ID number of the form, you should record this for documentation purposes.
mode: Set based on which API key you used, and will either be
object: The type of object, which should be
submitted_electronically: A string that tells you whether or not the form was submitted electronically. EasyPost will always try to submit electronically, but your carrier may not support this depending on the destination country of the package.
updated_at: The timestamp when the form was updated, if it was at all.
Here is an example of a Shipment object containing a Form object which returns a commercial invoice.