# Purchase orders

Purchase order fields, line items, and the status lifecycle — including Service Orders, which are Purchase Orders.

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

A **Purchase Order** is the document sent to a vendor requesting delivery of items. A **Service Order** is not a separate document type — it is a Purchase Order with its `Service Order` flag set, used for sending items out to a vendor for refurbishment or repair instead of buying new stock. Everything on this page applies to both; differences are called out where they occur. Purchase Orders can be created manually or generated as drafts by the Inventory Scheduler when a stock rule's quantity forecast quantity falls to or below its Threshold Quantity — see [Stock Rules Reference](https://support.toolingmetrics.com/en/inventory/reference/stock-rules/).

## Document fields

| Field | Description |
|---|---|
| **Order Number** | Auto-generated from the organization's Purchase Order sequence. |
| **Vendor** | Supplier this order is sent to. Required. |
| **Deliver To** | The warehouse items should arrive at. |
| **Currency** | Currency for all line amounts on this order. Defaults to the vendor's currency. |
| **Vendor Reference** | Optional vendor-side reference number or quote number. |
| **Confirmed Date** | Set automatically when the order is confirmed; editable afterward. |
| **Expected Arrival** | Requested delivery date, shown to the vendor and used to schedule the generated Receipt/Restock. |
| **Terms & Conditions** | Free-text notes to the vendor. Printed on the PO document. |
| **Buyer** | The user who created the order. |
| **Service Order** | Whether this order is a service dispatch rather than a goods purchase. Set at creation and not editable afterward. |
| **Status** | See [Status flow](#status-flow) below. |
| **Total Amount / Amount before Taxes** | Calculated from the order lines. |

There is no stored "Exchange Rate" field on the order. Line costs are converted to the organization's base currency by looking up the currency's rate as of the **Confirmed Date** each time they're calculated — not a rate snapshotted at draft creation. So an order created in January and confirmed in March is costed at the rate in effect on its confirmation date in March, and two orders confirmed on different days can be costed at different rates. See [Currencies Reference](https://support.toolingmetrics.com/en/admin/reference/currencies/) for how exchange rates are recorded and what happens when a currency has no rate yet.

## Line fields

| Field | Description |
|---|---|
| **Item** | The item being ordered (or, for a Service Order, the item being sent for service). |
| **Order Code** | The vendor's catalog number. Pre-fills from the item's Purchase Info (or Service Info, for a Service Order) when the item is selected; editable. |
| **Description** | Free-text line description. |
| **UoM** | Unit of measure for the quantity on this line. |
| **Quantity** | Number of units ordered. |
| **Unit Price** | Price per unit, in the order's currency. |
| **Amount** | `Quantity × Unit Price` (calculated). |
| **Expected Arrival** | Per-line delivery date, if different from the order header. |
| **Received / Restocked / Sent** | Running totals maintained by the system as Receipts, Restocks, Service Picks, Returns, and Return Picks are processed against this line. Not directly editable. |

A line with no `Item`, `Order Code`, `UoM`, `Quantity`, or `Unit Price` is silently dropped when the order is saved — there is no validation error, the line simply doesn't get added. In practice this can only happen through `Order Code`: it isn't itself a required field on the form, but it auto-fills from the item's order code (or Service Order Code) when you pick the item, and comes up blank — dropping the line on save — if that item has no order code (or Service Order Code) set.

## Status flow

| Status | Description |
|---|---|
| **Draft** | Being prepared. Lines can be added, edited, or removed freely. |
| **Sent** | The PO document has been emailed to the vendor. Purely informational — nothing prevents confirming a PO that was never sent. |
| **Confirmed** | The vendor has accepted the order. Depending on the organization's [Automatic Purchase preference](https://support.toolingmetrics.com/en/purchasing/guides/configure-auto-receipt-restock/), a Purchase Receipt and/or Purchase Restock may be created automatically. If the organization's "Locked Confirmed Orders" preference is on, the PO also locks against further edits. |
| **Active** | System-computed — set automatically once at least one line has been partially received or restocked, but not every line is fully received *and* restocked (or, for a Service Order, fully sent). Never set directly. |
| **Done** | System-computed — set automatically once every line's Received quantity and Restocked quantity both equal its ordered Quantity. Never set directly. |
| **Cancelled** | Discarded. Cancelling a PO also force-cancels every not-yet-done Receipt, Restock, Service Pick, Return, and Return Pick linked to it. |

Once a PO reaches Confirmed, Active, Done, or Cancelled, the Vendor, Deliver To, Currency, and Order Number become read-only, along with each line's Item and UoM. Unit Price becomes read-only once the PO reaches Active or Done. Quantity, Order Code, Description, and per-line Expected Arrival have no such lock and stay editable via the edit form regardless of status.

## Commands

Available commands depend on status and on how much of the order has been received, restocked, or sent:

| Command | Description |
|---|---|
| **Send** | Emails a PDF of the order to the vendor and marks the PO Sent. Available in Draft and Sent. |
| **Confirm Order** | Transitions to Confirmed. |
| **New Receipt** | Opens a new Purchase Receipt pre-filled with the order's outstanding lines. Shown once any line has Quantity greater than Received. |
| **New Restock** | Opens a new Purchase Restock pre-filled with the order's received-but-not-restocked lines. Shown once any line has Received greater than Restocked. |
| **New Service Pick** | Opens a new Service Pick for a Service Order's outstanding lines. Shown once any line has Quantity greater than Sent, and only for Service Orders. |
| **New Purchase Return** | Opens a new Purchase Return for items already received on this order. Shown once any line has Received greater than 0. |
| **New Return Pick** | Opens a new Return Pick to pull already-restocked items back out of storage ahead of a return. Shown once any line has Restocked greater than 0. |
| **Print** | Generates a PDF — either the Purchase Order itself or a Request for Quotation. |
| **Cancel** | Available on any order that isn't already Done or Cancelled. |
| **Lock / Unlock** | Manually locks the order against edits, independent of the auto-lock preference. |
| **Delete** | Available only while the order is not Done or Active. |

Each of the "New …" commands is a manual action you take from the order — none of them fire automatically on Confirm, except the Receipt and/or Restock covered by the Automatic Purchase preference.

## Creating a service order

There's no separate "Service Orders" area of the app. From **Purchase → Purchase Orders**, use the **+ New Service Order** button (next to the regular **+ Create** button) to start one, or filter the list by **Order Type → Service Order** to find existing ones. A Service Order draws its item list from items with Service Info configured, sends items to the vendor's service location, and returns them via a Purchase Receipt rather than a Restock — see [Create a service order](https://support.toolingmetrics.com/en/purchasing/guides/create-service-order/).
