Back to blog
August 23, 2026 13 min readBy Henrik Åberg

Partial Sales Order Fulfillment in VNDLY: 7-Step Guide

Ship part of a sales order without losing track of stock, backorders, serials, lots, invoices, or the quantities still waiting to go.

Partial FulfillmentSales OrdersBackordersOrder ManagementInventory Control
Partial Sales Order Fulfillment in VNDLY: 7-Step Guide

A customer orders 12 units. You have eight ready today and four due next week. Do you hold the entire order, split it into two sales orders, or ship eight and hope everyone remembers what remains?

That last option is where inventory records start to drift. The warehouse reduces stock for eight units. Customer service still sees an order for 12. Finance invoices the wrong quantity. When the remaining four arrive, nobody is quite sure whether they are promised, available, or already counted.

Partial sales order fulfillment should preserve one simple truth: what was ordered, what has shipped, and what is still open must remain separate numbers. VNDLY does that at line level, while keeping each shipment connected to the original sales order.

This guide shows the exact VNDLY workflow, including the button labels, status changes, stock movements, tracking details, serial and lot controls, and invoicing behavior.

Why partial fulfillment goes wrong

Most teams can manage one split shipment. The trouble begins when partial fulfillment becomes normal.

One order may contain five SKUs, fulfilled from one location on Monday and another shipment on Friday. A single line may also be split, such as shipping eight of 12 units now. That creates several records that must agree:

  • the original ordered quantity
  • the cumulative fulfilled quantity on every line
  • the quantity leaving a specific location today
  • the stock remaining after dispatch
  • the items included on an invoice
  • the tracking details for the shipment
  • any serial numbers or lot quantities attached to the goods

Some systems solve this by cloning the unshipped portion into a new order. That can work, but it also breaks the clean history of what the customer originally ordered. Other systems leave staff to edit the original order quantity, which hides the shortage instead of recording it.

SAP's current backorder documentation describes the core process as tracking sales orders whose inventory has not yet shipped, then delivering the missing quantity after replenishment. SKULabs recommends sorting partially fulfillable orders by order date or ship-by date so older commitments are handled first. Those are sound operational principles. The software still has to preserve the quantities correctly behind the screen.

⚡ The rule that prevents backorder drift

Never overwrite the ordered quantity to match what you can ship. Record today's shipped quantity separately, then let the system calculate what remains.

How VNDLY records a partial shipment

VNDLY stores qty_ordered and qty_fulfilled on each sales-order line. The remaining quantity is calculated as ordered minus fulfilled.

Suppose a line contains 12 units and none has shipped. The Ship items dialog initially shows 12 remaining. If you enter eight in Ship now, the line keeps 12 as the ordered quantity and adds eight to its fulfilled quantity. Four remain open.

The sales order's fulfillment state follows the totals across all lines:

State What it means What happens next
unfulfilled No ordered units have shipped. Open the order and select Ship items.
partial At least one unit has shipped, but the order still has an open quantity. The remaining lines stay available for another shipment.
fulfilled Cumulative fulfilled quantity has reached the ordered total. There is no remaining quantity to ship.

This line-level model matters when one SKU is complete and another is short. The order can be partial without pretending every line has the same state.

If you want the broader operating policy around split deliveries, read our partial shipments and backorders guide. The workflow below focuses on exactly what happens inside VNDLY.

The 7-step VNDLY partial fulfillment workflow

1. Open the sales order

Go to Sales Orders and open the order you are dispatching. Before shipping, review the order-level fulfillment badge and the ordered and fulfilled quantities on its lines.

If stock availability is the reason for splitting the shipment, check the indicators before promising a date. Our sales-order stock availability guide explains how VNDLY surfaces shortages and expected availability.

2. Select Ship items

Click Ship items. VNDLY opens Ship items for [order number] and displays only lines that still have something left to ship.

Every open line shows its SKU, Name, Remaining, and Ship now quantity. The dialog starts with the remaining quantities filled in. If the entire remainder is ready, Fill all restores those maximum remaining quantities.

For a partial shipment, change Ship now on any standard line to the quantity physically leaving today. Set a line to zero if none of that SKU is in this shipment.

3. Choose Ship from location

Select Ship from location. This is not just a label for the packing slip. VNDLY creates the inventory movement against the chosen location.

That prevents a common multi-warehouse mistake: reducing global stock while leaving the source warehouse unchanged. If your team is still reconciling locations manually, the multi-location inventory visibility guide covers the wider problem.

4. Add the carrier and tracking number

Carrier (optional) and Tracking # (optional) can be recorded with the fulfillment. When VNDLY recognizes the carrier and has a tracking number, it can construct a tracking link. The sales-order page then shows Fulfillment Tracking, including carrier, tracking number, shipped date, and a Track package button when a URL is available.

These fields are optional because a local delivery or customer pickup may not have carrier tracking. Leaving them blank does not block the inventory movement.

5. Assign serial numbers or lots when required

Serialized and lot-tracked products have stricter controls than ordinary quantity lines.

For a serialized line, VNDLY loads serial numbers with an available status at the selected location. You must select exactly one serial for every unit being shipped. If you try to ship three units with only two serials selected, VNDLY stops the action and tells you the mismatch.

For a lot-tracked line, the lot allocations must add up exactly to the ship quantity. An allocation cannot exceed the lot's available quantity. Fill all can automatically select available serials and allocate lot quantities, taking available lots in the order returned to the dialog until the remaining requirement is covered.

This is an important edge case that broad partial-shipment guides often miss. Quantity alone isn't enough for traceable goods. A shipment of five units must also explain which five serialized units or which lot quantities left the building.

6. Confirm the shipment

When you confirm, VNDLY sends the fulfillment, affected lines, inventory changes, and resulting order status through one database operation. It is designed to be atomic: those core records succeed together or fail together.

That guards against an ugly failure mode where the order says “shipped” but stock was never deducted, or stock was deducted while the fulfilled quantity stayed unchanged.

For ordinary products, VNDLY also checks whether the shipment would make stock negative at the selected location. It shows a warning with the SKU, current stock, ship quantity, and resulting balance. A user can cancel or deliberately continue. Serial and lot lines use their own availability validation instead.

After the core fulfillment succeeds, selected serials are marked sold and linked to the sales order and customer. Lot allocations are recorded, their available quantities are reduced, and a depleted lot changes from available to depleted.

The Catch

The core fulfillment, line updates, inventory movement, and order status are atomic. Serial and lot updates happen immediately afterward. If your workflow depends on traceability, review the completed fulfillment and its assignments before the package leaves.

7. Return for the remaining quantity

After a partial shipment, the order remains available with a partial fulfillment state. Open Ship items again when the rest arrives. Already completed quantities are subtracted, so the dialog shows only what remains.

You do not need to create a second sales order. The next fulfillment adds to the same line history until the cumulative fulfilled quantity reaches the ordered quantity. At that point the order becomes fulfilled.

See how VNDLY handles partial fulfillment. Keep ordered, shipped, and remaining quantities connected in one sales order.

Try VNDLY free →

What happens to ecommerce inventory

Once a VNDLY fulfillment changes stock, the affected variants are sent to VNDLY's ecommerce inventory-push endpoint. The code currently targets connected WooCommerce, Shopify, BigCommerce, and Squarespace stores.

This is an outbound stock update after fulfillment. It is not an inbound Shopify inventory sync, and it does not mean the whole workflow is event-driven. The purpose is narrower: after stock leaves through VNDLY, connected storefront quantities should receive the new inventory level without waiting for the next manual inventory batch.

There is another honest limitation. The inventory push runs after the core fulfillment and does not block the shipment dialog from closing if a channel update fails. Errors are logged. Teams selling across channels should still review integration activity, particularly after connection or credential changes.

For the storefront side of the workflow, see the VNDLY Shopify integration setup guide or our WooCommerce inventory sync guide.

VNDLY currently sends Shopify or WooCommerce fulfillment confirmation from this dialog only when the sales order becomes fully shipped. A partial VNDLY shipment still updates its stock effects, but teams should not assume that a partial fulfillment confirmation is written back to those storefronts through this specific path.

How partial fulfillment affects invoicing

Shipping and invoicing are related, but they are not the same event.

In VNDLY, a web or prepaid workflow can allow a full invoice before fulfillment. For a wholesale flow, once any fulfillment exists, the invoice action is set to invoice fulfilled quantities only. That means an order can move through separate cumulative states:

  • fulfillment: unfulfilled, partial, or fulfilled
  • invoicing: uninvoiced, partial, or invoiced

This separation avoids treating goods still on the shelf as if they have already been dispatched. It also supports a real commercial exception: some ecommerce customers pay for the whole order at checkout even when the warehouse ships it in parts.

Do not choose an invoicing policy by accident. Agree with your accountant whether wholesale invoices should follow each shipment or whether your terms require another treatment. VNDLY records the operational quantities, but your accounting and revenue-recognition rules remain a business decision.

A practical control checklist

Use this routine whenever an order will leave in more than one shipment:

  1. Confirm the customer accepts a split shipment and knows what remains.
  2. Review the Remaining quantity line by line.
  3. Select the actual Ship from location.
  4. Enter only the physical quantity in Ship now.
  5. Match every serial or lot allocation to the goods in the box.
  6. Record carrier and tracking when they exist.
  7. Confirm the fulfillment badge changes to partial.
  8. Review stock at the dispatch location and any connected-store activity.
  9. Decide whether to invoice the fulfilled quantity now.
  10. Prioritize the open remainder by promised date, order date, or customer commitment.

The last step is operational policy rather than software behavior. The top search results commonly recommend working older orders first. That is a sensible default, but a replacement part for a stopped production line may deserve priority over a newer routine order. Write down your rule so warehouse staff do not have to improvise under pressure.

From the Founder: one order should tell the whole story

In a physical-product business, split shipments aren't an exception for long. A supplier is late, a customer needs the available pieces now, or one warehouse has stock while another doesn't. What used to bother me was seeing teams “solve” that by changing the order itself. The customer ordered 12. That fact shouldn't disappear because we could only ship eight today. VNDLY keeps the promise, the movement, and the remainder as separate facts on the same order.
- Henrik Åberg, Founder of VNDLY

Watch the VNDLY workflow

The product demo below gives you a wider view of VNDLY's inventory and order workflow.

For warehouse-focused teams, VNDLY's inventory software for warehouse operations connects sales orders, location stock, packing, and fulfillment in one working flow.

Frequently Asked Questions

What is partial sales order fulfillment?

Partial fulfillment means shipping fewer units than the customer originally ordered while keeping the unshipped quantity open. It can involve completing some order lines and leaving others untouched, or shipping only part of the quantity on a single line.

Does VNDLY create a new sales order for the backordered quantity?

No. VNDLY keeps the original ordered quantity and adds cumulative fulfilled quantities to the same sales-order lines. The remaining quantity stays available for a later shipment on the original order.

Can I partially fulfill a serialized or lot-tracked product?

Yes. For serialized products, you must select exactly one available serial number per shipped unit. For lot-tracked products, lot allocations must equal the ship quantity and cannot exceed each lot's available quantity.

Will VNDLY let me ship more than the remaining quantity?

The fulfillment payload caps the quantity sent for a line at its remaining quantity. The interface also sets the Ship now input maximum to the remaining amount. For ordinary products, VNDLY warns if the shipment would create negative stock at the selected location.

Does a partial shipment sync as fulfilled to Shopify or WooCommerce?

Not through the full-fulfillment writeback in the current Ship items workflow. VNDLY pushes updated inventory for affected variants after shipment, but the Shopify and WooCommerce fulfillment-confirmation calls in this path run only when the order becomes fully shipped.

Ready to keep split shipments under control?

Start a 14-day free trial of VNDLY - no credit card required.