Magento partial shipments: what support sees and should say

Rama Adi
Written by

Rama Adi

Katelin Teen
Reviewed by

Katelin Teen

Last edited November 6, 2026

Expert Verified
Hand-drawn illustration of a warehouse worker loading a box onto a truck on an orange background while a colleague with a clipboard stands beside shelves of boxes still waiting
TL;DR

A Magento order that ships in pieces stays Processing until every item has shipped, been canceled or been refunded, so a customer holding one box will still see an unfinished order. Each parcel is its own shipment record with its own tracking numbers and, when shipment emails are on, its own email. The order item shows quantity shipped against ordered, and that is the number to quote back. eesel's Magento integration reads orders and tracking live, but its docs do not describe how several shipments on one order are returned, so I would test that first. With the eesel CLI, a coding agent can upload your shipping policy and ask test questions like "where is the rest of my order?" before go-live, while a Magento admin still approves the connection.

Why does the order say Processing when part of it already arrived?

Because Magento only completes an order when nothing is left to ship. I work eesel's support queue, and this is the single most common confusion in a "where is the rest?" ticket: the customer has a box, the order page says Processing, and they assume the store lost the rest.

The rule is in Magento's source. In the order state handler, an order moves from Processing to Complete only when it can no longer ship, or when every shippable item has an open quantity of zero. The open quantity is the quantity ordered, minus canceled, minus shipped, minus refunded. Adobe says the same in its order status docs: an order does not become Complete until every item has shipped.

Hand-drawn diagram: ordered minus shipped minus canceled minus refunded equals zero for every item, then the order moves to Complete; anything above zero stays Processing
Hand-drawn diagram: ordered minus shipped minus canceled minus refunded equals zero for every item, then the order moves to Complete; anything above zero stays Processing

Two details from the same code are worth knowing before you promise anything.

  • An unbilled item also blocks Complete. The handler returns early without changing the state if the order can still be invoiced, or has an unpaid invoice with a balance due. A parcel can be fully shipped and the order can still read Processing because one line was never invoiced. The multiple invoices guide covers that case.
  • A refunded or canceled item stops counting. Because those quantities are subtracted, an item that will never ship does not hold the order open forever. Once the rest has shipped, the order can finish.

The status is a state of the whole order, not a promise about any one parcel. That is why "Processing" is a poor thing to repeat to a customer. I would tell them what has shipped and what has not, with item names.

How does Magento record a partial shipment?

As one shipment document per parcel. Adobe's shipments page says Adobe Commerce and Magento Open Source support partial and complete order shipment. On the shipment form an admin sets Qty to Ship for each line, so shipping two of three items is a normal action, not a workaround.

Hand-drawn diagram: one order with items A, B and C splitting into Shipment 1 with items A and B and Shipment 2 with item C, each with its own tracking number and shipping email, ending in Complete
Hand-drawn diagram: one order with items A, B and C splitting into Shipment 1 with items A and B and Shipment 2 with item C, each with its own tracking number and shipping email, ending in Complete

The Shipments grid lists every record with its own number, ship date, order number and Total Quantity. Adobe says the shipment number is unique, sequential and assigned when the shipment is first saved. The order's Shipments tab lists the records tied to that order, and an admin needs Sales or Archive permissions to see it, so a support agent without that role may not see what the customer describes.

Shipments grid with shipment number, ship date, order, ship-to name and total quantity columns, from Adobe's shipments docs
Shipments grid with shipment number, ship date, order, ship-to name and total quantity columns, from Adobe's shipments docs

On each order item, the source code keeps a running count. When a shipment is registered, the shipment item code adds the shipped quantity to the order item's shipped quantity. The remaining amount shown as quantity to ship is ordered, minus shipped, minus refunded, minus canceled, never below zero, per Magento's order item model. So "2 of 3 shipped" is a fact you can read off the order item, and it is the clearest sentence for a customer.

The admin screen validates quantities before saving. The shipment save controller runs a quantity validator and refuses a shipment that does not pass, which is why you cannot ship more than was ordered. If the catalog has odd line types, the grouped product and bundle price guides explain how those split into lines. One bundle detail from the handler code: a bundle set to ship together is judged on the parent line only, so its children do not need separate shipments.

What does the customer receive for each shipment?

One shipment email per shipment, when the store has it switched on. Adobe's sales email settings say the Shipment group, when enabled, sends a transactional email for each shipment generated, using the New Shipment template for customers and New Shipment for Guest for guests. A separate Shipment Comments group sends a Shipment Update email when a comment is added.

The person creating the shipment makes a choice at submit time. In the controller I read, the email goes out only when the admin ticked the send option and shipment emails are enabled for that store. So a customer can legitimately get an email for parcel one and none for parcel two.

Tracking works the same way. On the shipment form, Add Tracking Number takes a carrier, a title and a number, and Adobe lists DHL, Federal Express, United Parcel Service, United States Postal Service and a custom value. On a saved shipment, Send Tracking Information emails the tracking details to the customer.

Shipping and Tracking Information block with carrier, title and number fields and an Add button, from Adobe's shipments docs
Shipping and Tracking Information block with carrier, title and number fields and an Add button, from Adobe's shipments docs
What the customer saysLikely causeCheck
"I got one email but two boxes"Shipment email was not sent for the second shipmentThe order's Shipments tab
"Two emails, two tracking numbers"Two shipment recordsItems and tracking on each
"Tracking says delivered but the second item is missing"Tracking number belongs to the first shipmentWhich items the shipment holds
"No tracking email at all"Shipment saved without tracking, or email option untickedTracking block on the shipment

For delay messages after the first box leaves, the shipping delay notification guide has wording that fits.

What is this customer really asking about?

Pick the sentence closest to the ticket. Each answer gives the first checks, in order.

Start at the order items
  1. Open the order and compare each item's ordered and shipped quantity.
  2. Open the Shipments tab and list what each shipment holds.
  3. Reply with item names: what shipped, what is still to ship, and why if known.
Start at the open quantity
  1. Check whether any item still has quantity left to ship or is not yet invoiced.
  2. Explain that the status covers the whole order, not the parcel they hold.
  3. Name the item that is keeping it open.
Start at each shipment
  1. Match each tracking number to its shipment and items.
  2. Check that a shipment email went out for each one.
  3. Send the pairs: number, carrier, items inside.
Start at the tracking number
  1. Find the shipment that number belongs to and list its items.
  2. If the missing item sits in a later shipment, say it has not delivered yet.
  3. If it was in the delivered shipment, hand the ticket to a person with the carrier details.

How do partial shipments interact with invoices and refunds?

They are separate records that only share the order. Adobe's shipments page says a shipment record can be generated when an order is invoiced or later, and the creation steps say to click Ship when the order is paid, invoiced and ready to ship. Adobe's invoice docs add that an order can be divided into partial shipments and invoiced separately. Shipping in two parts does not by itself create two invoices.

For refunds, the quantity formula does the work. A credit memo adds to the item's refunded quantity, and the order state handler subtracts it from what is left to ship. A customer who asks to cancel the item that is still waiting can be refunded, and the order then completes when the remaining parcels go out. The credit memo guide covers online and offline refunds, and the AI refund automation guide covers who should approve them.

One more state matters. After the order is fully fulfilled, the handler also checks whether it can still be credit-memoed. If nothing is left to refund and everything has shipped, the order becomes Closed instead of Complete. A reader of the code would expect that for a fully refunded order, but I would confirm the label on your store before putting it in a macro.

What changes when stock sits in several locations?

With Inventory Management on, the shipment form asks where the goods come from. Adobe's multi-source shipments page says you can send one or more shipments as you have inventory, and gives two reasons for partial shipments: fulfilling backorders as inventory arrives and balancing deductions across sources. The admin can use the Source Selection Algorithm, either Source Priority or Distance Priority, then keep the recommended Qty to Deduct per line or type their own.

Inventory section of the New Shipment page showing the source, products shipping, total ordered quantity and quantity to ship, from Adobe's multi-source docs
Inventory section of the New Shipment page showing the source, products shipping, total ordered quantity and quantity to ship, from Adobe's multi-source docs

Adobe adds that on-hand quantities deduct when you enter a shipment, so reservations convert to real deductions. For support, the takeaway is that a split order is often not a mistake. One order can ship from two warehouses on purpose, in two parcels, days apart. Stock questions on the rest of the order live in the configurable product stock guide, and the inventory management and Magento inventory forecasting guides cover the planning side. If you also run a WooCommerce shop, shipping zone matching works differently.

What should support check and say on a partial shipment ticket?

Open the order, read the item quantities, then say what is in each parcel. I would use this table as the internal macro.

Ticket saysOpenTell the customer
"Where is the rest of my order?"Order items, Shipments tabWhich items shipped in which parcel, and what is still to ship
"Why does it still say Processing?"Item quantities, invoicesThe status stays until every item ships, is canceled or refunded
"I only got one email"Shipment records, email settingEach shipment sends its own email, and one may not have been sent
"Which tracking number is which?"Tracking on each shipmentNumber, carrier and the items inside each parcel
"Cancel the part that has not shipped"Quantity to ship, then credit memoThe unshipped item can be refunded; the shipped parcel stays
"Delivered but I do not have it"Shipment that tracking belongs toHand over to a person with order and carrier details

Two habits keep these tickets short. Quote item names and quantities, not "your order was split", because a customer checks a number against the box in their hands. And pass anything involving a lost parcel or a refund to a person with the order number, shipment numbers and tracking already written into the note, as the agent handoff and escalation guides describe. The order status chatbot and order tracking chatbot guides show how stores automate the plain ones, and WISMO automation covers the bigger picture. For volume context, see the contact rate benchmarks.

What can eesel do on a partial shipment ticket?

Look up the order and its tracking, then draft a reply from your policy. eesel's Magento docs list these read actions: Get Order by ID, Get Orders by Email, Get Order Tracking and Get Payment Status. Get Order Tracking returns shipment status and tracking numbers for an order, with a link to the carrier's tracking page for UPS, USPS, FedEx and DHL. Tracking needs the Sales / Shipments read resource, and the order itself needs Sales / Orders.

What the docs do not say is how an order with two or three shipments is returned: one list of every number, or only the first. I would run it on a real split order and read the result before telling a customer the agent can match numbers to items. The write actions include Send Order Notice, which sends an order update, a shipping update or a payment reminder, and Cancel Order, which the docs limit to an order that has not shipped. So an order already in pieces is a refund case for a person, not a cancel for the agent. Refund Order records a credit memo for offline-paid orders only, and card refunds stay with a person in Magento Admin, as the multiple invoices guide explains.

eesel answering in a Slack thread about a Magento order with the customer, items, status, payment, shipment tracking and current stock for each item, from eesel's Magento docs
eesel answering in a Slack thread about a Magento order with the customer, items, status, payment, shipment tracking and current stock for each item, from eesel's Magento docs

Rúngne, a Norwegian climbing apparel brand, shows the safe pattern for a store that ships from more than one place, though its story names Shopify and Gorgias, not Magento. It ships US orders from a US warehouse and everything else from Norway. Its draft agent looks up the order, tracking and stock, checks why an order has not shipped, and leaves a reply as an internal note for a person to send. A delivery problem gets an apology and an escalation, never a guess about where the parcel is. Between 8 August and 8 September 2026 eesel handled about 2,100 Gorgias tickets for Rúngne and left about 580 drafts for the team. A Gorgias helpdesk can call the same Magento lookups, and the Gorgias and Magento guide covers that setup, with Gorgias order tracking as a companion.

How eesel handles shipment questions in Magento

eesel works on Magento 2, Open Source and Adobe Commerce, and answers in your helpdesk, in Slack or in the storefront chat bubble. For partial shipment tickets I would set the agent to do four things: read the order and its tracking, say which parts it can and cannot see, draft the answer from your policy, and pass lost parcels and money questions to a person. Give it Sales / Orders and Sales / Shipments read access and keep refunds and cancellations behind approval, using an approval workflow. Read-only is a valid setup, and the access you grant is the ceiling for what the agent can reach.

If you want to script it, the eesel CLI lets a coding agent upload your approved shipping policy, like a page on split shipments and tracking, then ask test questions with eesel chat before anything goes live. Creating the Magento integration and pasting its keys still needs a person with Magento admin access. Uploaded text is not the same as a tested answer, so run it on past tickets first, as the simulation testing guide describes.

Pricing is by credit, not per seat: a free plan with 100 credits, then from $299 a month for 500 credits, per eesel pricing. For the wider picture, see add AI to Magento, Magento AI, the Magento AI chatbot, best AI for Magento and the chat widget guide. Related reading: Magento reorder, downloadable products, WooCommerce guest tracking, macro templates, AI for refund requests, order management and billing questions.

Try eesel for Magento shipment tickets

If your queue has "where is the rest of my order?" and "why does it still say Processing?" tickets, eesel can read each Magento order and its tracking before anyone opens the ticket and draft a reply that names what shipped and what is still waiting, with a person sending anything about lost parcels or refunds. The free plan's 100 credits are enough to run it over a batch of real order tickets. Try eesel and see how it does on yours.

eesel Magento integration page showing Connected with the store URL and the Read and Write action groups, from eesel's Magento docs
eesel Magento integration page showing Connected with the store URL and the Read and Write action groups, from eesel's Magento docs

Frequently Asked Questions

Why does a Magento order stay Processing after part of it shipped?
Because the order only moves to Complete when no item has quantity left to ship. In Magento's order state code, each item's open quantity is ordered minus canceled, shipped and refunded, and any item above zero keeps the order Processing. The WooCommerce order status guide compares how another platform handles it.
Does a Magento partial shipment send a separate email?
Yes, when shipment emails are enabled. Adobe's sales email settings say the Shipment group sends a transactional email for each shipment generated. In the admin the person creating the shipment also decides whether to send it, so one parcel can be emailed and the next may not. See the shipping delay notification guide for follow-ups.
How do I give a Magento customer two tracking numbers?
Each shipment carries its own tracking numbers. Adobe's shipments page shows adding a carrier, title and number on a shipment, then clicking Send Tracking Information to email it. Tell the customer which items each number covers, as the order tracking guide recommends.
Can you create a partial shipment through the Magento API?
Yes. Adobe's REST tutorial says to list only the order_item_ids that ship now, and the payload has a notify field for the shipment email and a tracks array for tracking numbers. A full shipment moves the order to Complete. This suits order management scripts.
What does a Magento partial shipment do to the invoice?
Nothing automatically: shipments and invoices are separate records. A shipment can be created when the order is invoiced or later, and an order can be invoiced in parts too. The multiple invoices guide covers how the two line up and where shipping is charged.
What if an item will never ship on a Magento order?
Cancel or refund it. A credit memo or cancellation counts against the item's open quantity, so the order can still reach Complete once everything else has shipped. The credit memo guide explains the refund side, and the returns management guide covers wording.
Can eesel tell a customer where the rest of a Magento order is?
It can read the order and its tracking live. Per eesel's Magento docs, Get Order Tracking returns shipment status and tracking numbers with a carrier link for UPS, USPS, FedEx and DHL. The docs do not say how an order with several shipments is shown, so test it on one before relying on it. Details are on the Magento integration page.
How much does eesel cost for Magento support?
eesel pricing is credit based: a free plan with 100 credits, then from $299 a month for 500 credits, with no per-seat fee. A ticket or chat is one credit however long it runs. The Magento pricing guide covers the platform's own costs.

Share this article