SAP Document return

Sales Return

The reversal of a delivery โ€” goods come back from the customer and stock increases. The physical counterpart to a delivery.

A Sales Return (A/R Return) records goods coming back from a customer. It is the physical reversal of a Delivery: where the delivery took stock out of the warehouse, the return puts it back in. It handles the goods side of a return โ€” the money side (crediting the customer) is a separate document, the A/R Credit Memo.

Purpose

A return is created when a customer sends goods back โ€” wrong item, damaged shipment, over-delivery, or a cancelled order after dispatch. Its job is to bring the returned quantity back into inventory so stock counts stay accurate. It is the mirror image of the delivery and, like the delivery, is about physical movement rather than pricing.

A return handles goods only. If the customer is also owed money back, an A/R Credit Memo is raised to reverse the invoice value. The two are separate documents because goods and money can move independently โ€” a customer might return goods without a refund, or be credited without returning anything.

Position in the document chain

The return reverses a delivery; the credit memo (its money-side sibling) reverses the invoice.

flowchart TD
    DEL[Delivery] -->|goods returned| RET[Sales Return]
    ARI[A/R Invoice] -->|value credited| CM[A/R Credit Memo]
    RET -.goods side.- CM

    style DEL fill:#dcfce7,stroke:#16a34a
    style RET fill:#fee2e2,stroke:#dc2626,stroke-width:3px
    style ARI fill:#fef9c3,stroke:#ca8a04
    style CM fill:#fee2e2,stroke:#dc2626
  • Copies from: a Delivery (reverses it), or created directly.
  • Pairs with: an A/R Credit Memo โ€” the return handles goods, the credit memo handles value.

Key fields

The return is a Document entity with DocObjectCode = oReturns.

Header

FieldMeaning
DocEntryInternal primary key.
DocNumUser-visible return number.
CardCodeCustomer business-partner code.
DocDateReturn (posting) date.
DocTotalValue of returned goods.
DocumentStatusbost_Open / bost_Close.
CommentsReason for the return.

Lines (DocumentLines)

FieldMeaning
LineNum0-based line index.
ItemCodeItem master code.
QuantityQuantity returned.
WarehouseCodeStock location the goods return into โ€” mirrors the delivery’s warehouse field.
BaseType/BaseEntry/BaseLineLink back to the original delivery line.

Stock and G/L effect

Stock increases. Posting the return raises on-hand quantity at the warehouse on each line โ€” the exact reverse of the delivery’s stock reduction. The goods are back in inventory and available again.

COGS reversal (perpetual inventory). Under perpetual inventory the return reverses the cost entry the delivery made:

DR  Inventory                  600   โ† goods back in stock, value restored
CR      Cost of Goods Sold           600   โ† the COGS expense is reversed

This unwinds the cost side only. The revenue side โ€” reversing the amount the customer was billed โ€” is handled by the A/R Credit Memo, not the return.

Service Layer entity

PropertyValue
SL entityReturns
Object codeoReturns (16)
Norma path/b1s/v1/Returns

How to create it in Norma

Use the create_return tool. It needs:

  • card_code โ€” the customer’s code (e.g. C001).
  • lines โ€” each an item_code + quantity.

Prices come from the item master; the return tool takes no authoritative unit_price โ€” like the delivery it mirrors, a return is about goods and quantities, not pricing. Use it when the user wants to return, take back, or accept returned goods from a customer โ€” not for deliveries (use create_delivery), goods issues, or credit memos (use create_credit_memo).

As with every Norma write, the return is held for human review. The tool assembles it, the review gate shows customer, lines, and warehouses, and only on approval does the connector POST it to /b1s/v1/Returns. Nothing re-enters stock in SAP until a human approves.