In short

SAP mass outbound delivery creation turns many confirmed sales orders into outbound deliveries in one run. Creating a delivery with VL01N looks like a document step, but it does two things that matter at volume: it rechecks availability against current stock โ€” which may no longer match what the order promised โ€” and it commits that stock to the delivery. Run hundreds at once and they compete for the same inventory, so the sequence of the file and the capacity of the warehouse decide what actually ships. This guide covers how delivery creation behaves in bulk, why the availability answer can change between order and delivery, and where VL10 fits against a file.

  • Availability is rechecked at delivery creation. An order confirmed three weeks ago may find less available today, so partial deliveries are normal.
  • Deliveries in one run compete for stock. Row order decides who ships when stock is short, which is an allocation decision.
  • Use VL10 for the routine run. A file is for exceptions, partial quantities and populations somebody has chosen.
  • Delivery blocks are decisions. Each was set by somebody for a reason, and clearing one to complete a run overrides them.
  • The warehouse is the constraint. Four hundred deliveries is a picking day for people who need to know it is coming.

Creating a delivery commits stock and rechecks it

SAP mass delivery creation is the practice of turning many confirmed sales orders into outbound deliveries in one controlled run, instead of creating each through VL01N. A delivery is the shipping document: it says which order items ship now, in what quantity, from which shipping point, and it becomes the instruction the warehouse works from.

It sits between the sales order and the invoice in the order-to-cash chain described on the SD bridge, and it has a property neither of those has.

A delivery is a warehouse instruction. Creating four hundred of them is creating a day of picking work for people who are not in the room. The system constraint is trivial; the physical constraint is the whole problem.

SAP mass outbound delivery creation: the VL01N workflow from order reference to outbound delivery.
Diagram The eight stages of creating deliveries at volume, where the constraint is the warehouse.

The delivery chain

The four steps of the SAP delivery chain: VL01N creates the delivery, picking selects stock, packing creates handling units, and posting goods issue moves stock and makes the delivery billable.
Diagram Only the last step moves stock. Until then a delivery is a plan.

Four steps, and only the last one moves anything.

Create the delivery. Availability is rechecked, the shipping point is determined or supplied, and dates are scheduled backwards from the requested delivery date.

Pick. The warehouse selects the stock. Where warehouse management is active this generates transfer orders with their own mass patterns.

Pack. Handling units created where packing is in scope, which is optional in many configurations.

Post goods issue. Stock leaves, cost of sales posts, and the delivery becomes billable.

Until goods issue, a delivery is a plan rather than a fact. Nothing has left, nothing has posted to accounting, and cancelling costs nothing. That makes the creation step considerably more forgiving than the goods movement at the end of it, which is covered by the same permanence rules as any goods movement.

A delivery with order reference rechecks availability, and the answer may differ

The most important thing to understand about creating deliveries at volume.

When a sales order was taken, availability was checked and a quantity confirmed. That confirmation reserved nothing permanent. Between then and now, other orders were taken, stock moved, deliveries went out, and a physical count may have adjusted the position.

Delivery creation checks again, against today. An order confirmed for four hundred units three weeks ago may find two hundred available now, and the delivery is created for what exists rather than what was promised.

Three consequences for a mass run:

  • Partial deliveries are normal. A file that assumes full quantities will produce deliveries that do not match, and the difference is a conversation with a customer.
  • Deliveries in one run compete for stock. The same effect the sales order guide describes: each delivery consumes availability as it is created, so row order decides who ships when stock is short.
  • Sort deliberately. By customer priority, order date, or whatever the commercial policy is. This is an allocation decision and it should be made rather than inherited from an export.
💡
The allocation decision is why a file exists at all. If every confirmed order simply shipped, VL10 would handle it. A spreadsheet appears precisely when somebody has decided which orders take priority, and that decision belongs in the sort order.

VL10 for the routine run, a file for the exceptions

Comparison of SAP VL10 collective delivery processing against a file-based delivery run, covering selection criteria, grouping control, partial quantities and when each is the right approach.
Diagram Use VL10 for the daily run. A file is for chosen populations.

SAP ships a delivery due list, and knowing when it is sufficient saves building anything.

VL10 handles the routine daily run. It selects orders by criteria, groups items into deliveries automatically, and is designed for exactly this. Where shipping is a standing process against a date and a shipping point, it is the right tool and it is free.

A file handles the exceptions. Specific orders chosen outside SAP, partial quantities decided per line, grouping controlled explicitly, and allocation when stock is short. These are cases where a human has made a decision that a selection screen cannot express.

Most organisations need both: VL10 for the daily run, a file for month-end pushes, priority allocations and corrections.

Stock that is promised is not stock that is there

Six validation checks before an SAP delivery is created: order item still open, stock available now, no delivery block, shipping point valid, route and dates workable, and credit released.
Diagram Most of these are about the world having moved since the order was taken.

Most of these are about the world having moved since the order was taken.

Delivery blocks deserve particular attention. They exist on the order header, the item and the customer, and each was set by somebody for a reason: a credit hold, a dispute, a compliance check, an incomplete address. A mass run that clears blocks to complete is overriding decisions made by people who are not in the room.

Credit released is a specific case of the same thing. A credit-blocked order cannot be delivered, and that block belongs to credit control rather than to whoever is running the shipping file.

The file drives VL01N, so availability is still rechecked per line

Try this in your own system

From list to deliveries in PostNow, stock permitting

The allocation decision usually lives in a spreadsheet already. PostNow adds a task pane to Excel, connects to your SAP system with your own credentials, and creates the deliveries from the file where the decision was made.

Recheck

Availability validated against today rather than order date.

Sequence

Rows processed in the order you choose, so allocation is deliberate.

Respect blocks

Delivery and credit blocks surfaced rather than bypassed.

Trace

The delivery number written back on the row that made it.

Start free trial 14-day trial · creates through published SAP interfaces

Create against confirmed stock, in the order you decide

Step by step infographic for SAP mass delivery creation with VL01N: decide which orders ship, log in to postnow.ai, map order item and quantity, recheck availability, validate blocks and shipping point, then create and tell the warehouse.
Infographic Six steps from confirmed orders to shipping documents.

The shipping point and warehouse are the real constraint

Worth stating separately, because it is the part a technical guide usually omits and the part that determines whether the run helps.

Four hundred deliveries created in ninety seconds becomes four hundred picks, an unknown number of handling units, and a goods issue run that somebody has to perform. The system produced them instantly; the warehouse cannot.

  • Tell them before, not after. A picking day that arrives unannounced is a bad outcome from a process meant to save time.
  • Match volume to capacity. Creating more deliveries than can be picked produces a backlog that ages and blocks stock.
  • Watch the shipping point. A file spreading deliveries across shipping points spreads the work; concentrating them concentrates it.
  • Consider the transport. Deliveries feed shipment planning where it is in use, and a large creation run lands there too.

Over-delivery and missing stock stop most delivery runs

  • Assuming order quantities are still available. Availability is rechecked at delivery creation and the answer may differ.
  • Ignoring that deliveries compete for stock. Row order decides who ships when stock is short.
  • Clearing delivery blocks to complete a run. Each was set by somebody for a reason.
  • Using a file where VL10 would do. The due list handles the routine run for free.
  • Creating more than the warehouse can pick. Produces an ageing backlog that blocks stock.
  • Forgetting goods issue is a separate step. Until then nothing has moved and nothing is billable.

Delivery creation, summarised

SAP mass delivery creation reference infographic for VL01N covering the delivery chain, the fields to map, checks before creating, VL10 versus a file, and how the run works.
Infographic The complete VL01N reference: the chain, checks, and the run.

Deliveries connect to orders upstream and billing downstream

SAP SD mass upload

The sales hub: orders, pricing, and the order-to-cash chain.

SAP mass upload

The pillar guide covering validation, error handling and governance.

Inventory

Goods issue moves stock permanently, under the same rules as any movement.

Master data

The customers and shipping data deliveries depend on.

Frequently asked questions

Is availability rechecked when a delivery is created?
Yes, against the position today rather than at order time. A confirmation given when the order was taken reserved nothing permanent, so an order confirmed for four hundred units three weeks ago may find two hundred available now. The delivery is created for what exists, which means partial deliveries are normal rather than exceptional.
Do deliveries in one run compete for stock?
Yes, the same way sales orders do. Each delivery consumes availability as it is created, so the second checks against a position the first has already reduced. Row order therefore decides which customers ship when stock is short, which is a commercial allocation decision that should be made deliberately rather than inherited from however the file was exported.
When should I use VL10 instead of a file?
Use VL10 collective processing for the routine daily shipping run. It selects orders by criteria, groups items into deliveries automatically, is designed for exactly that, and is free. A file is for exceptions: specific orders chosen outside SAP, partial quantities decided per line, explicit grouping control, and allocation when stock is short.
What is a delivery block and should I clear it?
A delivery block prevents an order or item shipping, and can sit on the order header, the item or the customer. Each was set by somebody for a reason: a credit hold, a dispute, a compliance check, an incomplete address. Clearing blocks to make a mass run complete overrides decisions made by people who are not in the room, so the answer is usually to remove the row instead.
Does creating a delivery move stock?
No. Until goods issue is posted, a delivery is a plan rather than a fact: nothing has left, nothing has posted to accounting, and cancelling costs nothing. That makes delivery creation considerably more forgiving than the goods issue at the end of the chain, which is a permanent goods movement.
Can a credit-blocked order be delivered?
No. The block has to be released first, and that decision belongs to credit control rather than to whoever is running the shipping file. A credit-blocked order appearing in a delivery file is a row to remove and refer, not an obstacle to work around.
What drives the shipping point on a delivery?
It is determined from the delivering plant, the shipping conditions on the customer and the loading group on the material, or supplied explicitly in the file. Stating it removes ambiguity in multi-site networks and makes the workload distribution predictable, since the shipping point decides which warehouse receives the picking work.
How do I create outbound deliveries in bulk in SAP?
There are a few options, each with trade-offs. VL10 is SAP's own collective run and needs no file, but it is driven by delivery-due criteria rather than an arbitrary list; a recorded batch input replays VL01N screen by screen but breaks when the flow changes; a tool such as PostNow maps spreadsheet rows to delivery fields and creates them through SAP's standard logic, so availability is still rechecked per line. Which fits depends on whether your list matches VL10's selection, your volume, and how much IT involvement you want.
From order to shipment

Run your next SAP mass delivery creation from Excel

Map your columns once, validate every row against live SAP, and post through standard logic. Each row comes back with the document number it created.

Start free trial
  • 14-day free trial
  • Works with ECC and S/4HANA
  • Your data stays in your systems

Related