# Update orders before printing
URL: https://support.starshipit.com/articles/14700000001013-update-orders-before-printing
Canonical: https://support.starshipit.com/articles/14700000001013-update-orders-before-printing
Markdown: https://support.starshipit.com/articles/14700000001013-update-orders-before-printing.md
Updated: 2026-06-18

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Update order details in Starshipit before printing labels through the UI or API.

Update orders before printing when another system needs to correct, enrich, or finalise order data after the order is already in Starshipit but before a label is generated.

## Before you begin

- Confirm the order already exists in Starshipit.
- Confirm the order has not already been printed.
- Identify the fields your integration is allowed to change.
- Decide which system is the source of truth for each changed field.

## Common update scenarios

| Scenario | Examples |
| --- | --- |
| Address correction | Change suburb, postcode, delivery instructions, company name, or contact details. |
| Shipping change | Update shipping method, carrier, service, signature requirement, or delivery option. |
| Package finalisation | Add final weight, dimensions, package count, or packaging type after packing. |
| Customs enrichment | Add item value, description, tariff code, country of origin, or tax details. |
| Warehouse changes | Adjust quantities, remove unavailable items, update metadata, or add an internal order `note` before printing. |
| Commercial enrichment | Update billing or sold-to details, customs data, return fields, carrier service names, COD values, duties, tax amounts, and shipping price fields when your integration is the source of truth. |

## Recommended workflow

1. Find the order in Starshipit.
2. Check the order status before changing it.
3. Apply only the fields your source system owns.
4. Re-read or verify the order if the next action depends on the updated data.
5. Print the label in the Starshipit UI or through the API.
6. Store tracking and shipment details in the source system.

## Endpoint map

[Open the Starshipit API reference](/developers/api-reference/starshipit#orders) for request fields and response models.

| Step | Endpoint | Use it to |
| --- | --- | --- |
| Find the order | [GET /api/orders/search](/developers/api-reference/starshipit#endpoint-orders-get-api-orders-search-phrase-john-20smith-search-orders) or [GET /api/orders](/developers/api-reference/starshipit#endpoint-orders-get-api-orders-get-order-s) | Confirm the order exists and is the right record. |
| Update one order | [PUT /api/orders](/developers/api-reference/starshipit#endpoint-orders-put-api-orders-update-order) | Apply a targeted correction before printing. |
| Update many orders | [PUT /api/orders/update](/developers/api-reference/starshipit#endpoint-orders-put-api-orders-update-update-orders) or [PUT /api/orders/batchupdate](/developers/api-reference/starshipit#endpoint-orders-put-api-orders-batchupdate-batch-update-orders) | Apply controlled updates in bulk workflows. |
| Add or remove order tags | [POST /api/tags/order](/developers/api-reference/starshipit#endpoint-tags-post-api-tags-order-add-order-tags) or [DELETE /api/tags/order](/developers/api-reference/starshipit#endpoint-tags-delete-api-tags-order-delete-order-tags) | Apply user-defined tags to an order after it exists in Starshipit. |
| Print after update | [POST /api/orders/shipment](/developers/api-reference/starshipit#endpoint-shipments-post-api-orders-shipment-print-label) | Generate the label after verification. |

The [Update Order model](/developers/api-reference/starshipit/models/update-order---order-model) lists the supported optional fields, including `note`, `metadatas`, `billing`, `customs`, `dangerous_goods_type`, `shipping_freight_value`, `total_shipping_price`, `duties_amount`, `tax_amount`, `return_order`, `outgoing_order_id`, `carrier_service_name`, `is_fully_packed`, `bbx_parent_id`, `bbx_pallet_id`, `nfe_key`, and `cod_value`.

:::note
After an order has been printed, Starshipit only allows a small update set: `order_id`, `order_number`, `status`, `is_manifested`, and `note`. Do not rely on the update endpoints to change address, carrier, service, package, or customs details after printing.
:::

## If the order has already been printed

We do not recommend updating printed order details. If the customer, warehouse, or source system needs to change address, carrier, service, package, or customs data after printing, use an operational redo flow instead.

1. Stop the parcel from being shipped with the old label.
2. If the shipment has not been manifested, archive or cancel the printed label where your courier and workflow allow it.
3. Redo the order in Starshipit, or create a replacement order with the corrected details.
4. Print a new label and store the new tracking number in the source system.
5. Make sure the old tracking number is not sent to the customer or marketplace as the active shipment.

For the UI process, see [Archiving and removing orders](/articles/orders-manifests-reports/orders/archiving-removing-orders) and [Cancel or archive labels in Starshipit](/articles/printing-labels-packing-slips/labels/cancel-or-archive-labels-in-starshipit).

:::warning
Do not silently overwrite shipping, package, or customs data after a label has been generated. Make the exception visible to the team that owns fulfilment.
:::

## Verify the update

Confirm the changed fields appear correctly in Starshipit before printing. For package, service, address, and customs changes, test both successful updates and validation failures.

## Related guides

- [Import orders, print in Starshipit, and update the source system](/articles/developer-center/starshipit-api/import-orders-into-starshipit)
- [Print outside Starshipit and return tracking](/articles/developer-center/starshipit-api/print-outside-starshipit-and-return-tracking)
- [Print labels for orders Starshipit imported](/articles/developer-center/starshipit-api/print-labels-for-orders-starshipit-imported)
- [Starshipit API reference](/developers/api-reference/starshipit#orders)
