Bulk Paste

The Bulk Paste feature lets you add tracking information to multiple WooCommerce orders by pasting CSV-style rows directly from Excel, Google Sheets, or any text source — no file upload required. It is ideal for quick updates from third-party carrier portals or one-off batches where preparing a CSV file feels heavy.

Bulk Paste reuses the same proven backend as CSV Import, so validation rules for carriers, dates, and order IDs behave identically.

🔧 Step-by-Step Import Process

To begin, go to:

WooCommerce → Shipment Tracking → Bulk Paste

Choose Your Paste Mode

At the top of the Bulk Paste screen you will see two modes:

  • Simple Paste — one tracking number per order (the default).
  • Per-Product (TPI) — one tracking number per product line within an order. Adds two extra columns: sku and qty.

Switching modes updates the sample data and the column-mapping form automatically.

1. Paste Raw Records

Paste your rows into the textarea. Each row must be comma-separated and end with a newline.

You can also click Load Sample Data to populate the textarea with a valid example for the currently selected mode.

Configure the two toggles below the textarea:

  1. 1First line contains column labels? — Keep this ON if the first pasted line is the header row (recommended). Turn it OFF if you are pasting raw data with no headers; columns will be labelled Column 1, Column 2, etc.
  2. 2Replace existing tracking details? — Turn ON to overwrite tracking info on orders that already have a tracking number. Leave OFF to skip those orders.

The live Rows counter shows how many non-empty lines were detected.

Click Parse pasted elements to continue.

✅ Date format is auto-pulled from your existing CSV Import date format setting, so pasting never overwrites that configuration.

2. Align & Map Columns

Bulk Paste auto-detects each column based on its header name (or its position if headers are off) and assigns it to the matching AST attribute.

For each target attribute you will see:

The Detected: N rows counter confirms how many data rows were parsed.

  • ⚠️ The order_id mapping is required — Bulk Paste will not run without it.

Click Run bulk alignments to start importing. Use Change pasted content to go back to Step 1.

3. Fulfillment in Progress

Each row is applied one at a time, and the screen shows live progress:

  • Consolidation Progress — percentage bar updated after every row.
  • Live paste activity console — one log line per row, marked success (●) or failure (▲).

This runs sequentially, so larger batches simply take longer — no batch-size limit is enforced.

4. Import Completed

When all rows are processed, you’ll see:

  • Updated Existing — count of rows applied successfully.
  • Warnings / Skipped — count of rows that failed (invalid carrier, missing order, etc.).
  • Consolidated ingestion report — the full per-row console log, retained so you can review failures.

Use View Orders to jump to the WooCommerce orders list, or Paste More Rows to start a new batch.

Sample Paste Format

Simple Mode:

order_id,tracking_provider,tracking_number,date_shipped,status_shipped,shipping_note
#18402,USPS,94001102008823121544,02-06-2026,Completed,Shipped from East warehouse
#18401,FedEx,781299388123,02-06-2026,Completed,Fragile packaging
#18398,UPS,1Z9E35W60310239123,31-05-2026,Completed,Dispatched standard ground

Per-Product (TPI) Mode:

order_id,tracking_provider,tracking_number,date_shipped,status_shipped,shipping_note,sku,qty
#18402,USPS,94001102008823121544,02-06-2026,Completed,Shipped from East warehouse,Woo-tshirt-logo,2
#18401,FedEx,781299388123,02-06-2026,Completed,Fragile packaging,woo-polo,1
#18398,UPS,1Z9E35W60310239123,31-05-2026,Completed,Dispatched standard ground,Woo-tshirt-logo,1

📌 The # prefix on order IDs (e.g. #18402) is stripped automatically, so you can copy values straight from WooCommerce’s order column without cleaning them first.

📌 Date Format

The date_shipped value must match the date format configured under CSV Import:

  • DD-MM-YYYY (default)
  • MM-DD-YYYY

If your pasted dates use a different format, update the CSV Import date format setting first — Bulk Paste reads the same setting.

Field Descriptions

FieldDescription
order_idWooCommerce order ID. A leading # is stripped automatically. Required.
tracking_providerCarrier name. Must match one of your enabled carriers.
tracking_numberTracking code issued by the carrier.
date_shippedDispatch date in the configured format (DD-MM-YYYY or MM-DD-YYYY).
status_shipped0 = do not change order status, 1 = Mark as Shipped, 2 = Partially Shipped.
shipping_noteCustomer-visible note shown with the tracking details.
sku (TPI only)Product SKU to attach the tracking to a specific order item.
qty (TPI only)Quantity of that SKU shipped with the tracking number.

Smart Auto-Mapping

Bulk Paste auto-matches your pasted headers to AST attributes in two passes:

  1. 1Exact keyword match first (so tracking_number correctly binds to a header literally named tracking_number, not tracking_provider).
  2. 2Substring fallback for forgiving headers like Order Number, Tracking #, Courier, Shipped Date, etc.

If headers can’t be recognised, columns fall back to positional mapping in the order they appear.

You can always override any auto-mapped column in Step 2.

How Bulk Paste Compares to CSV Import

CapabilityCSV ImportBulk Paste
Upload a .csv file
Paste rows from clipboard
FTP / SFTP automation
Per-product (TPI) rows
Replace existing tracking
Live progress + log

Use Bulk Paste for quick one-time batches you’ve copied from a sheet, and CSV Import when you have a properly formatted file or want to automate the workflow via FTP/SFTP.

Notes & Limitations

  • Order notes added through Bulk Paste are tagged with source = bulk_paste, which distinguishes them from CSV Import notes (both share the same AJAX backend).
  • Rows are processed sequentially, one HTTP request per row, so very large batches will take longer than a CSV upload.
  • All carrier validation, capability checks, and date parsing match CSV Import exactly — if a row succeeds in CSV Import, the same row will succeed in Bulk Paste.