15.4 Sales Shipping, Invoicing, Undo & Blanket Orders

Key Takeaways

  • Posting a sales shipment reduces inventory on hand, creates negative Item Ledger Entries, and accrues interim Cost of Goods Sold (COGS) in the General Ledger if Expected Cost Posting is active.
  • The Undo Shipment action on Posted Sales Shipments generates positive corrective Item Ledger Entries and restores Sales Order line quantities, provided the shipment line has not been invoiced.
  • Carrier integration fields on the Sales Header (Shipping Agent Code, Shipping Agent Service, Package Tracking No.) capture logistics details that flow to posted shipments for customer tracking.
  • Recurring Sales Lines (Standard Sales Lines, Page 407) automate regular billing structures onto customer documents via manual, automatic, or prompt-driven rules.
  • Sales Deferrals allocate unearned revenue across multiple accounting periods using Deferral Templates linked to Balance Sheet deferred revenue liability accounts.
Last updated: September 2026

15.4 Sales Shipping, Invoicing, Undo & Blanket Orders

Quick Summary: The final stages of sales fulfillment in Dynamics 365 Business Central encompass Sales Shipping and Sales Invoicing (Table 38 Sales Header, Table 39 Sales Line). Posting a shipment relieves physical stock via negative Item Ledger Entries (Table 32) and accrues interim Cost of Goods Sold. If shipping errors occur, the Undo Shipment action on the Posted Sales Shipment (Page 130) reverses inventory movements and restores sales order lines, provided the items have not been invoiced. For long-term customer agreements, Blanket Sales Orders manage contracted call-offs over time. Multi-period income—such as annual SaaS subscriptions or service warranties—is recognized progressively using Sales Deferrals.


Sales Order Shipping & Carrier Tracking

Once a Sales Order (Alt+Q -> type Sales Orders, Page 42) is picked and packed, shipping relieves inventory and confirms outbound logistics.

Sales Shipping & Carrier Tracking Workflow:

[Sales Order: SO-1002]
  Header: Shipping Agent = "FEDEX", Agent Service = "OVERNIGHT", Tracking No. = "FX-889922"
  Line: Item 1000 | Quantity = 20 | Qty. to Ship = 20
             │
             ▼ Post (F9) -> "Ship"
       ┌─────┴─────────────────────────────────────────┐
       ▼                                               ▼
[Posted Sales Shipment (Page 130)]          [Inventory & Interim Ledger Impact]
- Table 110 Header (Carries Tracking No.)   - Table 32: Item Ledger Entry (Type = Sale, -20 Qty)
- Table 111 Lines                            - Table 5802: Value Entry (Expected Cost)
                                             - Table 17: G/L Entry (if Expected Cost active):
                                                 Debit: COGS (Interim)
                                                 Credit: Inventory (Interim)

Operational Shipping Fields

  • Qty. to Ship: Defines the physical units leaving the facility during this posting event (defaults to Outstanding Quantity). For partial shipments, users decrease this value.
  • Quantity Shipped: Cumulative historical units posted on shipments.
  • Qty. to Invoice: Physical units that have shipped and are eligible for billing (defaults to Quantity Shipped - Quantity Invoiced).
  • Carrier Tracking Fields: Located on the Shipping and Billing FastTab:
    • Shipping Agent Code: Carrier identifier (e.g., DHL, FEDEX, UPS).
    • Shipping Agent Service Code: Specific transit service level (e.g., NEXTDAY, GROUND), which defines transit days.
    • Package Tracking No.: External tracking barcode or number, which flows directly to the Posted Sales Shipment and displays on customer packing slips.

Document Release & Reopening Controls

Before an order can be picked or shipped, its header status must be shifted from Open to Released via the Release action (Ctrl+F9). Releasing validates credit limits, locks line pricing against accidental modification, and makes lines visible to warehouse pick routines. To modify quantities or pricing, users must select Reopen.


The Undo Shipment Action: Mechanics & Constraints

When a warehouse ships the wrong item, sends goods to an incorrect address, or keys an erroneous quantity, deleting the posted document is forbidden. Business Central provides the Undo Shipment function on the Posted Sales Shipment (Alt+Q -> type Posted Sales Shipments, Page 130 / Table 110).

Undo Shipment Reversal Pipeline:

[Posted Sales Shipment (Page 130)]
                 │
                 ▼ Select Line -> Functions -> "Undo Shipment"
       ┌─────────┴─────────┐
       ▼                   ▼
[Document Corrections]      [Ledger Reversals & Order Reopening]
- Appends positive          - Table 32: Positive Item Ledger Entry (+Qty, Correction = Yes)
  corrective line           - Reopens original inbound Item Ledger Entry
  on posted shipment        - Table 5802: Reverses COGS Interim Value Entries
                            - Sales Order Line: Decreases Quantity Shipped,
                              restores Qty. to Ship and Outstanding Quantity

Strict Prerequisites for Undo Shipment

Business Central enforces three critical rules before executing Undo Shipment:

  1. Item Line Type: The line must have Type = Item. Service or G/L lines cannot be undone.
  2. Uninvoiced Quantity: The line must have Quantity Invoiced = 0. If a sales invoice has been posted against the shipment—even for a partial quantity—Undo Shipment is strictly blocked. In such cases, the reversal must be handled via a Sales Return Order or Sales Credit Memo.
  3. Unconsumed Outbound Movement: The reversal cannot be executed if subsequent downstream transactions prevent reinstating the original lot or serial ledger state.

System Impact of Undo Shipment

  • A corrective line is inserted into the Posted Sales Shipment with a negative quantity and the description "Undo shipment of %1 items".
  • A positive Item Ledger Entry is posted with Correction = Yes, replenishing inventory at the original location and bin.
  • Interim COGS and Inventory accrual entries in the General Ledger are reversed.
  • On the original Sales Order, the Quantity Shipped is decreased, while Qty. to Ship and Outstanding Quantity are restored, allowing the warehouse to stage and re-ship the correct items.

Sales Invoicing & Order Completion

Sales Invoicing establishes the legal accounts receivable claim and finalizes inventory valuation.

Sales Invoicing Financial Impact:

[Sales Order: Qty. Shipped = 20, Qty. to Invoice = 20]
                     │
                     ▼ Post (F9) -> "Invoice"
       ┌─────────────┴─────────────────────────────┐
       ▼                                           ▼
[Posted Sales Invoice (Page 143)]         [Financial & Subledger Postings]
- Table 112 Header                        - Table 21: Cust. Ledger Entry (AR Debit)
- Table 113 Lines                         - Table 5802: Value Entry (Actual COGS Cost)
                                          - Table 17: General Ledger Entries:
                                              Debit: Accounts Receivable (Asset)
                                              Credit: Sales Revenue (Income)
                                              Credit: Sales Tax / VAT Payable
                                              Debit: COGS (Actual Expense)
                                              Credit: Inventory Asset (Relieved)
                                              Debit: Inventory Interim [Reversed]
                                              Credit: COGS Interim     [Reversed]

Fully Invoiced Order Lifecycle

When an order is 100% shipped and 100% invoiced:

  • Business Central automatically deletes the active Sales Order record (Table 38 / 39) to maintain system performance.
  • If Archive Orders is set to Always or Question in Sales & Receivables Setup, an immutable copy is preserved in Sales Order Archives before deletion.

Recurring Sales Lines (Standard Sales Lines)

For customers who place predictable, routine orders (e.g., weekly restaurant food supplies, monthly packaging consumables, regular equipment maintenance kits), administrators establish Standard Sales Lines (Alt+Q -> type Standard Sales Lines, Page 407 / Table 170).

Recurring Sales Lines Configuration & Insertion Modes:

[Standard Sales Code: REST-WEEKLY] ──► Page 407
  ├── Line 1: Item FLOUR-50LB (Qty = 10)
  ├── Line 2: Item SUGAR-25LB (Qty = 5)
  └── Line 3: Item OIL-5GAL    (Qty = 2)
             │
             ▼ Assign to Customer Card (Page 21 -> Recurring Sales Lines)
[Standard Customer Sales Code] ──► Page 172
  ├── Insert Rec. Lines on Quotes:    [Manual]
  ├── Insert Rec. Lines on Orders:    [Always Ask]
  ├── Insert Rec. Lines on Invoices:  [Automatic]
  └── Insert Rec. Lines on Cr. Memos: [Manual]

Customer Assignment & Prompt Options

From the Customer Card, selecting Related -> Sales -> Recurring Sales Lines (Page 172 / Table 172) links standard codes to that customer. The four insertion behaviors include:

  • Manual: User must select Actions -> Functions -> Get Recurring Sales Lines....
  • Automatic: Lines populate immediately upon entering the customer number.
  • Always Ask: A notification banner prompts: "Recurring sales lines exist for customer %1. Do you want to insert them?".

Blanket Sales Orders (Customer Framework Contracts)

A Blanket Sales Order (Alt+Q -> type Blanket Sales Orders, Page 507 / Table 38 with Document Type = Blanket Order) represents an overarching customer agreement to buy negotiated quantities over time (e.g., 5,000 units over an annual period) without specifying upfront delivery dates.

Blanket Sales Order Call-Off Lifecycle:

[Blanket Sales Order: BSO-5001]
  Line: Item CHAIR-EXEC | Total Quantity = 500 | Outstanding = 450
             │
             ├── 1. Enter "50" in [Qty. to Ship] on Blanket Line
             │
             ▼ 2. Select Action: "Make Order" (Codeunit 87 Blanket Sales-Order to Order)
[Release Sales Order: SO-3001] ──► Created for Qty = 50
  ├── Warehouse ships 50 units (Post -> Ship)
  └── Accounting invoices 50 units (Post -> Invoice)
             │
             ▼ Updates Flow Back to Blanket Order Line
[Blanket Sales Order: BSO-5001]
  Line: Item CHAIR-EXEC | Quantity = 500 | Qty. Shipped = 50 | Outstanding = 450 | Qty. to Ship = 0
  • Role of Qty. to Ship on Blanket Orders: Dictates the quantity to release onto the next child Sales Order when Make Order (Codeunit 87) is executed. It does not post physical warehouse shipments directly.
  • Quantity Tracking: Tracks Quantity (contract total), Qty. Shipped (fulfilled across all released child orders), Qty. Invoiced, and Outstanding Quantity.

Sales Deferrals & Revenue Recognition

When billing customers upfront for multi-period services—such as annual software subscriptions, extended equipment warranties, or quarterly retainer fees—revenue cannot be recognized immediately upon invoicing. It must be posted to an unearned revenue liability account and amortized across the service duration.

Sales Revenue Deferral Accounting Pipeline:

[Customer Invoice: $36,000 Annual Cloud Service]
  Line Type: G/L Account 40100 (Service Revenue)
  Deferral Code: 12-REV (Deferral Account: 23100 Unearned / Deferred Revenue)
             │
             ▼ Post Invoice (F9)
[Immediate Invoice Date Entries]
  Debit:  Accounts Receivable (10100) ........ $36,000  (Asset)
  Credit: Deferred Revenue (23100) ........... $36,000  (Liability)
             │
             ▼ Automated Amortization Postings (Straight-Line across 12 Periods)
  Period 1: Debit 23100 Def Rev $3,000  / Credit 40100 Revenue $3,000
  Period 2: Debit 23100 Def Rev $3,000  / Credit 40100 Revenue $3,000
  ... through Period 12

Deferral Template Configuration for Sales

  • Defined via Deferral Templates (Alt+Q -> type Deferral Templates, Page 1700).
  • Deferral Account: Specifies the Balance Sheet liability account (e.g., 23100 Unearned Revenue).
  • Calc. Method: Straight-Line, Equal per Period, Days per Period, or User-Defined.
  • Start Date: Determines the first recognition date (Posting Date, Beginning of Period, End of Period, Beginning of Next Period).
  • Assigning the Deferral Code to a sales line allows sales reps to inspect the Deferral Schedule (Page 1702) prior to posting.

Outbound Reversal Mechanisms Comparison

Attribute / ConstraintUndo Shipment (Page 130)Sales Return Order (Page 6630)Sales Credit Memo (Page 44)
Invoiced Lines Allowed?No (Strictly blocked if invoiced).Yes (Handles invoiced returns).Yes (Financial and inventory credit).
Inventory MovementReverses shipment (-Shipped, +Stock).Physical receipt of returned goods.Restores inventory if item line used.
Restores Original Order?Yes (Reopens SO line quantities).No (Independent return document).No (Independent credit document).
Best Use CaseImmediate warehouse picking/shipping error.Customer returns defective goods after receipt.Pure financial refund or billing adjustment.

Step-by-Step UI Execution Workflows

Workflow A: Shipping a Sales Order and Executing Undo Shipment

  1. Open a Sales Order (Alt+Q -> Sales Orders) with an Item line for Quantity = 10.
  2. In the header Shipping and Billing FastTab, enter Shipping Agent = UPS, Tracking No. = 1Z99999.
  3. Click Posting -> Post (F9), select Ship, and click OK.
  4. To correct an error, open Posted Sales Shipments (Alt+Q -> Posted Sales Shipments, Page 130).
  5. Open the shipment, navigate to the Lines FastTab, and select the shipped line.
  6. Click Functions -> Undo Shipment. Confirm the reversal prompt.
  7. Verify that a corrective negative line appears on the shipment, physical stock is reinstated, and the original Sales Order reflects Quantity Shipped = 0 and Qty. to Ship = 10.

Workflow B: Releasing Call-Off Orders from Blanket Sales Orders

  1. Open Blanket Sales Orders (Alt+Q -> Blanket Sales Orders, Page 507) and click New.
  2. Select Customer 20000. Add an Item line: No. = 1896-S, Quantity = 500.
  3. In the Qty. to Ship field on the line, enter 50 (the first release batch).
  4. In the action bar, click Process -> Make Order (Codeunit 87).
  5. Business Central creates a live Sales Order for 50 units. Note that the blanket order line now shows Outstanding Quantity = 500 and Qty. to Ship = 0.
  6. Process shipping and invoicing on the child sales order; reopen the blanket order to confirm Quantity Shipped = 50 and Outstanding Quantity = 450.

Common Configuration Pitfalls & Exam Traps

  • Pitfall 1: Attempting Undo Shipment After Invoicing. If an accounting clerk posts a sales invoice against a shipped sales line, the Undo Shipment function fails with the error: "You cannot undo shipment of line... because it has already been invoiced." The user must instead create a Sales Return Order or Credit Memo.
  • Pitfall 2: Forgetting to Reopen an Order for Edits. When a Sales Order is in Released status, attempting to edit quantities, shipping dates, or prices will fail. Users must click Reopen first, make changes, and then click Release.
  • Pitfall 3: Confusing Blanket Sales Order Qty. to Ship with Physical Shipment. Keying 25 into Qty. to Ship on a blanket sales order line does not ship any items or relieve warehouse inventory. It strictly defines the quantity that will be transferred onto a child Sales Order when Make Order is clicked.
  • Pitfall 4: Misconfigured Deferral Account on Sales Templates. Assigning a revenue G/L account as the Deferral Account instead of a Balance Sheet Unearned Revenue liability account results in double-crediting revenue or failing to defer unearned income across the balance sheet.
Loading diagram...
Sales Shipping, Invoicing, Undo Reversal & Deferral Amortization Flow
Test Your Knowledge

A warehouse shipping specialist posts a sales shipment for 25 high-end laptops under Sales Order SO-10045. Ten minutes later, the shipping specialist realizes the laptops were scanned from Location WEST instead of Location MAIN. The specialist opens the Posted Sales Shipment to execute 'Undo Shipment', but the action fails with an error message. What is the most likely reason the Undo Shipment action was rejected?

A
B
C
D
Test Your Knowledge

A wholesale distributor regularly sells a standardized weekly promotional display kit consisting of five distinct items to a franchise customer. The sales director wants Business Central to display a prompt asking the sales order processor whether to insert these promotional items whenever a new Sales Order is created for this customer. How should this be configured?

A
B
C
D
Test Your Knowledge

A cloud hosting provider issues a $12,000 sales invoice to a client on January 1 for a 12-month hosting subscription spanning January through December. The contract uses a straight-line Sales Deferral Template linked to a Balance Sheet Deferred Revenue liability account. What General Ledger entries does Business Central post on January 1 upon posting the sales invoice?

A
B
C
D