Orders and fulfillment

Bulk Update Shopify Order Tracking

Last updated

Use EditEngine to correct tracking numbers, tracking URLs, and carrier names on existing Shopify fulfillments. Export the order and fulfillment IDs, prepare one focused row per shipment, and upload it through Advanced Import. The example keeps customer notifications off.

This task updates an existing fulfillment. It does not create a shipment, change purchased quantities, or set a delivery event such as Delivered. Public Orders imports also do not permit order deletion/replacement, refunds, order cancellation, or fulfillment cancellation; a destructive-operation option does not unlock those actions.

The file shape has been compared with the official Matrixify tracking-update tutorial and Orders reference. Matrixify documents additional fulfillment fields; EditEngine only applies the tracking number, URL, carrier, and notification choice in this workflow. Its Shipment Status and Location columns are reporting fields.

Step 1 — Export the existing fulfillments

Open EditEngine → Export, select Orders, and choose CSV or Excel. Select the Update tracking numbers template. It selects ID, Name, Command, Line: Type, and the Fulfillment columns.

Orders selected in the EditEngine export panel with Excel format and order templates visible

Use Add filter → ID to target one non-critical order for the first test. Choose an order that already has the fulfillment you need to correct. You can also narrow by the exact order Name. Review all existing filters before exporting.

The Orders filter panel showing available identity fields and the accessible-order-history notice

The total badge is unfiltered, so it will not shrink when you add a filter. Standard order access covers the last 60 days; older orders need Shopify-approved all-orders access. If your target is absent, resolve its identity or access before importing.

Create your filtered export, download it, and keep an untouched copy. This records the original tracking values and identifies which fulfillment belongs to which order. Do not use a made-up fulfillment ID or an ID copied from another store.

Step 2 — Keep one intentional tracking row

Work in a copy of the export. Keep only the intended Fulfillment Line rows with a real Fulfillment: ID. A shipment containing several products can appear on several export rows; reduce those repeated rows to one row per fulfillment for this update. Preserve separate rows for distinct shipments.

Retain only these columns in the import file:

HeaderWhat to put in the cell
IDThe existing Order ID from your export.
CommandUPDATE. This requires an existing order.
Line: TypeFulfillment Line.
Fulfillment: IDThe existing fulfillment ID from that order.
Fulfillment: Tracking NumberThe intended tracking number.
Fulfillment: Tracking URLThe intended carrier tracking link, if changing it.
Fulfillment: Tracking CompanyThe intended carrier name, if changing it.
Fulfillment: Send ReceiptFALSE to avoid requesting a customer notification for this correction.

Remove other line fields such as Line: ID, Line: Title, Line: Variant ID, Line: Quantity, and Line: Price. Do not include any Line Item rows. Remove Fulfillment: Status, Shipment Status, Location, and other unrelated order fields as well.

The IDs, tracking number, carrier name, and URL below are placeholders. Replace them with values for your own existing order and fulfillment before uploading:

ID,Command,Line: Type,Fulfillment: ID,Fulfillment: Tracking Number,Fulfillment: Tracking URL,Fulfillment: Tracking Company,Fulfillment: Send Receipt
1234567890,UPDATE,Fulfillment Line,3456789012,TRACKING-NUMBER,https://carrier.example/track/TRACKING-NUMBER,CARRIER-NAME,FALSE

Save the file as Orders.csv, or put the same headers and values in an XLSX worksheet named Orders. Keep IDs and tracking numbers as text so your spreadsheet does not round them or remove leading zeros.

Step 3 — Review multi-package and blank values

For multiple tracking numbers on the same fulfillment, put the intended list in one cell separated by semicolons, such as TRACK-ONE; TRACK-TWO. Tracking URLs use the same separator. Keep the number and URL lists in the matching order, and include any existing tracking entries you intend to retain. Supply one carrier name for the fulfillment.

Blank tracking cells do not clear the existing number, URL, or carrier. If you are changing only the number, omit the URL and Company columns. At least one number, URL, or carrier must be supplied; Fulfillment: Send Receipt alone does not request an update.

Use TRUE for Send Receipt only when you deliberately want Shopify to notify the customer. A notification that has been sent cannot be undone by restoring spreadsheet values.

Step 4 — Test through Advanced Import

Open EditEngine → Import, select Advanced import, and upload the one-fulfillment test file.

Advanced import selected with the spreadsheet upload area ready for an Orders file

Before starting your import, confirm that EditEngine detects Orders, uses the intended sheet, and shows your expected headers. Check the row-count information, explicit UPDATE command, and notification flag. Grant the order and fulfillment access requested by the app if it is missing.

Review the detected headers and any sample rows shown. A sample is not a full-file or before-and-after validation. Open your spreadsheet to inspect all tracking values and confirm the existing order/fulfillment pairing before starting the single-record import.

Step 5 — Verify before expanding the batch

After completion, download the result file and investigate any error or warning. Open the order in Shopify Admin, then inspect the exact fulfillment: check its carrier, every tracking number, each tracking link, and the notification choice. Confirm that no extra order lines or fulfillments were added.

Re-export the same Order ID and compare tracking against the intended values. When the test is correct, prepare the remaining fulfillment rows using the same minimal format. Public Orders imports are limited to 50,000 data rows per file.

Advanced Import does not provide the bulk editor's one-click undo. To correct a tracking value later, prepare another focused UPDATE using a fresh export and the original nonblank values from your backup. Re-check the fulfillment ID before doing so. Blank cells cannot remove tracking information, so a previous blank state may require a manual correction in Shopify. Restoring tracking cannot retract an email already sent.

Previous
Draft Orders column reference