# Purchase returns

Return document fields and how a return relates to the Return Pick.

Source: https://support.toolingmetrics.com/en/purchasing/reference/purchase-returns/
Updated: 2026-10-29

A **Purchase Return** ships already-received items back to a vendor — for defective goods, wrong deliveries, or excess stock — and removes them from on-hand inventory. It is created manually with **New Purchase Return** from a Purchase Order that has at least one line with a Received quantity greater than zero.

**Purchase Return and Return Pick are independent commands on the same Purchase Order, not a parent/child pair.** Confirming or validating one does not create the other. Use **New Return Pick** first only if the items you're returning have already been put away by a Restock and need to be pulled back out of their storage location to the receiving area; use **New Purchase Return** to actually ship items — from the receiving area — back to the vendor. If items were received but never restocked, you can return them with just a Purchase Return.

## Document fields

| Field | Description |
|---|---|
| **Number** | Auto-generated identifier. |
| **Purchase Order** | The order the returned items were received against. |
| **Scheduled Date** | Defaults to the PO's Expected Arrival date. |
| **Weight** | Total weight of the return's lines; calculated, editable. |
| **Status** | See [Status flow](#status-flow) below. |

## Line fields

| Field | Description |
|---|---|
| **Item** | The item being returned. |
| **UoM** | Unit of measure for the line. |
| **Ordered / Received / Restocked** | Quantities carried over from the PO line, for reference. |
| **Quantity to Return** | Amount to ship back on this line. |

There's no per-line Reason, Reference/RMA, or Condition field on the return document itself — capture that context in the Purchase Order's Terms & Conditions or Vendor Reference instead, or in a comment on the return.

## Status flow

| Status | Description |
|---|---|
| **Draft** | Being prepared. No inventory impact. |
| **Waiting** | Marked ready, but the receiving location doesn't currently hold enough of the item to cover every line. |
| **Ready** | Every line is available to ship. |
| **Done** | Validated. Items leave on-hand inventory and the PO's Received total decreases by the returned quantity. |
| **Cancelled** | Discarded. No inventory impact. |

The action buttons are **Mark as Todo** / **Check Availability** (both move toward Ready) and **Validate** (Ready → Done).

## What validating a return does

Decreases the item's on-hand `physical_quantity` and the linked PO line's Received total by the returned quantity, and recalculates the item's weighted-average cost. If the item was flagged to obsolete once its quantity reaches zero and this return does that, its status changes to Obsolete.

For a **Service Order**, the same return document works in reverse: it pushes the returned quantity back into `service_quantity` instead of removing it from inventory, and resets any serialized items involved to **Under service** — useful for rejecting a bad regrind after it's already been received back in.
