Delivery
The physical shipment of goods to a customer โ reduces stock immediately and posts COGS under perpetual inventory.
A Delivery (Delivery Note) records the physical shipment of goods to a customer. It is the document that actually moves inventory: the moment a delivery is posted, stock leaves the warehouse. It is the point in the sales chain where a commitment becomes a real, irreversible movement of goods.
Purpose
A delivery is created when goods are dispatched to the customer. It is required whenever physical goods ship โ it is the document that reduces inventory and, under perpetual inventory, records the cost of what was sold. Service-only sales (time, subscriptions, non-stock items) skip the delivery entirely and go straight from order to A/R Invoice.
The delivery warehouse on each line decides which stock location is drawn down. A delivery can be based on one or several sales orders, and an order can be delivered in multiple partial deliveries as stock becomes available.
Position in the document chain
The delivery copies from a sales order and is itself the usual base for the A/R Invoice.
flowchart TD
SO[Sales Order] -->|goods ship| DEL[Delivery]
DEL -->|billing| ARI[A/R Invoice]
DEL -.reversed by.-> RET[Sales Return]
style SO fill:#dbeafe,stroke:#3b82f6
style DEL fill:#dcfce7,stroke:#16a34a,stroke-width:3px
style ARI fill:#fef9c3,stroke:#ca8a04
style RET fill:#fee2e2,stroke:#dc2626- Copies from: a Sales Order (most common), or created directly.
- Becomes: an A/R Invoice (the invoice is normally based on the delivery, so inventory and billing stay in step).
- Reversed by: a Sales Return, which brings the goods back into stock.
Key fields
The delivery is a Document entity with DocObjectCode = oDeliveryNotes.
Header
| Field | Meaning |
|---|---|
DocEntry | Internal primary key. |
DocNum | User-visible delivery number. |
CardCode | Customer business-partner code. |
DocDate | Shipment (posting) date. |
ShipToCode | Ship-to address code. |
DocTotal | Total goods value shipped. |
DocumentStatus | bost_Open until invoiced, then bost_Close. |
Comments | Free-text remarks. |
Lines (DocumentLines)
| Field | Meaning |
|---|---|
LineNum | 0-based line index. |
ItemCode | Item master code. |
Quantity | Quantity shipped. |
WarehouseCode | Stock location reduced by this line โ the critical field. |
Price | Unit price (carried for valuation / invoicing). |
BaseType/BaseEntry/BaseLine | Link back to the source sales-order line. |
Stock and G/L effect
Stock decreases immediately. Posting the delivery reduces on-hand quantity at the warehouse named on each line. This is a real inventory movement, not a reservation.
COGS is posted (perpetual inventory). If the company runs perpetual inventory, the delivery also books the cost of goods sold:
DR Cost of Goods Sold 600 โ expense: cost of items shipped
CR Inventory 600 โ inventory value reducedNote this entry moves cost, not revenue โ revenue is recognised later by the A/R Invoice. Under periodic inventory, no G/L entry is made at delivery; the stock quantity still drops. Putting the wrong warehouse on a line reduces stock from the wrong location โ a common and costly mistake.
Service Layer entity
| Property | Value |
|---|---|
| SL entity | DeliveryNotes |
| Object code | oDeliveryNotes (15) |
| Norma path | /b1s/v1/DeliveryNotes |
How to create it in Norma
Use the create_delivery tool. It needs:
card_codeโ the customer’s code (e.g.C001).linesโ each anitem_code+quantity.
Prices come from the item master; the delivery tool takes no authoritative
unit_price โ a delivery is about what and how much ships, not about pricing.
Pricing is settled at the invoice. Use it when the user wants to ship, deliver, or
dispatch items โ not for returns (use create_return) or invoices (use
create_invoice).
Because a delivery moves real stock, the human-review gate matters especially here.
The tool assembles the delivery, the review gate shows customer, lines, and
warehouses, and only on approval does the connector POST it to
/b1s/v1/DeliveryNotes. Nothing leaves the warehouse in SAP until a human approves.