Purchase
Review, Edit, Place or Delete a Draft Purchase Order
A draft is an editable purchasing plan. Placing it marks the plan Ordered and starts incoming-stock visibility, but neither action receives stock into inventory.
- Menu path
- Purchase -> Purchases -> open a Draft order
- Verified from
- Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence
frontend/static/script/js/modules/js/receiving_add.js openForm save openView transition removeDraft, api/src/controllers/purchase-orders.controller.js receiving read and write permission boundary, api/src/repositories/purchase-order.repository.js upsertOrder transition deleteOrder, api/tests/unit/repositories/purchase-order.repository.test.js lifecycle coverage
Choose the Correct Draft Action
| Situation | Action | Result |
|---|---|---|
| Supplier, lines, costs or expected date still need correction | Edit | Updates the same purchase-order identity while it remains Draft or becomes Ordered according to the save action. |
| The reviewed order was actually sent or confirmed with the supplier | Place order | Changes Draft to Ordered and refreshes the order date. |
| The draft was created by mistake and was never issued | Delete | Permanently removes that draft; only Draft is deletable. |
| An Ordered document will not proceed | Cancel remaining | Preserves the document and changes it to Cancelled when nothing was received. |
| Goods have physically arrived | Receive | Creates receiving evidence and stock movement; placing or editing the order is not enough. |
Review Before Changing the Draft
- Open Purchase -> Purchases.
- Set Status to Ordered because the quick filter groups Draft with Ordered work.
- Open the exact PO number and confirm the visible status is draft.
- Verify Supplier, Expected date, ordered quantities, received quantities, unit costs, additional costs, grand total and Notes.
- Confirm with the buyer or supplier whether the order was already communicated.
- Choose Edit, Place order or Delete only after that business state is clear.
Edit a Draft or Ordered Plan
- Open the purchase order and click Edit.
- Correct Supplier, Expected date or Notes as required.
- Add, remove or correct item lines, quantities and unit costs.
- Review additional costs such as freight; blank labels are not saved.
- Check the recalculated grand total.
- Save as draft while approval is pending, or Create when the revised order is ready as Ordered.
- Reopen the same PO number and verify the saved values.
What Editing Preserves and Normalizes
- The existing PO number and internal identity are retained.
- Recorded received quantity is reattached by item ID so an edit cannot erase receiving history for a retained line.
- A supplier name and at least one valid item line are required.
- Each valid line needs an item ID and quantity greater than zero.
- Negative or invalid unit cost becomes zero; line totals are rounded to two decimals.
- Orders are limited to 500 valid item lines and 20 named non-negative additional costs.
- Notes are trimmed to 500 characters and additional-cost labels to 100 characters.
Place the Draft Order
- Only Draft can be placed; repeating Place order against another status is rejected.
- Placing the order does not alter available stock or create an inventory movement.
- Incoming stock represents a supplier plan, not goods counted in the shop.
- Use Receive only after physical goods are checked.
- Open the reviewed Draft document.
- Confirm the supplier has received or accepted the order outside Posnic as required by shop procedure.
- Click Place order.
- Wait for the success message Purchase order placed.
- Confirm Status changes to ordered and the order date refreshes to the placement time.
- Return to Purchases and verify the order appears as Ordered with its expected date and incoming quantity context.
Delete Only an Unused Draft
Delete is intentionally narrower than the visible Purchase Delete permission wording: the purchase-order endpoint requires Purchase Write access and the repository deletes only a document whose current status is Draft.
- Confirm the document is still Draft.
- Confirm it was never sent to the supplier and no colleague is using it for approval.
- Record the PO number and reason according to shop policy before deletion.
- Click Delete only when permanent removal is appropriate.
- Return to Purchases and verify that the PO number no longer appears.
- If the order was already placed, use Cancel remaining instead so its audit history remains.
Permissions and Branch Boundary
| Operation | Required access | Scope rule |
|---|---|---|
| List or open purchase orders | Purchase / Receiving Read | Only the active branch and license context is queried. |
| Create, edit, place, cancel remaining or delete draft | Purchase / Receiving Write | The server rejects changes outside the active branch/license wall. |
| Delete ordered purchase order | Not allowed | Ordered work must be cancelled, not erased, even when the operator can write purchases. |
| Edit Partial, Closed or Cancelled order | Not allowed | Those states preserve receiving or cancellation history. |
| Receive stock | Purchase / Receiving Write | Receiving is a separate stock-posting workflow linked back to the order. |
Draft Lifecycle Problems and Corrections
| Problem | Likely reason | Correction |
|---|---|---|
| Draft does not appear under Draft | The Status menu groups Draft inside Ordered. | Choose Status -> Ordered and identify the Draft pill in the results. |
| Place order is rejected | The document is no longer Draft or another operator changed it. | Reload the PO, verify current status and choose the action for that state. |
| Edit is rejected | The order is Partial, Closed or Cancelled. | Preserve history; use receiving, return, cancellation or a new approved order as appropriate. |
| Delete is rejected | Only Draft can be deleted. | For an issued order use Cancel remaining instead. |
| Available stock did not increase | Purchase-order actions never receive stock. | Use Receive and verify the resulting inventory movement after goods arrive. |
| Received quantity still appears after edit | The server deliberately preserves received history by item ID. | Do not attempt to erase it; reconcile through the linked receiving workflow. |
| Additional cost disappeared | Its label was blank, amount invalid, or more than 20 rows were supplied. | Use a named non-negative cost and keep the list within the supported limit. |
| Unauthorized access | Purchase / Receiving Write is disabled or branch context is invalid. | Ask an administrator to verify role access and the active branch; do not share credentials. |