At a glance
Per-line-item fulfilment status across all orders in the period. Magento splits an order intoorder_items(line items), each shipped via separateshipment_itemsdocuments. An order can be partially shipped (3 of 5 lines shipped, 2 still inprocessing); this card surfaces the line-level view that the order-level Fulfillment Rate hides.
| What it counts | For every order_item in orders created in the 30-day window: classify the line as shipped, partially_shipped, pending, cancelled, or backordered. Compute count and line-level row_total per category. |
| API field | qty_ordered, qty_shipped, qty_canceled, qty_backordered, qty_invoiced from GET /rest/V1/orders/{id}/items. The category derives from the relationship: qty_shipped == qty_ordered is shipped; 0 < qty_shipped < qty_ordered is partially_shipped; etc. |
| Why line-level matters | An order-level fulfilment-rate metric counts a 4-of-5-shipped order as “shipped” if your rule is “any shipment exists”, or as “not shipped” if your rule is “all lines shipped”. Both are wrong for ops planning. The line-level view tells you the line-item shipped percent which directly controls customer satisfaction. |
| Backorders | Adobe Commerce supports backorders per product (backorders setting in Catalog > Products > [SKU] > Inventory). Backordered lines are qty_backordered > 0. They sit in this card as a distinct category because they cannot be picked yet (warehouse stockout). |
| Cancellations on line items | Adobe allows partial line-cancellation (cancel 2 of 5 lines while shipping the other 3). qty_canceled > 0 AND qty_shipped > 0 is a valid combination. |
| VAT / tax treatment | n/a, the card uses count and row_total (excl. tax) for line aggregation. |
| Shipping | n/a; shipping is order-level, not line-level. |
| Discounts | row_total already deducts line-level promotions. |
| Refunds | Not subtracted at line level for fulfilment view. A refunded line is still shipped (it shipped, then was returned). Use Refund Value for the refund overlay. |
| Currency | Mixed-currency row_total for ranking; base_row_total available for FX-neutral. |
| Multi-store / multi-warehouse | Inventory module routes per warehouse. Per-warehouse line-item view available via pickup_location_id. |
| Time window | 30D rolling. |
| Alert trigger | None on this card directly. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Adobe Commerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A B2B+DTC industrial-supplies merchant on Adobe Commerce 2.4.7 with 3 warehouses (East Coast, Midwest, West Coast). Snapshot 13 May 26, 30-day rolling. 2,840 orders, 14,200 line items. Line item classification:| Status | Line count | % of lines | row_total | % of value | Notes |
|---|---|---|---|---|---|
shipped (qty_shipped == qty_ordered) | 11,420 | 80.4% | $1,820,000 | 78.6% | normal-state |
partially_shipped | 940 | 6.6% | $186,400 | 8.0% | mid-shipment lines |
pending (zero shipped, awaiting pick) | 1,210 | 8.5% | $204,300 | 8.8% | in-fulfilment queue |
backordered | 480 | 3.4% | $89,200 | 3.9% | warehouse stockout |
cancelled (line cancelled, no ship) | 150 | 1.1% | $16,400 | 0.7% | mostly OOS-driven |
| Total | 14,200 | 100% | $2,316,300 | 100% |
| Warehouse | Lines pending > 7 days | Lines backordered > 14 days |
|---|---|---|
| East Coast | 142 | 38 |
| Midwest | 380 | 290 |
| West Coast | 88 | 152 |
- Midwest warehouse has 380 pending lines >7 days. That is 31% of total pending. Either the warehouse is understaffed, or orders are routing to Midwest faster than it can pick. Drill into the warehouse-side staffing data and consider re-routing some Midwest orders to East Coast (which has spare capacity).
- Backorder concentration in Midwest (290 of 480 lines, 60%). Cross-link with Adobe Inventory module: SKU stock levels for Midwest warehouse. Likely a recent batch of high-velocity SKUs that didn’t get replenished. Procurement should expedite.
- Partially-shipped at 6.6% of lines is normal for B2B but high for pure DTC. Adobe’s default behaviour is “ship what’s available, backorder the rest”. For DTC merchants who want “ship complete or not at all” (avoiding partial deliveries), configure Stores > Configuration > Sales > Shipping Settings > Shipping Origin > Allow Partial Shipments = No. This will increase
pendinginstead of creatingpartially_shipped. - Cancelled line value of $16,400 is 0.7% of total. Healthy. Cross-check with Cancellation Rate, which counts whole-order cancellations; this card’s cancelled-line count is partial-cancel only.
- Line-level vs order-level reconciliation: order-level fulfilment rate (any-shipment-exists) would show ~92% (orders with at least one shipment). Line-level says 80.4%. The 12-percentage-point gap is partial shipments, which order-level metrics hide. This card is the operational truth.
- Action queue: (a) escalate Midwest staffing or re-route orders, (b) expedite Midwest replenishment, (c) configure DTC shipping policy if appropriate, (d) audit the 150 cancelled lines for OOS pattern across SKUs.
Sibling cards merchants should reference together
| Card | Why pair it with Line Item Fulfillment |
|---|---|
| Fulfillment Rate | The order-level summary. Always higher than the line-level “all-shipped” rate. |
| Fulfillment Breakdown | Order-level distribution; pair to spot whether order-level vs line-level metrics agree. |
| Fulfillment Over Time | Day-by-day trend at the order level. |
| Order State Distribution | processing orders are the line-pending source. |
| Unfulfilled Orders | Order-level “stuck in processing >N days”. |
| Refund Value | Backorder-then-cancel often becomes refund. Cross-correlation. |
| Top Refunded Products | Customer-level concentration. |
shopify.fulfillment_status | Shopify peer; Shopify uses three statuses (fulfilled, partial, unfulfilled) with simpler semantics. |
bigcommerce.line_item_fulfillment | BigCommerce peer. |
Reconciling against the vendor’s own dashboard
Where to look in Adobe Commerce Admin:Sales > Shipments lists every shipment document. Each shipment has line-item rows withFor per-order line-status:qty_shippedper SKU. To get a line-level count by status, you would joinsales_order_itemagainstsales_shipment_item; this is a SQL/report query, not a single Admin screen.
Sales > Orders > [order] > Items section. The grid showsFor backorder visibility:qty_ordered,qty_invoiced,qty_shipped,qty_canceled,qty_refundedper line. Useful for one-order spot checks.
Catalog > Products > [SKU] > Inventory shows the per-SKU backorder configuration. Adobe Commerce does not surface a “lines currently backordered” report natively; the closest is a custom report against sales_order_item.qty_backordered.
Why our number may legitimately differ from a manual Admin computation:
| Reason | Direction of divergence |
|---|---|
Bundle products. Adobe Commerce bundles can be configured as “ship together” or “ship separately”. A bundle with separate-ship children appears as multiple order_items; a ship-together bundle appears as one. The card counts at the order_item level. | Card count higher for separate-ship bundles |
Configurable products. The configurable parent line and the simple-child line both exist as order_items. The card excludes parent rows where parent_item_id IS NULL is the simple-child marker. | Variations in custom-installed Magento can differ |
Multi-warehouse Inventory. Adobe Commerce 2.4 splits a single line across warehouses if Inventory module is enabled. The line might show qty_shipped=3 from East Coast and qty_shipped=2 from Midwest. The card sums across warehouses. | None on aggregate |
| Time-zone. Standard ±1 day on day boundaries. | Minor |
| Sync lag. 5-15 min. | Standard |
| Card | Expected relationship | What divergence tells you |
|---|---|---|
shipstation.label_count | ShipStation labels printed should approximately match shipped lines (each label typically covers one shipment of N lines) | If ShipStation labels >> shipped lines, you have an over-shipment issue (lines were re-shipped). If <<, your shipping software is behind. |
klaviyo.shipping_email_volume | ”Your order has shipped” email count should match shipped-line count | Divergence flags a missing email trigger. |
Known limitations / merchant FAQs
Why is my order-level fulfilment rate 92% but my line-level shipped rate only 80%? Order-level “fulfilment rate” usually means “any shipment exists for the order”. A 4-of-5-shipped order counts as fulfilled at the order level but contributes 4 shipped + 1 pending at the line level. The line-level view exposes the partial-shipment volume that order-level metrics hide. Both numbers are right; they answer different questions. A backorder line, does it become a refund if it never ships? Adobe Commerce’s default behaviour is to keep the backorder open until either (a) stock arrives and the line is shipped, or (b) the customer or admin manually cancels the line, which generates a Credit Memo for the unshipped value if the customer has been invoiced. If the merchant has not invoiced, cancelling the backorder line just reverses the order-level total without a Credit Memo. Can a single line be partially shipped, partially backordered, and partially cancelled? Yes.qty_ordered=10, qty_shipped=4, qty_backordered=4, qty_canceled=2 is valid. Adobe tracks each separately. The card classifies based on the dominant-or-most-recent state with a precedence: cancelled > backordered > partially_shipped > pending. Toggle the per-line breakdown on the card detail panel to see the full split.
My configurable products show as multiple lines, why?
Adobe stores both the configurable parent and the simple child as sales_order_item rows. The card excludes parent rows by default to avoid double-counting. If the count looks too low for an order with 5 configurable products, check the manifest’s parent-row exclusion logic.
Bundle products: are they one line or many?
Depends on the bundle configuration. “Ship together” bundles are one parent line + N child lines but the children are not shipped independently; the card treats the bundle as one. “Ship separately” bundles produce N independently-shipped lines; the card treats each child as its own line. The merchant’s bundle settings (shipment_type field) drive the behaviour.
Why do pending lines never decrease on holidays?
Warehouses don’t pick on holidays. Pending lines accumulate over the closure and clear in the first 1-2 days back. Use 7-day rolling rather than instantaneous count.
Multi-warehouse, can I see line items per warehouse?
Yes. Apply pickup_location_id filter. Adobe Commerce 2.4+ Inventory module routes per warehouse; the card respects the routing.
A line was cancelled but is still in the order’s complete state, why?
Adobe doesn’t recompute order state from line states. An order with one cancelled line and four shipped lines goes to complete once the four shipped lines are invoiced. The cancelled line shows on the line-level card but doesn’t change the order-level state. This is correct behaviour; the order is operationally complete.
Why does the partially_shipped percentage matter?
Two reasons: (1) customer NPS, customers often dislike partial deliveries (multiple boxes, multiple wait periods); (2) cost, Adobe Commerce ships separately by default, so a 4-line partial-then-rest is two carriers’ worth of cost when one consolidated would be cheaper. If your partially_shipped is over 10% of lines, consider tighter ship-complete rules for DTC orders.
Backorder vs OOS, what’s the difference?
Backorder = product allows orders when out of stock; the order is created and waits for restock. OOS = the product is hidden from the catalogue and customers can’t order it. Adobe configures this per-SKU. Backorder lines appear in this card; OOS-driven lost orders don’t (they never get placed).