Purchase
Edit a Purchase and Reconcile Stock Changes
Editing changes the original purchase. On received documents, tracked stock moves only by the difference between the old and new lines; partial receipts preserve quantities already accepted and must still be completed through Receive.
- Menu path
- Purchase -> Purchases -> open purchase -> Edit
- Verified from
- Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence
demo.posnic.io purchase R-DEMO-000005 Edit Purchase route captured 2026-09-08, frontend/static/script/js/modules/js/receiving_add.js showReceivingsEditPage loadEditReceivings and edit submission, api/src/controllers/receivings.controller.js update and Purchase Write boundary, api/src/models/receiving.model.js receivingInsertUpdate status transitions stock deltas and invoice reconciliation, api/src/routes/receivings.routes.js PUT /receivings/:id
Choose the Correct Purchase Action
| Situation | Use | Why |
|---|---|---|
| Supplier, bill date, expected date, payment note, tax treatment, charge, cost or ordered quantity is wrong | Edit | Corrects the existing document and retains its purchase number. |
| Goods listed on an Open or Partial purchase have physically arrived | Receive | Receiving records the delivered quantity; editing is not a receiving operation. |
| Received goods are physically leaving for the supplier | Return items | Creates a supplier-return record and reduces tracked stock. |
| The supplier will never deliver the remaining balance | Cancel remaining | Closes a Partial purchase without reversing stock already received. |
| The whole document should never have existed | Manager-reviewed Void | Reverses the whole purchase while preserving a cancellation audit trail. |
| Only shelf quantity is wrong and the purchase document is correct | Investigate, then approved Stock Adjustment | Do not rewrite valid supplier evidence to hide a separate stock discrepancy. |
Permission and Status Boundaries
| Boundary | Current behavior | Operator implication |
|---|---|---|
| Permission | The API requires Purchase / Receiving Write access. | Read access can inspect purchases but cannot save an edit. |
| Purchase identity | The existing record and its ID must still exist. | Open Edit from the verified detail page; never infer the record from supplier name alone. |
| Supplier | A valid supplier is required and its name must contain at least three characters. | Select a supplier result; do not leave an unselected typed name. |
| Items | The browser requires at least one item line. | An empty table is a loading failure, not a zero-item correction. |
| Cancelled purchase | The server rejects editing with: This purchase was voided - it can no longer be edited. | Treat a voided purchase as a closed audit record. |
| Partial purchase | Already received quantities are preserved and capped to the edited ordered quantity. | Use Receive to accept or reverse delivery state; Edit cannot manufacture receipt history. |
| Linked purchase order | Saving re-synchronizes the linked PO when a source PO exists. | Recheck both the receiving and originating PO after editing. |
Prepare Before Opening Edit
- Stop receiving, returning and stock-count work for the same purchase until the correction is complete.
- Open Purchase -> Purchases, locate the purchase number and inspect the detail page.
- Compare supplier invoice, delivery note, purchase status, item lines, ordered and received quantities, unit costs, tax and total.
- Record current available quantity for every tracked item if the purchase is Received or Partial.
- Identify the exact correction and obtain approval under the shop's purchase-control policy.
- Preserve a PDF, printout or screenshot of the original when the edit changes supplier, date, quantities, costs, tax or invoice value.
- Confirm no return, void, later receipt or manual stock adjustment has already corrected the same issue.
Fields Available on Edit Purchase
| Area | Editable values | Check before saving |
|---|---|---|
| Supplier | Supplier selection and the supplier contact/GST snapshot loaded with it. | Confirm the legal supplier and GST state match the invoice. |
| Dates and status | Bill date, expected delivery date and status options exposed by the form. | Do not mark Received unless the physical delivery supports it. |
| Items | Add or remove lines; change ordered quantity, unit cost and line tax. | Match SKU/item, unit, quantity, cost and tax to evidence. |
| Payment | Payment mode and payment note. | Use the actual tender or supplier-payment arrangement; editing this does not itself settle an external account. |
| Tax | Exclusive Tax and Input credit claimable. | Apply the accountant-approved treatment and verify supplier/branch state. |
| Invoice control | Declared invoice total including tax. | Enter the printed total; Posnic flags a difference greater than 0.50 against its calculation. |
| Charges and proof | Additional charge rows and attached invoice images. | Name and value freight or other charges clearly and retain readable proof. |
Edit and Save the Purchase
- From the confirmed purchase detail, select Edit.
- Wait for the supplier, every existing item line, totals and saved options to repopulate before touching any field.
- If supplier or lines are blank, select Close without saving, refresh the purchase list once and reopen. Use the failure procedure below if it repeats.
- Change only the approved fields. For item corrections, verify each remaining line after adding, removing or changing quantity, cost or tax.
- Recheck Sub Total, Tax, additional charges and Grand Total against the supplier invoice.
- Enter the declared invoice total and resolve any mismatch instead of ignoring it.
- Select Update once and wait for confirmation. Do not double-click or retry until the purchase has been reopened and checked.
Understand the Stock Effect
| Before -> after | Tracked-stock behavior | Required verification |
|---|---|---|
| Open/Ordered -> Received | The full edited received quantities enter stock. | Treat this as a high-impact status change and count every line. |
| Received -> Received | Only the difference moves: increased/added lines add stock; decreased/removed lines deduct stock. | Calculate each expected delta before saving and compare afterward. |
| Received -> Open/Ordered | All quantities previously counted in are reversed. | Use only when evidence proves the receipt state itself was wrong. |
| Partial -> Partial | Cumulative received quantities remain factual, capped to edited ordered quantities; edit does not receive or unreceive units. | Compare ordered, received and remaining quantities line by line. |
| Partial -> Received by edited quantities | If every edited ordered quantity now equals quantity already received, the document can resolve to Received. | Confirm this is a corrected order quantity, not an undelivered shortage that should use Cancel remaining. |
| Untracked item | Available quantity and stock log do not move. | Use document evidence and physical control appropriate to the untracked item. |
| Stock logging disabled | Tracked quantity still moves, but an Edit Receiving log may be absent. | Retain before/after quantities and enable branch logging for future auditability where appropriate. |
Reconcile Immediately After Saving
- Reopen the same purchase number and confirm supplier, bill date, status, lines, costs, tax, charges, declared invoice total and grand total.
- For each tracked item, compare current available quantity with the recorded pre-edit quantity and expected delta.
- Open Inventory Logs and match Edit Receiving Add or Deduct entries to purchase reference and signed count where branch logging is enabled.
- For Partial purchases, verify received quantities did not change merely because the ordered lines were edited.
- If linked to a purchase order, reopen that PO and verify its quantities and status were synchronized correctly.
- Review supplier activity, purchase reports and GST/input-credit reports for the affected bill period.
- Attach approval and before/after evidence to the accounting record required by shop policy.
Empty or Incomplete Edit Form
During the 2026-09-08 live demo audit, received purchase R-DEMO-000005 opened the Edit Purchase route but showed a blank supplier field, no item rows and zero totals. That is an unsafe loading state; it must not be submitted.
- Select Close without using Update.
- Return to Purchases, refresh once and reopen the exact purchase number.
- Try another authorized workstation or the current desktop build to separate browser cache from record/API behavior.
- Record purchase number, branch, status, item count, time and screenshots for support.
- Do not choose a supplier and rebuild the purchase from memory on the blank edit route.
- Do not create a compensating stock adjustment or duplicate purchase while the original state is unresolved.
Troubleshooting and Controls
| Problem | Likely boundary | Controlled response |
|---|---|---|
| Edit is missing or save returns forbidden | User lacks Purchase Write access. | Have an authorized manager correct the permission or perform the approved edit. |
| Supplier is rejected | No valid supplier was selected or name is shorter than three characters. | Select the existing supplier or create the correct supplier first. |
| No item lines or zero total | Existing purchase failed to populate. | Close without saving and follow the incomplete-form procedure. |
| Update says purchase was voided | The record is Cancelled. | Do not edit it; reconcile through retained audit evidence and an approved replacement if required. |
| Stock changed more than expected | Multiple line/status differences or concurrent stock movement occurred. | Freeze affected items and reconcile purchase lines, physical count and Inventory Logs with a manager. |
| Partial receipt quantity looks wrong | Ordered quantity was reduced below cumulative received quantity or the wrong workflow was used. | Stop and compare delivery history; use Receive/Return rather than forcing receipt history through Edit. |
| Invoice mismatch remains | Declared supplier total differs from calculated lines, tax and charges by more than 0.50. | Recheck line cost, tax mode, additional charges and printed invoice before accepting the discrepancy. |
| Linked PO changed unexpectedly | The update re-synchronized its source purchase order. | Compare both documents and escalate with IDs and screenshots before further receiving. |