# Process a purchase return

Ship already-received goods back to a vendor and remove them from inventory.

Source: https://support.toolingmetrics.com/en/purchasing/guides/process-purchase-return/
Updated: 2026-10-29

**Prerequisites:** A Purchase Order with at least one line that has been received (Received quantity greater than zero).

**Required permission:** Purchase → Purchase Returns — User or above. The order's **New Purchase Return** button shows only to Admins and to the user who created the order; Managers and Users validate only the returns they created.

If the items you're returning were already put away by a Restock, pull them back out first — see [Process a return pick](https://support.toolingmetrics.com/en/purchasing/guides/process-return-pick/). If they were received but never restocked, skip straight to creating the return.

## Create the return

1. Open the **Purchase Order** the items were received against.
1. Click **New Purchase Return**.
1. For each item you're sending back, set the **Quantity to Return**.
1. Click **Mark as Todo** (or **Save as Draft** to come back to it later).

## Ship the return

1. Reopen the return once it's ready to go — click **Check Availability** if it isn't already Ready.
1. Click **Validate**. Items leave on-hand inventory and the Purchase Order's Received total decreases by the returned quantity.

There's no separate "send to vendor" step or emailed confirmation for a Purchase Return — validating it is the whole transaction. Use the Purchase Order's Vendor Reference or Terms & Conditions field, or a comment on the return, to note why the items are being returned or any RMA number the vendor gave you.

## Next

If the return is for a Service Order — for example, rejecting a bad regrind that's already back in inventory — the same **New Purchase Return** command works; validating it pushes the quantity back into "out for service" instead of removing it from inventory. See [Purchase Returns Reference](https://support.toolingmetrics.com/en/purchasing/reference/purchase-returns/).
