Purchase Orders
mywork now has its own purchase orders. A purchase order (numbered MPO-……) is your order to a supplier: you build it, edit it freely, place it, and then receive the goods in one or more deliveries. Each delivery is recorded as a Purchase Order Receipt (POR), and the supplier paperwork is created for you behind the scenes — you never work in Unleashed directly.
This replaces the old "receive an Unleashed PO" screen. Orders you raise in mywork live in mywork; existing open orders from Unleashed have been adopted so they're managed here too (see Adopted orders below).
Where to find it
Open Procurement → Purchase Orders. The list shows every order with a search box and a Filters button:
- Search by PO number, supplier, or ERP reference.
- Filters (the sliders button) → filter by status, origin (Native = raised in mywork, Adopted = wraps an existing Unleashed order), and supplier. Active filters show as removable chips; Clear all resets them.
- Mine / All toggles between orders you created and everything.
- New creates a fresh draft and opens it.
Each row links to the order; the speech-bubble icon next to a placed order's number opens its chat channel.
The lifecycle
Draft → Ready → Placed → Receiving → Complete (or Cancelled).
- Draft — fully editable (supplier, dates, transport, lines). Nothing has been committed.
- Placed — committed as an order. Header + lines are locked; goods are now received as receipts. (No Unleashed document is created yet — that happens per receipt.)
- Receiving — at least one receipt has been posted, but some quantity is still outstanding.
- Complete — everything ordered has been received.
Building & placing an order (office)
- New on the Purchase Orders list creates a draft instantly and opens the editor.
- Fill in the header: supplier (type to search the code or name), supplier reference, order date, expected delivery date, optional comments / internal notes, and a transport cost if you want freight spread across the goods (see Landed cost).
- On the Lines tab, click Add line — this opens the product picker first; choose a product and the line is added. Set the quantity and unit cost. Repeat for each product. The Sub-total / Transport / Total summary updates the order value.
- Save keeps it as a draft you can keep editing. Place order commits it — the header and lines lock, and the order is ready to receive.
You need the Purchase Order — Write right to create/edit, and Purchase Order — Approve to place.
Receiving goods (the floor)
Receiving is a floor job, done on a dedicated mobile screen — not in the office editor. From the order, open Receive goods (the editor's Receipts tab has an "Open floor receive screen" link), or reach it from Shipping & Receiving.
The floor screen shows each line as a card: product picture, code, and Ordered / Received / Outstanding. To receive a delivery:
- Enter how many of each line actually arrived in the Receive now box.
- Tap Receive.
mywork records a Purchase Order Receipt (POR) for exactly what arrived, books the stock into your inventory, and raises the matching supplier purchase order automatically. Receive again later for the next delivery — the order stays open until everything's in.
The order's tabs (office view)
Open an order to see two tabs, like a sales order in Unleashed:
- Lines — once placed, each line shows Ordered · Received · Outstanding · Unit Cost · Line total at a glance, so you can see what's still due without opening anything.
- Receipts (N) — every receipt (POR) raised against the order, with its status, quantity, and the Unleashed PO number it became. Click a receipt to open its detail page: the lines received, the base / freight / landed cost per line, and the Unleashed PO it created, with a link back to the order.
Landed cost (transport)
Put an estimated transport cost on the order and mywork spreads it across the goods as they're received, adding a proportional uplift to each item's cost (the landed cost). By default it's allocated by value (each item's cost rises by the same proportion); quantity- and weight-basis are also available. The landed cost is what the stock is valued at when it lands — you can see it per line on each receipt's detail page.
Adopted orders
Open purchase orders that already existed in Unleashed have been adopted into mywork so all your purchasing is managed in one place. An adopted order shows an Adopted origin and links to the original Unleashed PO number. You receive an adopted order the same way (on the floor screen); behind the scenes mywork receipts the existing Unleashed order rather than creating a new one. Orders you raise in mywork are Native and get a fresh complete PO per receipt.
Chat channel
Every placed order has its own chat channel — open it from the speech-bubble icon next to the order number (on the list or the order page). Placing the order and each receipt post a note there, so there's an automatic history of the order anyone with access can read. The share and subscribe (star) icons let you send the order to a colleague or follow it for notifications.
Who can do what
- Purchase Order — User (
PURCHASE_ORDER_USER) — view orders and receive goods. - Purchase Order — Write (
PURCHASE_ORDER_WRITE) — create and edit drafts. - Purchase Order — Approve (
PURCHASE_ORDER_APPROVE) — place orders. - Admin bypasses every gate.
The menu link is hidden if you hold none of these; opening the URL directly returns an access-denied page.
Tips & gotchas
- A placed order's header and lines are read-only. Build and check it as a draft; once placed, changes come through receipts, not edits.
- Receiving is mobile-first and floor-only. The office editor links out to the floor screen rather than receiving inline — keep receiving where the goods are.
- You can receive in several deliveries. Each is its own receipt with its own landed cost; the order stays open (Receiving) until fully received.
- Adopted vs Native only matters behind the scenes (how the Unleashed paperwork is created) — the receiving experience is the same.
For developers and AI agents
Architecture: ADR-019 (myWork-owned purchase orders + purchase order receipts with landed transport cost). Plan + endpoint map: docs/plans/mywork-purchase-order-por-TODO.md. The order is MyworkPurchaseOrder (MPO-……), the receipt is PurchaseOrderReceipt (POR-……); each native receipt mints one complete Unleashed PO (no backorder children). Entities double as the local model (separate from the Unleashed mirror). Chat refType MYWORK_PURCHASE_ORDER. The legacy Unleashed-mirror PO module (controller/PURCHASE-ORDER-MODULE-RULES.md) is retained read-only for in-flight records.