# Form Guide

This guide explains how to generate shipping Forms for purchased shipments using the EasyPost API.

Easypost supports several shipping forms. Some forms are requested by creating a Form after purchasing a shipment, while others are automatically
generated by the carrier or enabled through shipment options. The sections below describe how each form is generated and which carriers support it.

---

## Prerequisites

- Purchase the shipment before creating a Form.
- Some forms require carrier-specific configuration.
- Some forms are generated automatically or by shipment options.

---

## Forms Created by Request

Create these forms by making a Form request after purchasing a shipment.

| Form | Parameters | Carrier |
|---|---|---|
| Label QR Code | [Form](https://docs.easypost.com/guides/form-guide#label-qr-code-parameters) | USPS. See [Label Broker Guide](https://support.easypost.com/hc/en-us/articles/4404533889677-EasyPost-USPS-Label-Broker) |
| Return Packing Slip | [Return packing slip parameters](https://docs.easypost.com/guides/form-guide#return-packing-slip-parameters) | All carriers |
| RMA QR Code | [RMA QR Code parameters](https://docs.easypost.com/guides/form-guide#rma-qr-code-parameters) | Fedex (Note: This requires account provisioning. Please contact [support](https://support.easypost.com) to use this feature.) |

---

## Forms Generated Automatically

These forms are automatically generated when the shipment meets the carrier's requirements. No Form request is required.

| Form | Carrier |
|---|---|
| Cod Return Label | FedEx |
| Commercial Invoice | All carriers that support international shipments [commercial invoice](https://docs.easypost.com/guides/commercial-invoice-guide) |
| CN22 | Select carriers like USPS. The CN22 form will be included on your postage label when available. |
| CRN Report | FedEx |
| High Value Report | UPS (note: UPS automatically creates this based on the shipment) |
| Order Summary | Australia Post, Deutsche Post, and FedEx Fuse |

---

## Forms Generated by Shipment Options

These forms are generated when the corresponding shipment option is enabled.

| Form | Shipment Option | Carrier |
|---|---|---|
| NAFTA Certificate of Origin (USMCA) | `nafta_certificate_of_origin: true` | FedEx (REST) |

> Note: Although the shipment option is named `nafta_certificate_of_origin`, the trade agreement is now known as the
  United States-Mexico-Canada Agreement (USMCA). For eligible FedEx REST shipments between the United States, Canada,
  and Mexico, setting `nafta_certificate_of_origin: true` causes FedEx to generate and electronically submit the
  certificate when applicable.

---

## Examples

#### Label QR Code Parameters

```json
{
  "form": {
    "type": "label_qr_code"
  }
}
```

#### Return Packing Slip Parameters

```json
{
  "form": {
    "type": "return_packing_slip",
    "barcode": "RMA12345678900",
    "line_items": [
      {
        "product": {
          "title": "Square Reader",
          "barcode": "123456789"
        },
        "units": 8
      }
    ]
  }
}
```

#### RMA QR Code Parameters

```json
{
  "form": {
    "type": "rma_qr_code",
    "rma": {
      "pack_and_return": true,
      "label_image_data": "{{label_image_data}}",
      "include_packing_slip": true,
      "email_notification": true,
      "affiliated_merchant": "example",
      "order": {
        "order_date": "2020-09-22",
        "order_number": "123456",
        "line_items": [
          {
            "quantity": 2,
            "return_reason": "Custom String reason",
            "sku": "1234SKU"
          },
          {
            "quantity": 1,
            "return_reason": "Return requested",
            "sku": "1235SKU"
          }
        ]
      }
    }
  }
}
```

---

## Additional Resources

[Content omitted: related links and resources. Review the rendered documentation for navigation links.]