Knowledge Base

Local Receipts

Edit

Local Receipts

What this guide covers

Receiving stock that did not come from a Purchase Order in Unleashed — third-party drop-offs, customer-supplied parts, returned consumables, ad-hoc inbound material. Local Receipts let you build the receipt manually (or have it pre-filled by a Work Order step), receive against it, and roll any shortfall into a back-order.

For PO-driven receiving, see Purchase Orders instead.

Where to find it

Open Operations → Local Receipts. The page lists every receipt you can see, filterable by status (Parked, Placed, Deleted, Complete), receipt number, reference, category, customer.

Local Receipts list page

Who can do what

  • Creator (CREATE_LOCAL_RECEIPT permission, area-gated) — see the New Local Receipt button; create draft (Parked) receipts; edit / delete drafts; cancel before posting.
  • Processor (PROCESS_LOCAL_RECEIPT, area-gated) — open a non-deleted receipt; enter received quantities; scan serial numbers; upload supporting docs; click Complete to post.
  • Site admin (ADMIN) — bypasses both. Sees every receipt in every area.

A user with no permissions sees the page but cannot create or process anything; the buttons are hidden.

Creating a receipt

  1. Click New Local Receipt.
  2. The dialog opens. Fill in:
    • Inventory Category (required) — what kind of stock this is (Raw, Consumables, etc).
    • Customer (optional) — link to a customer if this is supplied or returned material.
    • Expected arrival date (optional) — for planning; doesn't constrain when you can post.
    • Reference (optional) — supplier ref, customer's PO number, internal note.
  3. Add product lines: search for each product, enter the expected qty, click Add.
  4. Click Save. The receipt lands in Parked status — visible in the list, editable, ready for receiving.

A receipt can also be created automatically by a Work Order step. When a WO needs material from outside (e.g. a customer's spare for a repair), it spawns a Local Receipt with the line and customer pre-filled, with woLineId in the URL. Receive against it the same way.

Processing a receipt

  1. From the list, click the receipt number.
  2. The processing page shows every line.
  3. For each line:
    • Non-serialised: type the Received Quantity (≤ Expected Qty).
    • Serialised: scan or type each serial number; the qty auto-increments. Blank serials and in-receipt duplicates are rejected.
  4. Optionally upload supporting documents (PDF, JPG, PNG, DOC, DOCX).
  5. Click Complete. The system:
    • Validates qty ≤ expected, integer for serialised products, serial uniqueness.
    • Posts the moves: stock lands in your warehouse's default destination bin.
    • If received < expected on any line, auto-creates a backorder child receipt with /1, /2 suffix carrying the outstanding qty.
    • If linked to a Work Order, advances or unblocks the WO step.
  6. Status flips to Complete. The line becomes read-only.

Common errors and fixes

  • "This receipt has already been completed." — fires when you try to post a Complete receipt again. Make a new receipt for any additional items.
  • "Cannot receive more than expected qty" — over-receipt blocked. Reduce the qty to ≤ expected; raise a separate receipt for the surplus.
  • "Blank serial number for [product code]" — a serial input was left empty when you clicked Complete. Fill in every serial box for the line.
  • "Duplicate serial number in receipt: [SN]" — the same serial appears twice in this receipt. Each serial must be unique within the receipt family. Remove the duplicate.
  • "Serial number already exists in warehouse: [SN]" — the serial is already on file against another receipt. SNs are globally unique; pick a different one or check the supplier sent the right unit.
  • "Received qty must be a whole number for serialized product: [product code]" — fractional qty (e.g. 2.5) is invalid for serial items. Round to integer.
  • "Serial number count must match received qty for [product code]" — you typed qty = 5 but only entered 3 serials (or vice versa). Make them match.
  • "Cannot complete Work Order step: Backorder [receipt number] is still pending." — the WO is waiting for a backorder child receipt that's still Parked or Placed. Process the child receipt to clear the WO step.
  • "Category is required." — UI validation when saving a draft. Pick a category from the dropdown.
  • "Please add at least one product line to receive." — saving an empty draft. Add at least one line.
  • "Please select a valid product and enter a quantity > 0." — the Add Item button was clicked without picking a product or with qty 0. Search and select the product, set qty > 0.
  • "Duplicate: [SN] has already been scanned." — UI guard while scanning serials within a single line. Verify the barcode; if accidental, ignore. If the same SN really arrived twice, the supplier sent duplicate stickers — check physically.

Tips and gotchas

  • Backorder child receipts keep the original receipt closed while the outstanding qty stays open. Look for receipt numbers ending in /1, /2, etc. Process them as separate receipts.
  • Posted is final. Once Complete, you cannot edit serials, qtys, or product lines. Reverse-and-redo by creating a new receipt + an inventory adjustment.
  • Destination is fixed. The system uses your warehouse's default receiving bin; there's no destination picker.
  • Search is multi-word AND. Searching "ABC 123" finds receipts containing both "ABC" and "123" — anywhere across number, reference, customer.
  • woLineId query param — used by Work Orders to deep-link to a pre-filled receipt page. Don't share these URLs; they're context-specific.
  • Partial completion is normal — a receipt for 100 widgets that arrives as 60 today + 40 tomorrow becomes the original (Complete, 60) plus a /1 backorder (Complete later, 40). The WO that asked for 100 sees both receipts and unblocks only when both close.

Related articles