Field ReferencePurchasing
Batch-firstTTB-awareRev. 2026.06
Manual / Core / Purchasing

Purchasing

Purchase orders are commitments to vendors. They flow into receiving, which feeds inventory. The Purchase Orders list leads with a status tab strip so a buyer can scan what needs chasing without filtering.

Material sourcing

Open a material’s Sourcing section to add every qualified vendor for that organization-owned ORG-RM-NNNN SKU. A source is independent of the material’s default inventory owner, so one material can have several active suppliers.

Each source stores the supplier item code, purchase unit and its positive conversion to the material base unit, lead time, MOQ, order multiple, expected cost and price breaks, validity dates, quality status, active state, and preference. The conversion is explicit—for example, 1 case = 24 ea—while inventory and planning remain normalized in the base unit.

Use Selection reason to state why a source or preference was chosen. vestl retains the reason with the operator and time so a later buyer can explain the decision. Organization identity is taken from the signed-in session and is never selected in the form.

Tabs

  • Open — sent and partially-received POs combined. The default landing tab; this is what the buyer needs to act on.
  • Draft — drafts that haven’t been sent to vendors yet.
  • Sent — sent and awaiting receipt.
  • Partial — partially received; some lines remain.
  • Overdue — sent POs whose expected date has passed. Overdue is a working view, not a separate purchase order status.
  • Received — fully received. Read-only history.
  • Archived — cancelled POs.
  • All — no filter.

Each tab shows a count, computed from the unfiltered list. Counts stay fixed while you type into the search input — they reflect the tab’s universe, not what’s currently visible after the search.

Remembering your tab

vestl remembers the active tab when you refresh the page or use back and forward navigation.

Search filters the active tab by PO number or supplier name.

Linking production demand

On a new or draft purchase order, use Associated Manufacturing Order to tie the purchase to the Manufacturing Order it supplies. Search by manufacturing-order number or name; vestl searches the full order history instead of limiting the picker to a preloaded page. Clear the field when the purchase supports general stock rather than one manufacturing order.

Status lifecycle

The main statuses progress: Draft → Sent → Partial → Received, with Cancelled as a terminal state from any earlier status. Overdue is a working view; it does not change a purchase order’s status.

Printing a purchase order

From a purchase order’s detail page, Print / PDF opens the vendor-facing order. It includes your company and delivery address, the vendor’s billing address, order and delivery dates, payment terms, currency, linked agreement or Manufacturing Order, item SKUs, quantities, prices, totals, and vendor notes. Drafts are visibly marked DRAFT — NOT YET ISSUED so an approval copy cannot be mistaken for a sent order.

Use your browser’s print dialog to print it or Save as PDF. To email it, save the PDF and attach it — there’s no built-in email send yet. The document is formatted for US Letter paper, repeats the item header when an order spans pages, and keeps item rows together. Review missing company, vendor, delivery, or payment information on the PO before sending it.

Three-way match

Once a purchase order has posted receipts, vestl continuously derives a three-way match status by comparing, per PO line:

  1. What you ordered (quantity and unit price on the PO line),
  2. What you received (posted receipt lines), and
  3. What the vendor billed (posted bill lines).

The purchase order detail page shows the rolled-up result:

  • 3-way matched — billed quantities equal received quantities and bill prices equal PO prices.
  • Qty mismatch — a bill covers more or less than what was received.
  • Price mismatch — a bill line’s unit price differs from the PO price.
  • Unbilled — receipts are posted but no bill covers them yet.

A quantity or price mismatch also raises a Receipt/bill mismatch exception in the inbox (see Receipt Exceptions). The status is a reconciliation signal only — it never blocks receiving, billing, or payment, and nothing is stored: correcting the bill or receipt clears it automatically.

Receiving

A receipt line that is linked to a purchase-order line must be recorded in the same unit as that PO line — posting is rejected otherwise, because the received quantity is subtracted from the ordered quantity directly and mixing units would corrupt the PO’s open balance (and everything downstream that plans against it).

Landed costs

Use landed costs for inbound freight, duty, insurance, and handling that should become part of material value. Post the receipt first, then allocate the landed cost by received quantity or receipt-line value. Allocation increases the received lot cost and the material’s weighted-average cost while writing a zero-quantity valuation entry to the stock ledger. No physical quantity moves.

Allocate before the received lot is consumed, transferred, or adjusted. vestl blocks late capitalization rather than silently moving part of the charge into the wrong inventory period.

Vendor bills

Open Purchasing → Bills to record a supplier invoice. Bills move from Draft to Posted after finance review. vestl. does not execute payments or track a paid status; the external accounting system owns those workflows. Review the three-way match before posting: it compares the PO, receipt, and bill and calls out quantity or price mismatches. Unlinked service or freight bills require a manual review.

The draft header and every invoice line are saved together. If the connection drops while creating a draft, submit the unchanged form again. vestl. keeps the same request identity and returns the original bill instead of creating a duplicate payable. Changing the supplier, invoice details, receipt, or amount starts a new request identity.

Supplier price lists

Open Purchasing → Price lists to record supplier quotes and quantity-break pricing. Choose a vendor and optional validity dates, then add a material, unit, minimum quantity, and unit price. An active purchase agreement wins over a price list; otherwise the best qualifying quantity break supplies the PO price.

Purchase agreements

A purchase agreement (sometimes called a blanket order) locks a negotiated unit price and a committed quantity for specific materials with one vendor over a validity window. It is a pricing and commitment record — material only moves when a purchase order draws against it.

  • Agreement number. Assigned automatically (BPA-2026-0001); never editable.
  • Lines. One line per material: the committed quantity, its unit of measure, and the negotiated price. A material can appear on only one line per agreement.
  • Lifecycle. Draft → Active → (Expired | Closed | Cancelled). Lines are only editable while the agreement is a draft; activating locks the negotiated terms. While active you can extend the end date and edit notes. When the validity window ends the agreement flips to Expired automatically and stops feeding price defaults. Closed archives an agreement you are done with; Cancelled voids one that never should have applied.

Drawing against an agreement

When you create a PO for a vendor that has an active agreement, pick it under Draw from Agreement. Line prices then default from the agreement — the agreement price wins over the vendor’s price lists. The agreement’s detail page shows, per line:

  • Committed — what you negotiated,
  • Drawn — the ordered quantity on every non-cancelled PO linked to the agreement,
  • Remaining — committed minus drawn, with a drawdown bar.

Over-drawing is allowed. Ordering more than the committed quantity shows a warning on the PO line and an overage on the agreement’s drawdown bar, but it never blocks the PO — co-packers routinely out-run blanket commitments mid-window. Note that drawdown only counts PO lines entered in the same unit of measure as the agreement line.

Short receipts

When you post a receipt that covers less than a purchase-order line ordered, vestl asks what should happen to the remainder, per line:

  • Keep open (default) — the PO stays Partially received. The remaining balance stays on order and continues to count as incoming supply in MRP and reorder checks. Use this for backorders the vendor will still ship.
  • Close short — the remainder is explicitly cancelled and recorded on the line (you’ll see it in the record’s history). The PO can then reach Received even though less arrived than was ordered, and the cancelled quantity stops counting as incoming supply. Use this when the vendor confirms the balance will never ship.

Closing short raises a receipt exception in the Inbox so the shortfall is visible to purchasing — nothing disappears silently.

When the PO came from Material Planning, vestl updates the quantity-level demand trail in the same transaction. Keep open preserves the original incoming supply and its demand allocations. Close short reduces normalized supply to the quantity actually received and cancels only allocations above that capacity; supplier minimums and order multiples do not cause extra demand to be released. Cancelling a PO or removing one of its draft lines retires that incoming supply and returns every unfulfilled allocated quantity to planning.

Vendor on-time rate

vestl scores each vendor’s delivery reliability from data you already enter — no extra bookkeeping:

On-time rate = the share of posted receipts in the trailing 12 months that arrived on or before the PO’s expected delivery date.

Details that matter when reading the number:

  • Only posted receipts count — drafts and cancelled receipts are ignored.
  • A receipt is matched against its PO’s expected date. Receipts against POs with no expected date are left out of the calculation entirely (there was no promise to measure against), so enter expected dates if you want the metric to mean something.
  • The rate is computed live; it always reflects the current trailing window.

You’ll see it in two places: on the vendor’s detail page under Delivery Performance, and under the supplier picker when creating a PO — e.g. “On-time: 87% (23 of 26 receipts, trailing 12 mo)” — so reliability is visible at the moment you choose who to buy from. The same definition drives the Supplier Performance report.