Create and track shipments

Every shipment you send from the vendor portal pre-stages the receiving clinic's inventory queue. When boxes arrive, the clinic side is match-and-confirm — never re-entry. This page covers the two entry paths (bulk Excel upload and manual single shipment), the destination-grouping logic, and how discrepancies flow back to you after check-in.

Before you start

The shipments page

Open Shipments from the vendor sidebar. The page shows every shipment your company has created:

Click any row to open its detail drawer with lines, tracking history, and any exception raised by the clinic.

Bulk Excel upload

The upload flow (Create → Upload shipment file, route /vendor/shipments/upload) turns one worksheet into a shipment per destination clinic — matching how most vendor ops teams already work.

Step 1 — Upload the file

Drop your .xlsx or .csv on the upload zone. The page reads the header row and tries to auto-map each column against a known field.

Recognized fields and their aliases:

Field Common column headers
sku SKU, Item Code, Product Number, Item #
product_name Product Name, Description, Item Description
lot_number Lot, Lot Number, Batch, Batch Number
expiration_date Exp Date, Expiration, Expiry, Expiration Date
quantity Quantity, Qty, Units, Shipped Qty
destination_clinic Ship To, Destination, Clinic, Facility
external_ref PO Ref, PO Number, Reference, Order Ref

Required for validation: SKU, lot_number, quantity, destination_clinic. Product name and PO ref are optional but strongly recommended.

Step 2 — Confirm column mapping

If a header didn't auto-map, use the dropdown next to each column to pick the right field. The preview shows the first row's value under each column so you can verify at a glance.

Step 3 — Review the preview

The preview groups rows by destination clinic. For each group, you see:

Rejected rows show a per-row reason. Fix the file and re-upload, or drop the rows and continue.

Step 4 — Lot integrity check

The preview flags three lot-level integrity issues:

Step 5 — Confirm the shipment

Click Create shipments. One shipment is created per destination clinic. Each shipment:

Manual single shipment

When you're sending a one-off (patient-specific ship-out, urgent replacement), a full Excel upload is overkill.

  1. From Shipments, click New shipment (manual).
  2. Pick the destination clinic.
  3. Add lines one at a time — SKU, lot, expiration, quantity.
  4. Optional: paste a tracking number and carrier.
  5. Save & ship. The record follows the same pre-staging flow as bulk uploads.

Save a column mapping template

If your ops team runs the same spreadsheet every week, save the mapping so future uploads skip the mapping step:

  1. On the mapping page, click Save mapping as template and give it a name.
  2. Next upload, pick the template from the dropdown above the mapping table. Every column pre-populates.

Track a shipment

The shipment detail drawer has five sections:

Discrepancies

When a clinic marks a discrepancy at receiving, the shipment moves to flagged on your side and a notification lands in your Requests inbox.

To resolve:

  1. Open the shipment detail; read the discrepancy note and view the photo.
  2. Take an action from the drawer: - Accept and reship — creates a new draft shipment for the missing quantity. - Accept as short-ship — the clinic receives the received quantity; the balance is written off. - Dispute — opens a thread in Messages with the clinic's inventory admin for reconciliation.

Draft, void, and rerun

Troubleshooting

Symptom Likely cause What to do
"Row 4: SKU not in your catalog" SKU missing from vendor catalog Add the SKU on the Catalog page first, then re-upload
"Row 12: destination clinic not tethered" You haven't been onboarded with that clinic Ask the clinic to send a tether invite, or invite them from Directory
Preview shows 0 valid rows Header row mis-mapped or file has extra top rows Re-check the mapping; delete banner rows above the header before saving
Clinic sees "no shipments pending" after upload Notification delay or clinic filtering to a different tab Have the clinic refresh Receiving and check the Pending tab
Duplicate shipment created Two uploads with different PO refs but same lots Void one draft before it ships
ESC