Export and Bulk Fulfill
Export and Bulk Fulfill form a file-based round-trip with your logistics provider: download your open orders as a file the provider's platform can import, let the provider ship them, then upload the provider's shipment report to mark the orders as fulfilled — hundreds at a time.
Both actions live in the toolbar of the Orders page, and both run in the background: you can close their dialog and find every export and bulk fulfill you started, with its outcome, under Order jobs. Provider-specific formats become available once you add the matching logistics integration.
Exporting orders
- Filter the orders list to the orders you want to export — the export includes exactly the currently filtered orders.
- Click Export and choose a Format:
- Standard — a general-purpose CSV. Choose whether rows are Orders or Order Items and select the columns to include.
- NextSmartShip — one XLSX file in the provider's bulk-import layout, ready to upload into the provider's platform.
- ShipBob — a ZIP archive of XLSX files in ShipBob's bulk-import layout, each holding up to 999 orders. ShipBob accepts at most 1,000 orders per upload, so unpack the archive and import the files one at a time — every file is complete on its own, and they are numbered in the order the orders were exported.
- Click the export button. The export runs in the background: the dialog shows its progress and offers Download as soon as the file is ready. You can close the dialog while it runs — the export carries on, and its file is waiting under Order jobs.
One export runs at a time per account. Starting another while one is still running is refused; wait for it to finish, then start the next.
A provider-format export carries at most 50,000 rows. An export that would exceed that fails with a message saying so; narrow the filters — by date, for example — and export in parts. A Standard CSV export has no row limit.
Provider-format exports reference items by product name (ShipBob) or SKU (NextSmartShip), except for the products you mapped to something else. A product without a mapping is exported under its usual value, so no order is left out for want of one. Before the export starts the dialog says how many of the filtered orders will be written; the only ones skipped are those with nothing shippable on them.
Bulk fulfilling orders
Once the provider has shipped, download the shipment report from the provider's platform and upload it via Bulk Fulfill. The dialog shows a preview — the format, the number of rows, and the parsed data — before anything is applied.
Every bulk fulfill runs in the background, whichever format you chose: the dialog shows its progress and then the result report. Closing the dialog does not stop the fulfillment — the job stays listed under Order jobs with its status — but the per-shipment report is shown only in the dialog, so leave it open if you want to read it.
One bulk fulfill runs at a time per account, and one file carries at most 10,000 rows. Starting another while one is still running is refused, and a longer file has to be split and uploaded a part at a time.
Row count is not the only limit. The rows are sent to ODUS as data rather than as the file itself, and that request is capped at 4 MB — so a file with many columns can be refused below 10,000 rows, whatever the file's own size on disk. Remove the columns the chosen format does not use, or split the file.
Standard format
The Standard format is a CSV you prepare yourself, with one row per shipment: an Order ID, Tracking Number and Carrier column, and optionally an Order Item ID column. Without the item column, every unfulfilled item on the order ships with that tracking number; with it, only the listed items do — and one file uses one of the two, not a mix. Rows without a tracking number or carrier are skipped before anything is uploaded, and the tracking URL is derived from the carrier and tracking number.
Provider formats
Choose the provider's format and upload the file exported from the provider's platform:
- NextSmartShip — the platform's fulfilled-orders XLSX export. Orders are matched by the Platform Order No. column, and the last-mile carrier and tracking number columns fill in the shipment details.
- ShipBob — the platform's shipment report. Orders are matched by the Store Order ID column, with tracking number, carrier, and tracking URL taken from the report.
The Bulk Fulfill dialog shows each format's required and optional columns before you upload, so you can verify your file's layout first.
Result report
Once the fulfillment finishes, the dialog summarizes how many fulfillments succeeded, failed, or were skipped, and lists per-order details for every failure or skip — an unknown order ID is reported as a failure, an item that was already fulfilled as a skip. Fix the reported rows and re-upload just those if needed.
Order jobs
Open the Jobs tab on the Orders page to see every export and bulk fulfill run as a background job for your account — everything started from the Orders page, and everything started through the API's job endpoints — newest first. The tab is available if your role allows exports or bulk fulfills. Each row says what kind of job it was, what it was given (an export's format and filters; a bulk fulfill's format and number of rows), when it started, and whether it is running, completed or failed; a running job shows its progress. The actions follow the kind:
- Download, on a completed export, returns the file it produced: the orders as they were when it ran. A file is kept for 90 days after the export completes; after that the row says File expired.
- Re-run, on an export, starts a new export with the same format and filters against your orders as they are now. Its file can differ from the original — orders created, fulfilled or cancelled since then are reflected.
- Re-run, on a bulk fulfill, is offered only when it failed. It runs the same uploaded rows again; shipments the first run already recorded are skipped, so only what it did not get to is fulfilled. The uploaded rows are kept for 90 days after the bulk fulfill starts; after that the row says Rows expired and the file has to be uploaded again. A completed bulk fulfill has nothing to re-run.
A job that failed stays listed. Hover over or focus the info icon next to its status to read why, then adjust the filters or the file and run it again.