Skip to main content

Procurement

Procurement Orders (Inventory → Procurement) manage buying across four tabs — Orders, New Order, Import and Receive — from creating a purchase order (PO) to receiving goods into stock.

Procurement Orders

Overview​

Build purchase orders to vendors, track them, and receive against them so stock updates at the right location.

  • A new store starts on Import. Until your store has its first procurement order, Orders, New Order and Receive are locked (lock icon) with the note "Orders, New Order and Receive unlock after your first import." They unlock as soon as that first import finishes. If a link or bookmark asked for one of the locked tabs — Open Replenish on Lost sales is the usual one — the note names it instead: "New Order needs a purchase order to work on, and this store has none yet — so this is Import, where the first one is created. Orders, New Order and Receive unlock after it."
  • Staff and cost. While the owner hides cost from staff in Settings → Team (on by default), staff can open, read and receive purchase orders without their prices and totals, and an owner or manager creates them.
  • Stock only goes up when goods are received — on the Receive tab, with the Received into inventory now box on New Order, or by an import (every import is received at once). Changing an order's status by hand never adds or removes stock.
  • In your books, an order puts only its goods into Inventory, each part on the day it happened. Goods go into Inventory and Accounts Payable on the day each delivery is received. Once the order is Delivered (or Completed), Accounts Payable holds the whole order total, and the rest of the total — Other Expenses & Fees, Shipping and Tax, less any Discount — is an expense on the Profit & Loss, on the Freight & Fees on Purchases line, on the day the order was marked Delivered. So goods that arrive in October on an order placed in September are October's, and a later save or receipt never moves a month you have already reported. An import of goods already in your store books what it received on the day the load arrived, and its charges on that day too when every row went through. Some older orders keep their one entry on the order date. Amounts are never changed by the day, only where they fall.
  • The Demo button (top right) opens a sample-data copy of the page with a guided tour. See Demo mode.

Tabs in detail​

Orders​

  • Summary cards: Total Orders, Total Value, Pending Orders, Delivered Orders. Click Pending Orders or Delivered Orders to filter the table to that status; click again to clear.
  • Columns: Vendor Invoice / PO Number (your vendor's invoice number, with the full PO number under it), Vendor, Type (Itemized, Bulk or Mixed), Status, Items (with total units), Amount, Ordered (date, time and ETA). Pending rows show a Receive → shortcut that opens that order on the Receive tab.
  • Search (PO #, vendor, vendor invoice, product) and filters for Status, Vendor, Location and a date range. Active filters show as removable chips. 10 orders per page.
  • Click a row to open Order Details, where you can Print the purchase order, Edit Order (status, vendor, invoice number, costs including Other Expenses & Fees, line quantities and prices, notes) or Delete Order.
  • Rules to know:
    • Cancelled, Completed and Refunded are final — they cannot be set back to an open status, and a cancelled or refunded order can no longer take stock: it is left out of the Receive tab and receiving against it is refused. To reverse goods already received on one, delete the order.
    • A line's quantity cannot be set below what has already been received.
    • An order can be set to Delivered or Completed only once every item on it is received. Until then those two are greyed out in Status, and a save that tries them is refused with: "Some items on this order are not received yet. Receive them on the Receive tab, or, if they will not come, lower their ordered quantity to what arrived." Go to Receiving takes you straight to that order on the Receive tab. You can lower a quantity and choose Delivered in the same save. A line with no product (a text-only line) cannot be received and never holds the order up. The Receive tab, Received into inventory now and the import mark the order Delivered by themselves once everything is in.
    • An order already marked Delivered or Completed with items still missing shows … not received yet in Order Details, with the same advice. Receiving the rest, or lowering the quantity, puts the order's books right by itself.
    • Only Draft, Saved, Pending or Cancelled orders can be deleted, and only by the owner or a manager. Orders with payments, or whose received serialized units were already sold or reserved, are blocked. To remove any other order, set it to Cancelled first.

New Order​

The New Order tab is a two-step form that creates a purchase order to a vendor. Above it, Requested, not stocked lists items walk-in customers asked for that you did not have — Add to PO puts one on this order as a line (see Walk-ins).

Step 1 — Order Basics

  • Store Location (active locations only) and Vendor — both required, with the first of each pre-selected.
  • Vendor Invoice / PO Number (required) — filled in for you from the vendor's initials plus the date and time. Click into it to type the vendor's real number; leave it empty and a fresh one comes back.
  • Shipping Note — delivery instructions / special handling; printed on the vendor copy.
  • Internal Note — for your team only. It is never printed on the purchase order.

Step 2 stays greyed out until location, vendor and invoice number are all filled in.

Step 2 — Order Lines

  • Add Line, then type in Product Name or SKU and click a search result. Typing alone does not add the product: a line with no picked product is tinted amber and left out of the order. Set Qty and Unit Cost (filled from the product's cost), with a live Line Total and an optional per-line note.
  • Received into inventory now (update stock levels) — when ticked, creating the order immediately receives every line in full and marks the order Delivered (no separate Receive step needed).
  • Order Summary with an editable Tax % and a live total. If something is missing, an amber line above the buttons says what.
  • Reset clears the order lines only. Create Procurement Order saves the order as Pending (or Delivered if received now); the confirmation offers Print PDF (a printable purchase order for the vendor).

Import​

One upload creates one procurement order and receives it into stock straight away — it is marked Delivered when every row imports (if some rows fail, the order stays Pending and the failed rows are listed). There is no "not yet received" option for imports.

  • Step 1: pick the location, the vendor (or New Vendor at the top of the vendor list), and check the Vendor Invoice # or PO # — filled in for you; click it to type the real one. An invoice number already on another procurement order (imported or made on New Order) cannot be imported again. Other Settings holds Other Expenses & Fees and a note.
  • Step 2: choose A - Trackable Items (serialized units, one row per unit) or B - Bulk Items (one row per product, with a quantity). Download the template first — Excel (.xlsx) (recommended) or CSV — it comes filled with sample products from your industry.
  • Step 3: upload your filled file (.xlsx up to 10 MB, or .csv). Every row is previewed and checked straight away — there is no separate preview button. Rows missing a required value (such as SKU, cost price or retail price) are listed in red and keep the Import button disabled until you fix the file; amber notes still import.
  • Press Import … Trackable Items / Import … Bulk Products. SKUs not in your catalog are created as products, and stock is added at the chosen location.
  • SKU, model, serial number and barcode each have one job (the open fold in Step 2 explains them):
    • SKU says which product. Every unit of one product shares it. It is saved exactly as you type it. Keep it short (up to 15 characters prints as bars on every standard label, 20 at most), using letters, numbers and hyphens. A row with no SKU uses its model instead, in capitals with spaces and slashes turned into hyphens (MRXV3LL/A becomes MRXV3LL-A).
    • Serial number says which unit (Trackable only), and no two units in your store can share one. A unit with no serial in the file is given one: U, the day the load arrived and that day's number, such as U-2610050042. It prints as a scannable barcode on a standard label.
    • Barcode is the UPC or EAN on the box. It is the same on every unit of a model, so it is saved on the product, not the unit. Leave it blank if there is none: labels and price tags use the SKU instead.
  • The importer reads currency-formatted prices ($1,299.00) and CSV files saved with Excel's plain CSV (Comma delimited) option (symbols such as ® and ™ come through intact), and names the column at fault when a cell will not parse.
  • Mixing the templates is blocked both ways: a Bulk file under Trackable, or a Trackable file under Bulk, is rejected with "This file does not match the inventory type you selected".
  • The screen can be read in English, Español or 中文 (switch at the top right).
A guided walkthrough

The Demo button opens a four-tab demo with a 12-step tour. Press it while you are on the Import tab and you get an import-only demo instead — a sample file already loaded and an 11-step tour of that screen — so you can see what a good file looks like before you touch a real one.

Receive​

  • Metrics: Received (30 Days), Missing (30 Days), Receiving Accuracy, Pending Orders.
  • A list of the store's open procurement orders with Expected (the ordered quantity), Received, Missing and a Receiving Status of Pending, Partial, Received or Overdue (Overdue needs a promised delivery date, which nothing here sets yet). Search (PO number, vendor invoice number, vendor or product) and a Status filter; 5 orders per page. Only purchase orders are listed and only they can be received — never a sales order, and never a cancelled or refunded one.
  • Click an order's row to open Edit Receiving. For each line, set the Received Quantity with − / + or by typing — it is the total received so far, not just today's delivery — add notes, then Save Receiving. Stock at the order's location goes up by the difference; lowering the number takes stock back out. What arrives is added to whatever the location holds, so a product sold or promised beyond its stock stays that many short until enough has come in, and a walk-in can't buy a unit an order is still waiting for. When every line is fully received, the order becomes Delivered automatically.
  • If walk-in customers are waiting for a product, its line says so. Those who agreed to a text get one when it is received, as long as Text automatically when stock arrives is on in Settings → Lost sales (see Walk-ins).

Step by step: create a purchase order​

  1. Open New Order; in Order Basics pick a Store Location and Vendor, and replace the auto-filled Vendor Invoice / PO Number with the vendor's number if you have it.
  2. (Optional) add a Shipping Note and/or Internal Note.
  3. Add Line for each item — search by name or SKU, click the product in the results, and set quantity and unit cost; adjust Tax % in the Order Summary.
  4. If the goods are already in hand, tick Received into inventory now; then Create Procurement Order (and Print PDF for the vendor if needed).

Step by step: receive goods​

  1. Open Receive and click the order's row — or use the Receive → link on a Pending order in Orders, which opens that order's receiving window straight away.
  2. For each line, enter how many have arrived in total (type it, or use − / +) and add notes if needed.
  3. Save Receiving — stock increases immediately. A partial delivery shows Partial; come back and raise the numbers when the rest arrives. If someone is saving the same order in Edit Order at that moment, the receipt waits for their save and then goes through, and two receipts of the same line both count.
  4. Booked too many? Lower the number and save again. The difference comes back out, even if some of those units have been sold since: On Hand then goes below 0, and the Audit lists the product under Negative on-hand so you can count the shelf or receive what is missing.

Tips & best practices​

  • Replenish low items spotted on the Snapshot by creating a New Order.
  • Use Requested, not stocked on New Order to buy what customers asked for — the customers who asked are linked to the new PO.
  • Goods not arrived yet? Use New Order and leave Received into inventory now unticked — imports are always received immediately.
  • Use Import for large or recurring orders; always start from the downloaded template rather than a spreadsheet of your own.
  • Use the model number as the SKU, plus a short suffix for a color or size (G5000-BLK-L), and put the box UPC in barcode with its leading zeros. The Excel template keeps them; a CSV saved from Excel may not.
  • Expenses import the same way — see Finance → Expenses.
  • Receive against the PO so quantities and costs reconcile.

Troubleshooting​

IssueFix
Vendor not in the dropdownOnly active vendors are listed. Create it in Inventory → Vendors, or use New Vendor at the top of the Import tab's vendor list
Orders, New Order and Receive are lockedYour store has no procurement order yet — run your first import on Import
"Order not created" when pressing CreateRead the amber line above the buttons — usually a line where no product was clicked in the search results
Import button stays greyed outFix the rows listed in red under the preview, and make sure location, vendor and invoice number are filled in
Import failedStart from the downloaded template. Preview problems name the column; rows that fail during the import are listed by SKU under "Failed rows"
"This file does not match the inventory type you selected"A Bulk file under Trackable, or the reverse — switch the type in Step 2 or use the matching template
"This vendor invoice was already imported"That invoice number is already on a procurement order (imported, or created on New Order) — use a different number, or open the existing order
"This Excel file can't be read"The file is an old .xls or password-protected — save it as .xlsx with no password
Can't delete an orderSet its status to Cancelled first. Orders with payments or with sold serialized units stay blocked, and staff cannot delete
On Hand or Available went below 0 after deleting an order or lowering a receiptSome of those goods had already been sold, written off or promised to an order. Everything the order received is taken back out, so the shortfall shows instead of being hidden. The Audit lists it for review under Negative on-hand or Over-reservation: receive the stock that really arrived, count the shelf, or free the units on the order holding them
"… is not one of your store's …" or "…: this product is not in your store."The order or receipt named a location, vendor or product that belongs to another store — normally a program sending it in, or a page left open across a store switch. Nothing was saved and no stock moved. Reload the page and pick your own again
Set an order to Delivered but stock didn't changeStatus changes never move stock — receive the items on Receive. An order with items not received can't be set to Delivered; one already marked Delivered with items missing shows … not received yet in Order Details
Delivered and Completed are greyed out in Edit Order, or the save says "Some items on this order are not received yet"Receive what arrived on the Receive tab, or, for goods that will not come, lower the line's ordered quantity to what arrived — then choose Delivered
Received qty ≠ expectedLikely a partial shipment — save what arrived; the order shows Partial until the rest is received
Received an Itemized line but no new unit appearedYour store already holds a unit with that serial number, so it was not created a second time — even if the first one is filed under a different product. The save says so in a red toast naming the serial and the SKU it is already on. The quantity and the stock still moved. Find the existing unit in Inventory and correct whichever record has the wrong serial
An order shows Overdue on ReceiveSomething gave that order a delivery date and it has gone by with nothing received. Receive the goods when they arrive, or chase the vendor. An order with no promised date is never Overdue — it stays Pending

What's next​

Detailed reference​

Every button, icon, field and message on this page, for when you need the exact detail. Each panel starts closed — open the one you need.

Page header and toolbar
ControlWhereWhat it doesNotes
Title Procurement Orders, "Manage purchase orders, replenishment, and receiving for your inventory."HeaderPage headingAlways shown
Demo (Play icon, amber)Header, rightFrom the Import tab, opens the import-only demo. From any other tab, opens the four-tab demoEveryone. See the Demo mode panel below
Tab Orders (cart icon, blue)Tab barShows the list of procurement ordersDefault tab. Locked (lock icon, greyed, not clickable) until the store has its first procurement order
Tab New Order (box-with-plus icon, purple)Tab barShows the manual purchase-order formLocked until the first procurement order exists
Tab Import (upload icon, green)Tab barShows the Excel/CSV importerNever locked. A brand-new store is moved here automatically
Tab Receive (package icon, orange)Tab barShows receiving status and the receiving editorLocked until the first procurement order exists
Lock note "Orders, New Order and Receive unlock after your first import."Under the tab barExplains the locked tabs. Opening a locked tab from a link or bookmark switches you to Import, and the note then names that tab and why it is not open yet instead of the general sentenceOnly while the store has no procurement order. The tabs unlock as soon as the first import finishes, with no reload. If the check itself fails, nothing is locked
Spinner (no text)Orders, New Order and Receive panelsShown while the page checks whether the store has any procurement orderBrief, on first load
Page addressBrowserThe open tab is kept in the page address, so a bookmarked or shared link reopens the same tab. A link that names an order opens that order's Order Details on the Orders tabThe order opens only if it is in the loaded list
"403 - Forbidden" / "You do not have permission to view this page. Contact your organization owner."Replaces the whole pageBlocks the pageOnly for a team member whose menu has Procurement hidden, in stores with more than one active member. It also blocks the separate Replenishment, Inventory Receiving and import pages, and the older purchase-order address, from a bookmark or a typed address as well. The demo still opens. Owners and a store's only active member are never blocked. See Team & menu visibility
Tab: Orders

Every procurement order at your store's locations, newest first. There are no Refresh, Export, order-type or urgency controls on this tab.

ControlWhereWhat it doesNotes
Card Total Orders (cart icon)Summary strip, 1stNumber of orders matching the current search and filtersNot clickable
Card Total Value (dollar icon)Summary strip, 2ndTotal amount of the filtered ordersNot clickable
Card Pending Orders (clock icon), hint "Click to filter" / "Filtering — click to clear"Summary strip, 3rdClick (or Enter / Space) filters the table to pending orders; click again to clear. Turns yellow while filteringThe count follows search, vendor, location and date, but not the Status filter
Card Delivered Orders (truck icon), same hintSummary strip, 4thClick filters the table to the orders it counted; click again to clear. Turns green while filteringThe count is Delivered and Completed orders — receiving sets Delivered, and a store that closes a finished order by hand sets Completed — and the filter shows exactly those, so the number always matches the rows. Status in the toolbar offers the same pair as "delivered or completed", alongside each status on its own
Search box, placeholder "Search by PO#, vendor, product..."Toolbar, leftLive filter over the PO number, vendor name, vendor invoice number and product namesNot case-sensitive. Goes back to page 1
Status: selectToolbarAll, "delivered or completed", or one statusLists the statuses your orders actually have, in lower case (for example "pending", "delivered"), plus delivered or completed whenever the store has either of those — that is the pair the Delivered Orders card counts and filters to. The Pending and Delivered cards set this same filter
Vendor: selectToolbarAll, or one vendor from the loaded orders, in alphabetical orderEvery vendor reads by name. A vendor you retired (Active off) reads plainly; one you deleted reads "Name (removed)". An order pointing at a vendor with no record left at all reads "Vendor no longer on file". Orders filed with no vendor at all get no entry of their own — there is nothing to filter by, so they show under All
Location: selectToolbarAll Locations, or one location. Choosing one reloads the orders for that location onlyLists your store's current locations
Date-range button (calendar icon): "All time" or the chosen rangeToolbar, rightOpens a two-month calendar; filters by the day the order was created, using the store's time zoneDefault "All time". A range longer than 365 days is shortened to 365 days from the start date. Clear it with the Date chip's ×
Chip "Status: …" with ×Chip rowClears the Status filterOnly while a Status filter is on
Chip "Vendor: …" with ×Chip rowClears the Vendor filterOnly while a Vendor filter is on
Chip "Location: …" with ×Chip rowClears the Location filter (all locations reload)Shows "Unknown Location" if the location can't be found
Chip "Date: … – …" with ×Chip rowClears the date range back to All timeOnly while a range is set
Column Vendor Invoice / PO NumberTable, pinned leftTop line (blue): the vendor invoice number saved on the order, or grey "No vendor invoice". Second line: "PO: " and the full PO number, for example PO: ORD-20260918-0001The full PO number is always shown. A number written only in a note is not read out of it: save it in Edit Order
Column VendorTableVendor name, including a vendor you have retired with the Active switch and one you have deletedA deleted vendor reads "Name (removed)", which is what the delete dialog promises: the order keeps its details. An order pointing at a vendor with no record left at all reads "Vendor no longer on file". An order that never named a vendor — the import allows that — reads "No vendor on this order" instead, because nothing was removed
Column Type: Itemized, Bulk or MixedTableItemized = every line is one unit with a serial number. Bulk = no line has a serial number. Mixed = anything elseWorked out from the order's lines
Column Status badgeTableDraft or Saved (grey), Pending (yellow), Processing (blue), Shipped (purple), Delivered or Completed (green), Cancelled (red), Refunded (orange)—
Receive → link (amber)Under a Pending badgeOpens the Receive tab with that order's receiving window already openOnly on Pending rows. An order that is not on the Receive list — cancelled, or already received — opens the tab with nothing selected
Column ItemsTableOne line: the product name. Several lines: "… items". Then "· … unit(s)", and for multi-line orders the first two product names—
Column Amount (green)TableOrder total in US dollars—
Column Ordered ↓TableOrder date, with the time and "ETA …" or "no ETA" belowThe arrow means newest first; the column cannot be re-sorted. For an imported load this is the order date the import was given, so a backdated load sits in date order rather than at the top. An import dated today shows the time you ran it; a backdated one has no time of its own and shows 12:00 PM. No screen sets an expected delivery date, so rows normally read "no ETA"
Row clickTable rowOpens Order Details for that orderAnywhere except the Receive → link
"No orders found. Try importing some orders first." + Go to ImportTable bodyButton opens the Import tabWhen there are no orders at the loaded locations
"No orders match your current filters." + Clear filtersTable bodyButton clears search, Status, Vendor, Location and date togetherWhen filters hide every order
"Showing … to … of … orders"Under the tableCount of the filtered ordersAlways shown
Previous / page numbers (up to 5) / NextUnder the tableMove between pages10 orders per page. Only when there is more than one page. Any filter change goes back to page 1
"Loading User Data..." / "Loading Locations..." / "Loading Orders..."Whole tabShown while data loads—
"Failed to Load User Data" / "Failed to Load Locations" / "Failed to Load Orders" + messageWhole tabShown when a read fails—
Retry User Data / Retry Locations / Retry OrdersError stateRetries the read that failedEach appears only for its own failure
Tab: New Order

From top to bottom: an alert line, Requested, not stocked (next panel), Step 1 Order Basics, Step 2 Order Lines, the Order Summary, then Reset and Create Procurement Order.

Fields:

FieldRequiredDefaultRules and error text
Store Location *YesYour own location when it is on the list, otherwise the firstThe location the goods will be received into. Only active locations are offered: receiving into a switched-off one would put the goods where the Snapshot, the Audit, the Count and Transfer lists and Create Order's stock check all refuse to look. A store with none on shows "No active locations. Turn one on in Settings → Locations before importing stock." instead of an empty dropdown
Vendor *YesFirst vendorActive vendors only
Vendor Invoice / PO Number *YesVendor's first 3 letters or digits + date and time, for example LGA202609161430Clicking into the field clears it so you can type the real number. Left empty, a fresh auto value comes back. Changing vendor refreshes the auto value until you type your own. Glows blue when empty. If the vendor name has no letters or digits, nothing is filled in and you must type one. Step 2 stays greyed until this has a value
Shipping Note ("Shipping Note — delivery instructions, special handling...")NoEmptyPrinted under "Comments or Special Instructions" on the purchase order
Internal Note ("Internal Note — not printed on vendor copy")NoEmptyKept with the order for your team. Never printed — not by Print PDF here, nor by Print in Order Details
Product Name contains... (per line)To bind a productEmptyType 2 or more characters to search names, keywords and descriptions (plus SKU if the SKU box also has 2 or more). Archived products are excluded; up to 20 matches for each thing searched
SKU contains... (per line)To bind a productEmptySame, by SKU. Clearing both boxes unbinds the line and blanks its unit cost and note
Qty (per line)Yes1Must be above 0
Unit Cost (per line, $)NoProduct's cost price when you pick itEditable. Blank is allowed (saved with no price)
Notes (per line)NoEmpty, or "Asked for by … customer(s)" on lines added from Requested, not stockedPrinted in the NOTES column of the purchase order
Received into inventory now (update stock levels)NoUntickedTicked: creating the order also receives every line in full at the chosen location, records the cost, and sets the order to Delivered. Unticked again when the confirmation closes
Tax (%) boxNo0Tax rate in percent: tax = subtotal × rate. Back to 0 when the confirmation closes

Buttons and displays:

ControlWhereWhat it doesNotes
Red alert with the error textTop of tabShows why the last action failed—
"Procurement order created successfully"Top of tabConfirms the createCleared when the confirmation dialog closes
Greyed overlayOver Step 2Blocks clicks in Step 2While location, vendor or invoice number is empty
Order Lines (…)Step 2 headerNumber of lines on the formIncludes lines with no product
Add Line (plus icon)Step 2 header, rightAdds an empty line (qty 1)—
"Searching…"Under a line's search boxesA search is running—
Search result "Name (SKU)"List under the lineClicking it binds the product to the line and fills Unit CostTyping alone does not add a product. Picking a different product on a line added from Requested, not stocked drops those customer asks from the line
"No product selected — click a search result to add one." (amber)Under a lineThe line will be left out of the order; the row is tinted amberAny line with no picked product
DescriptionEach lineProduct description, or "—"Read-only
"… asked" (amber)Under QtyHow many customers asked for this itemOnly on lines added from Requested, not stocked
Line TotalEach lineQty × Unit CostRead-only
Trash iconEach line, far rightRemoves the line (and any customer asks on it)No tooltip
Order Summary + "Double check the key points and values before you click "Create Procurement Order" button."Inside Step 2Summary panel—
"Location:", "Vendor:", "Invoice / PO #:", "Received:" (Yes — stock updated on create / No)Order Summary, leftEcho of your choicesEach shows once filled; "Received:" always shows
"Items (…)" + amountOrder Summary, rightCounts lines with a product pickedTurns red when some lines have no product
"… line(s) is/are not counted — no product selected. Click a product in the search results."Order Summary, rightNames the problemWhen any line has no product
Subtotal / TotalOrder SummarySum of line totals; subtotal + taxNo shipping or discount on this form (you can add them later in Edit Order)
Amber reason lineAbove the buttonsSays why Create cannot run yet (see Messages)While something is missing
ResetFooterClears the order lines only — back to one empty line. Location, vendor, invoice number, notes, tax and the Received box stayDisabled while creating
Create Procurement Order → "Creating..."Footer, rightCreates one order (status Pending) with every line that has a product. With Received now ticked it also receives everything and sets Delivered. Links any customer asks you added, then opens Procurement Order CreatedLooks faded while something is missing but still clickable: clicking then shows the reason and a toast "Order not created". Truly disabled only while creating. Does not set an expected delivery date
Tab: New Order — Requested, not stocked

The section above Step 1: "from the walk-in log · ranked by asks". It lists what customers asked for on Walk-ins that you did not have.

ControlWhereWhat it doesNotes
Last 30 days / 90 daysSection controlsDate range of the asks, in the store's daysDefault Last 30 days
Location select: All locations or one locationSection controlsFilters the asks to one locationFollows the Store Location picked in Step 1 automatically
Export CSV (download icon)Section controls, rightDownloads a CSV named requested-not-stocked-(from)-(to).csv with Rank, Item, SKU, In catalog, Asks, Customers, Quantity asked, Waiting for a text, Available now, List price, Est. value (asks x list price, indicative), On PODisabled when the list is empty
Column ItemTableItem name with SKU; free-text asks show in quotes with a "not in catalog" badge—
Column AsksTableNumber of asks—
Column Waiting for a textTableCustomers still waiting who agreed to a text—
Column Available nowTableStock at the chosen location first, then at each other location that has some, for example "0 · 2 at (location name)". With All locations, the first number is the total"—" for a free-text ask (not in the catalog)
Column Est. value (indicative)TableAsks × today's list priceA free-text ask has none
Column POTable"On PO #…" badge (plus a count if on several), or "—"—
Add to PO / Add remaining / On this order / On a PO (plus icon)Row actionsAdds the item as a line on the New Order form (quantity = what is still wanted, note "Asked for by … customers"), scrolls to it and focuses its Qty. Nothing is ordered until you press Create Procurement OrderAdd remaining when some asks are already on a PO. On this order when it is already a line here (toast "… is already on this order"). Disabled with a tooltip: "Add it to the catalog to order it" (free-text ask), "Every ask for this item is already on a purchase order" (On a PO), or "Nobody is still waiting for this one"
Special orderRow actionsOpens the Special order dialogDisabled when nobody is still waiting
Show all … itemsUnder the tableShows every row instead of the first 20Only when there are more than 20
Caption "… items · … asks · … waiting for a text. Est. value is asks × today's list price — indicative, and a free-text ask has none."Under the tableExplains the numbers. May add "the most-asked-for ones only — pick a shorter range for the rest"When the list has rows. The "waiting for a text" part shows only when someone is waiting
"This is the want book that counts itself: what customers asked for that you did not have, next to what you are about to buy."Section bottomExplainerAlways
"Nothing asked for and missing in this range — log what customers ask for on Walk-ins."Section bodyEmpty state, with a link to Walk-insNo asks in the range
"Reading the walk-in log…"Section bodyLoading—
"Could not load what customers asked for." / "Could not work out the date range for this store."Section bodyLoad failure—
Tab: Import

Header Import Procurement Order: "Import inventory into your store by uploading an Excel or CSV file. Choose the format that matches your data." Steps 2 and 3 are greyed out and unclickable while the vendor or invoice number is empty.

Fields:

FieldRequiredDefaultRules and error text
Order date (calendar icon, pencil icon; tooltip Edit order date)YesToday where your store isClick to change. You pick a day; there is no time to set. Today is worked out from your store's time zone, not from the computer you are sitting at, so a load is filed on your store's day even when you import from another country. The date you pick becomes the order's date everywhere — the Ordered column, Order Details, the Receive tab and the month the goods are booked into your accounts. Leave it on today and the order also keeps the time you ran the import; change it to an earlier day and the order reads 12:00 PM, because a day you type has no time of its own. The picker offers today back to ten years ago and nothing else. Empty the box and the label reads Set order date; the import then asks for a date instead of running
Location for Inventory *YesYour Default Location (set for you in Settings → Team), else the first locationOptions read "Name (City, State)". Red frame when empty. "Loading locations..." or a red "Error loading locations:" box
Vendor *YesFirst vendorActive vendors only. Reads "Loading vendors..." while loading; a load error shows in red under the list. With no vendors yet it pre-selects Default Vendor, hint: "No vendors yet, so "Default Vendor" is created when you import. Open the list to add your own." That vendor is created only when the import runs
Vendor Invoice # or PO # *YesVendor's initials + date and timeClick to clear it and type the vendor's real number; left blank, it refills. Also the duplicate guard: an invoice number already on any procurement order (imported, or created on New Order) cannot be imported again
Already Received (under Other Settings)—TickedAlways ticked and greyed out: every import is received at once and marked Delivered
Other Expenses & Fees ($, under Other Settings)NoEmpty0 or more. Added on top of the goods cost to the order total (freight, handling and so on), which is the Amount on the Orders tab. Order Details shows it in the Cost Breakdown and keeps it in Total Amount, the printed purchase order lists it as OTHER EXPENSES & FEES, and Edit Order can change it. It is not part of the stock's cost: once the order is delivered it is booked as an expense, on Freight & Fees on Purchases in the Profit & Loss. A negative or unreadable amount counts as 0
Notes (Vendor Name, Description, etc.) (under Other Settings)NoEmptySaved in the order's internal note after "Imported …/… rows from (file name)." Cleared after a clean import
Update existing product name/description from your fileNoUntickedShown once a card is picked in Step 2. "Use when your file should overwrite catalog metadata." Ticked: rows whose SKU already exists overwrite that product's name and description

Buttons and displays:

ControlWhereWhat it doesNotes
Language switch (globe icon): English / Español / 中文Header, rightTranslates this import screen only; remembered in this browserTemplate column names stay in English. The rest of the app does not change
Choose Store & VendorStep 1 header——
New Vendor (plus icon)Top of the vendor listOpens Create New Vendor—
Other Settings (chevron)Step 1, right endShows or hides Already Received, Other Expenses & Fees and NotesClosed by default
Choose Inventory Type + "Choose the format that matches your data type."Step 2 header——
Card A - Trackable Items (Non-Bulk Items), "One row = one physical unit"Step 2, leftSelects the Trackable format: each row becomes its own inventory item with its own serial number, condition and grade; no quantity column ("5 laptops means 5 rows")If a file is already loaded, it is re-checked against this format; a file that doesn't match is removed and the mismatch message shows. Both cards glow until one is picked
Card B - Bulk Items, "One row = many units"Step 2, rightSelects the Bulk format: each row adds its quantity to the stock pool, no per-unit serial or condition ("50 batteries is one row with quantity 50")Same re-check: a loaded file that doesn't match is removed
No card pickedStep 2You can still upload in Step 3. The file's columns then decide: per-unit columns (serialNumber, condition, grade) and no quantity column import as Trackable, anything else as BulkThe template preview, the two folds and the Update existing product box stay hidden until a card is picked
Download Template A / Download Template B (download icon, chevron)Inside the chosen cardMenu: Excel (.xlsx) "Recommended. Dropdowns, a how-to sheet, and barcodes and serials kept exactly as typed." or CSV (.csv) "Plain text, for other software or your own exports." File name like (industry)-trackable-import-template.xlsx or (industry)-bulk-import-template.csv, pre-filled with sample products from your industryPick a card first. Glows until a file is loaded. The Excel workbook has an "Items" sheet and a "How to fill" sheet
"Fill in your file in this exact layout — same columns, same names — then upload it in Step 3."Under the download buttonHint—
Template preview "Template A (Trackable Items) columns" / "Template B (Bulk Items) columns"Step 2, below the cardsSpreadsheet-style preview with one sample row and one description row per columnAfter a card is picked
Chip "Sample data: …" (for example "Appliance retail"), tooltip "The sample rows and the downloadable template use real products from your industry."Template previewWhich industry's samples you see"General merchandise" when the store has no matching industry
Legend: red Required, amber Recommended, grey OptionalTemplate previewColour keyRed: sku, name, category, costPrice, retailPrice (and quantity for Bulk). Amber: model, brand, msrp (and serialNumber, condition for Trackable). Grey includes barcode in both templates. The import itself only insists on name and category for SKUs not yet in your catalog, accepts a blank sku when the row has a model, and only warns about model, brand and msrp
"If a product's SKU isn't in your catalog yet, include the recommended columns so it can be created."Under the previewFootnote—
Fold SKU, model, serial number, barcode: which is which?Step 2, above the two folds belowFive points: the SKU names one product and is saved as typed (up to 15 characters prints as bars, 20 at most); the model becomes the SKU when sku is blank; the serial number names one unit and is assigned when blank (for example U-2610050042); the barcode is the box UPC/EAN, saved on the product; they can overlapShown once a card is picked; open by default
Fold Why fill in as many columns as you can?Step 2Six tips: every column is a search key, SKU matches existing products, a row with no SKU is saved under its model, only the serial number pins a single unit (one is given when blank), richer data creates better products, print labels laterShown once a card is picked; closed by default. The last tip points to Inventory → Labels
Fold How is inventory computed for each row?Step 2Explains: match by SKU; reuse the product or create it; update this location's stock or start it; Trackable also creates one inventory item per rowShown once a card is picked; closed by default
Upload Procurement File + "Upload your Excel (.xlsx) or CSV (.csv) file. Required columns depend on the format selected above."Step 3 header——
Drop area "Upload your file" / "Drag and drop your Excel or CSV file here, or click to browse"Step 3Drop a file to load itOnly when no file is loaded. Accepts .xlsx and .csv
Choose FileDrop areaOpens the file pickerThe picker also offers .xls, which is then refused
Upload banner (warning icon; red = rejected, amber = warning)Top of Step 3Explains why a file was rejected (nothing loaded) or accepted with a caveatSee Messages. A type-mismatch rejection also shows a red toast
DismissUpload banner, rightHides the banner—
Loaded-file card: file name, size, "CSV file" or "Excel workbook", sheet "…"Step 3Shows what was readThe first sheet with a recognisable header row is used. A CSV may open with title lines: the header is the first line within the top 20 naming at least two known columns
Trash icon (red)Loaded-file card, rightRemoves the file, the preview and any bannerNo tooltip
Data Preview (… rows shown) + chips "📍 Location: …" and "📦 Individual Items" / "📊 Bulk Products"Preview headerEvery data row of the file; blank rows and the template's "Required: …" legend row are droppedBoth chips follow the format the file will actually import as: the one you chose in Step 2, or, if you chose neither, the one guessed from its columns — in which case the format chip adds "(guessed from your file's columns)". The Location chip shows for a Trackable import once a location is selected
Box "Trackable Import Details:" (includes "Items will be assigned to: …")PreviewExplains what Trackable doesOnly when the file will import as Trackable, chosen or guessed
"Existing products: … • New products: …"PreviewRows whose SKU is already in your catalog vs newWorked out as soon as the preview loads, before a location is chosen
Red box "… of … rows cannot be imported yet. Fix these in your file and re-upload:" + one bullet per columnPreviewBlocking problems, by column and by SKU (or row number)Import stays disabled until fixed
Amber box "These import as they are — filling them in just makes the catalog more complete:" + bulletsPreviewNon-blocking warnings (model, brand or msrp missing or unreadable for new products)—
Preview table + Plan columnPreviewPlan per row: catalog (existing or new product; "new product (a deleted product has this SKU; it stays deleted)" when only a product you deleted has it), location (update or create a stock level, or "pending stock check" until a location is chosen), item (create an inventory item and order line for Trackable, or an order line for Bulk — whichever the file will actually import as), plus any issue. Also "SKU: … (made from the model)" for a row with no SKU; for Trackable, "Serial: from your file" or "Serial: none in file — one is assigned"; and, when the row has a barcode, "Barcode: saved on the product" (new product) or "Barcode: added to the product if it has none" (existing product)Flagged cells are tinted red (blocking) or amber (warning); hover for "… is required" etc. A row with neither SKU nor model shows red "Missing SKU and model"
"⚠️ Location Required" / "Please select a location above before importing items."Preview, bottom—When no location is selected
Order Summary "Complete breakdown of your procurement order": Total Items, Total Quantity, Cost Price, Retail Value; Financial Breakdown (Subtotal (Cost Price), Other Expenses, Total Purchase Price); Profit Analysis (Potential Profit, Margin = profit ÷ retail, Markup = profit ÷ cost, all on the goods alone; then Profit after Other Expenses & Fees and Margin after Other Expenses & Fees; "*Based on retail prices in your import file…")Below Step 3Live totals from the fileOnce a file is loaded. Trackable counts each row as 1 unit. Other Expenses, and the two after-fees lines, show only when Other Expenses & Fees is above 0. The goods-only figures match how each sale's profit is counted later; the after-fees lines show what the load earns once freight and handling are paid. With fees entered, the footnote adds that once the order is delivered, the Profit & Loss books them as an expense, under Freight & Fees on Purchases. Before a file is loaded: "Upload and preview your file to see order summary" / "Detailed calculations will appear after file upload and processing"
Import … Trackable Items / Import … Bulk Products → "Creating Inventory Items..." / "Creating Products..."Bottom rightRuns the import (see below)Disabled until a file is loaded, the invoice number is filled, a location is chosen and no row has a blocking problem; also while running
Progress toast "Import in progress" → "Importing…" "…/… processed · … ok · … failed" → "Creating order…" → "Receiving stock…"ToastLive progress—
Final toast "Import completed" / "Import completed with issues" — "…/… succeeded · … failed" + Go to Receive / Go to ListToastButtons open the Receive or Orders tabRed when there were issues; adds "· stock-in failed (order left Pending)" if receiving failed, and "· the order could not be finished" if its last step failed
Green panel "Trackable Items Imported Successfully!" / "Bulk Products Imported Successfully!", with Order ID, Order Number, Rows imported, Imported value, LocationUnder the Import buttonConfirms the import. The form resets for the next file (file cleared, new auto invoice number, notes cleared)Clean import only. When the import created Default Vendor (your store had no vendors), a blue note under the order number says so: "This import created a vendor called "Default Vendor" (Supplier, Active), because your store had none. Rename it and fill in its details in Inventory → Vendors, or pick your own vendor next time." The amber panel of an import with issues shows it too
Amber panel "Import completed with issues — …/… rows imported", with up to two tables (SKU, Error): "Rows on this order but not received (…)" and "Rows not added to the order (…)"Under the Import buttonLists rows that failed. A row that failed after the order was made (a serial number already in stock, say) keeps its line, which counts in the order total: receive it on this order from the Receive tab with a corrected serial number, or set its quantity to 0 in Edit Order if it never came — importing it again would put its cost on a second order. A row that never reached the order (its product could not be found or made) is fixed in your file and imported on its own, under a new invoice number, since the same invoice number is refused a second time. When no row imported, the order is cancelled and one "Failed rows (…)" table sends every row back to your file, to import again under a new invoice number. The file and invoice number are kept so you can reviewWhen any row failed, or the stock-in step failed
Red box "Stock-in failed — no stock was applied and the order was left as Pending (not Delivered). You can receive it from the receiving tab. Reason: …"Result panel—When the receiving step failed
Red box "The purchase order was made and its rows went in, but it could not be finished: …", with the reason and a Finish the order button ("Finishing…")Result panelSays what was left unfinished and runs what is left of the last step again: saving the order's total and the import's details (its load date, whether the goods were already in your store), then marking it Delivered, or Cancelled when no row imported. Once the total and details have saved, pressing it again only sets the status. Toast "Order finished", or "The order is still not finished" with the reasonWhen that last step failed. Until it is finished the order shows a $0.00 total, stays Pending, and what it received may be booked on the day you imported rather than the load date. If only the status could not be set, the box says the order "could not be marked Delivered" (or "could not be cancelled") instead, and when no row imported it says the order "still reads Pending instead of Cancelled". Pressing it again is safe. The amber panel's title counts it as an issue
Box "Error:" + messageUnder the Import buttonShows an import that was halted or failedSee Messages

What happens when you press Import

  • It first checks that the invoice number is not already on another procurement order. "Default Vendor" (if used) is created only after that check passes.
  • Each row is matched to a product by SKU — upper and lower case count as the same, and spaces at the ends are ignored — or a new product is created (with its category and brand). A row with no SKU uses one made from its model. A new product is saved under the SKU exactly as the file typed it, never lowercased. The file's barcode goes on the product: a new product takes it, and an existing product is given it only if it has none (a barcode it already has is never replaced). Only a live product is matched: a product you deleted keeps its history but never receives stock from an import, so a SKU only a deleted product has makes a new product. Creating one follows your store's SKU rule, the same as Add Product: if someone else gives a product that SKU a moment before, the import uses theirs instead of making a second.
  • One procurement order is created with the rows that resolved.
  • Trackable rows each become one inventory item. Its SKU is its product's SKU. Its serial number is the file's, or, if blank, one the store assigns: U-, the order date as YYMMDD and that day's number from 0001, such as U-2610050042. Each store counts its own, so two stores can both have U-2610050001. Its barcode is its serial number, so the unit's label scans to that unit. The store checks the serial number and the barcode and creates the unit in one step, so a serial number or barcode you already have fails that row — "A unit with serial … already exists (id=…). Skipped so the same unit is not counted twice." — however the import was run, and two people importing the same file at the same moment cannot both create the unit: the second one is told it already exists. A serial the store assigns is never refused this way: if another import takes that number at the same moment, the next one is used. The rest of the file still imports.
  • Everything is received in one step: stock goes up at the chosen location.
  • The order is set to Delivered when every row succeeded, delivered on its order date, so its Other Expenses & Fees are booked on the day the load arrived. If some rows failed it stays Pending: what the import received is still booked on the order date, a failed row you receive later on the Receive tab is booked on the day you receive it, and the fees on the day the order is finally Delivered (receive the rest, or lower the failed row's quantity to what arrived, then choose Delivered). If no row imported it is set to Cancelled.
  • The order's subtotal is what its lines come to, and the total adds Other Expenses & Fees. A row that failed at the very last step still has a line on the order, so its cost is counted — the total and the Items tab always agree.
  • The order is dated with the order date at the top of Step 1. Backdate a load that arrived earlier and it is filed on that day — in the Ordered column (so it sits in date order, not at the top, and reads 12:00 PM), on the Receive tab, and in the month the goods are booked into your accounts. Left on today, the order is stamped with the moment you ran the import.
  • The date is checked before anything is created. A date that is empty, unreadable, in the future or more than ten years old stops the import there, so no products are added and no order exists.
Tab: Receive

Heading Procurements Receiving, "Track and manage incoming procurement orders and shipments". Lists the store's procurement orders (all locations) except the cancelled and refunded ones, which are finished and can take no more stock.

ControlWhereWhat it doesNotes
Refresh (circular arrows)Header, rightReloads the whole browser pageYou land back on the Receive tab
Received (30 Days) "Items successfully received"Metrics rowUnits received on orders updated in the last 30 days that have received something or are marked Delivered—
Missing (30 Days) "Items not received as expected"Metrics rowUnits still outstanding on those same ordersOrders with nothing received yet are not counted, unless they are marked Delivered
Receiving Accuracy "Average accuracy rate"Metrics rowReceived ÷ ordered on those orders, as a percentage100% when there is nothing to measure
Pending Orders "Orders awaiting delivery"Metrics rowNumber of procurement orders with status Pending—
Receiving Status of Procurement OrdersList card title——
"💡 Quick Tip: Click on any order row to record what arrived — received and missing quantities, serial numbers and a note. Use the search and filters below to find specific orders."List cardStatic tipNames the four things the editor actually holds
Search, placeholder "Search by order number, supplier, or product..."List cardSearches procurement orders by PO number, vendor invoice number, vendor name and product namesNot case-sensitive. Only procurement orders are ever listed — sales orders never appear, even when they contain a matching product, and neither do cancelled or refunded orders. Up to 25 matches of each kind
Status: select — All Status, Pending, Partial, Received, OverdueList cardFilters the listThe filter and the row badge ask the same question, so what you pick is what you get
Column Vendor Invoice / PO NumberListTop line (blue): the vendor invoice number, or the PO number if there is none. Second line: "PO: " and the PO number—
Column VendorListVendor name, including a vendor you have retired with the Active switch and one you have deletedA deleted vendor reads "Name (removed)". An order pointing at a vendor with no record left at all reads "Vendor no longer on file", and one that never named a vendor reads "No vendor on this order"
Column Type: Itemized / Bulk / MixedListItemized = every line has enough serial numbers for its quantity; Bulk = no serials—
Column Order DateListThe order's date — for an imported load, the order date the import was given—
Column ExpectedListThe ordered quantity (not a date)—
Columns Received / MissingListUnits received so far / still outstandingReceived in green when above 0; Missing in yellow
Column Receiving Status: Received (green) / Partial (yellow) / Overdue (red) / Pending (blue), plus "Received: …" dateListReceived = everything in. Partial = some in. Overdue = nothing in and a promised delivery date has passed. Pending = otherwiseNothing in UpChannels sets a delivery date on a purchase order yet, so in practice no order is Overdue: an order with nothing received stays Pending however long ago it was raised. An order brought in from another system with a delivery date on it can be Overdue. Cancelled and refunded orders are not in this list at all
Row clickListOpens Edit Receiving for that orderThere is no separate Receive button. Arriving from Go to Receiving in Order Details opens that order's Edit Receiving by itself, as soon as the list has loaded
"No orders found" / "No procurement orders match your search criteria."ListEmpty state: there really is nothing matchingA failed load says so separately and never borrows this message
Red banner with Try again, and "Purchase orders couldn't be loaded" in the listAbove and inside the listShown when the tab can't read your purchase orders. Try again reads them againThe banner names what went wrong in plain words. A failed search keeps the list on screen under a banner saying it may be out of date
Loading placeholdersWhole tab / listWhile loading or searching—
"Showing …-… of … orders" + Previous / page numbers / NextUnder the listPagination5 orders per page; only when there is more than one page
Dialog: Order Details

Opened by clicking a row on the Orders tab. Title "Order Details - PO …" with the full PO number; description "Complete details for procurement order PO …".

ControlWhereWhat it doesNotes
Print (printer icon)Header, rightOpens a printable PURCHASE ORDER in a new browser tab and starts printing: your logo (or "YOUR LOGO HERE"), company, location address and phone, DATE, PO# (full number), VENDOR INFORMATION, SHIP TO, items (ITEM #, DESCRIPTION with SKU, QTY, PRICE, TOTAL, NOTES with S/N and Lot), "Comments or Special Instructions", SUB TOTAL, DISCOUNT, TAX, SHIPPING, OTHER EXPENSES & FEES, GRAND TOTALDISCOUNT, TAX, SHIPPING and OTHER EXPENSES & FEES print only when above zero. OTHER EXPENSES & FEES is also left off when an earlier edit took it out of the order total (see Cost Breakdown), so the lines always add up to the GRAND TOTAL. GRAND TOTAL is the order total — the same as Total Amount here and the Amount on the Orders tab. Comments show the shipping note and the vendor invoice number saved on the order only (the one in Edit Order); the internal note is never printed. If pop-ups are blocked nothing happens. Nothing is saved
Edit Order (pencil icon)HeaderSwitches to edit mode (next panel)—
Delete Order (trash icon, red) → "Deleting..."HeaderOpens Delete this order?Always clickable; the confirmation decides whether deletion is allowed
X (close)Top-right cornerCloses the dialogEsc and clicking outside also close it
Card Order Info: PO Number, Vendor Invoice (or "—"), Status badgeBodyRead-onlyThe saved vendor invoice number, the same one the list, search and the print use. A number written only in a note (for example "Invoice #INV-2031") is not read out of it; add it with Edit Order
Card Vendor: Vendor, Source (for example MANUAL), CategoryBodyRead-onlySource reads "Import" when none is recorded
Card Dates: Created, Expected (or "—"), DeliveredBodyRead-only"Delivered:" appears on orders recorded as received — by an import, Received into inventory now, the Receive tab, or by setting the status to Delivered or Completed in Edit Order. It shows the day the order was first marked Delivered or Completed, stored once, so a later save does not move it — for a whole import, the day the load arrived. An order with no stored day shows the day its goods were last received (for an import, the day the load arrived), or, with no receipt, when it was last updated. Moving the status back afterwards does not take the line away: the goods may really have arrived, and the Receive tab is what records that
Card Location: name, code, type, address, phoneBodyRead-onlyOnly when the order has a location. "Loading location..." or "Location information not available"
Financial Summary: Items, Total Qty, Subtotal, Total AmountBodyTotals. Total Amount is the order total, the same as the Amount on the Orders tab: subtotal + tax + shipping − discount + other expenses & fees—
Cost Breakdown: Subtotal, Tax, Shipping, Discount (red, minus), Other Expenses & Fees, TotalInside Financial SummaryRead-onlyShown only when tax, shipping, discount or other expenses & fees is above zero; each line only when above zero. If an earlier edit took Other Expenses & Fees out of the order total, the line is left off and an amber note reads "Other Expenses & Fees of $… are recorded on this order but are not in its total — an earlier edit took them out. Click Edit Order, then Save Changes, to add them back." Saving puts them back in the total
Order Items table: SKU, Product/Description, Quantity, Unit Price, Total Price, Serial/Lot (S/N, Lot), NotesBodyLine listHover a cut-off name, description or note for the full text
Internal NoteBodyThe internal note, or "No internal note"For your team. Never printed on the purchase order
Shipping NoteBody, bottomThe shipping noteOnly when there is one
Banner Deletion ErrorTop of bodyWhy a delete failed ("Failed to delete order: …")After a failed delete. See Messages
Dialog: Edit Order

Title "Edit Order - PO …", description "Edit the details for procurement order PO …". Print, Edit Order and Delete Order are hidden while editing. Nothing here adds or removes stock.

Fields:

FieldRequiredDefaultRules and error text
Vendor Invoice: ("Vendor invoice number")NoThe number saved on the order (empty if none is saved)Can be cleared. This is the number the purchase order prints
Status: ("Select status") — Draft, Saved, Pending, Processing, Shipped, Delivered, Completed, Cancelled, Refunded—Current statusChanging the status never moves stock. Delivered and Completed are greyed out until every item with a product is received, with the note "Delivered and Completed open once every item is received…" under the list; lowering a line's quantity to what arrived opens them in the same edit. Cancelled, Completed and Refunded are final: changing one back to an open status is refused
Vendor: ("Select vendor")—Current vendorActive vendors, plus this order's own vendor marked "(inactive)" when it has been retired — so saving the order cannot quietly move it to someone else. A deleted vendor is not offered: the order shows its name while you read it, and editing the order means picking a vendor you still buy from. If none load, a plain text box "Vendor ID" appears instead
Subtotal—Current valueRead-only — "Adds up from the items below." It follows the lines as you edit them, and the store works it out again from the saved lines when you click Save Changes, so it cannot be typed over
Tax Total—Current valueAn amount in dollars, not a percentage
Shipping Total—Current value—
Discount Total—Current valueSubtracted
Other Expenses & Fees—Current value (0 if none)0 or more. Freight, handling and other costs on top of the goods. An import fills it in from its Other Expenses & Fees. A negative amount counts as 0. Like Tax and Shipping (less Discount), it is booked as an expense, Freight & Fees on Purchases, once the order is delivered, never added to Inventory
"Calculated Total: $…"——Read-only: Subtotal + Tax + Shipping − Discount + Other Expenses & Fees. The store works the same sum out again from the saved lines and stores that as the order total, so the figure on screen and the figure saved always agree
Line Quantity—Current valueCannot go below what has already been received (tooltip "… already received — can't order fewer"). Going lower is refused on save, by the store, naming the item
Line Unit Price—Current value0 or more. The line total recalculates
Line Notes ("Notes...")NoCurrent valueCan be cleared
Internal Note ("Enter internal note...")NoCurrent valueFor your team; never printed on the purchase order. Can be cleared
Shipping Note ("Enter shipping note...")NoCurrent valueCan be cleared

Buttons:

ControlWhereWhat it doesNotes
CancelFooterDiscards edits and returns to view modeDisabled while saving
Save Changes (save icon) → "Saving..."FooterSaves status, vendor, invoice number, tax, shipping, discount, Other Expenses & Fees, both notes and every line's quantity, price and note — all in one go. The store works the subtotal and the total out from the lines the save is about to write, checks the typed tax and discount against that, and only then saves anything, so the two can never disagree. The lines and the order are saved in one step: all of it lands, or none of it does. A changed Other Expenses & Fees is saved on its own, so the details an import keeps with the order (its load date, and whether its goods were already in your store) stay exactly as they are. The window stays open and returns to view mode with the saved values; the list refreshes behind it without the "Loading Orders..." screenDisabled while saving. A discount larger than the items are worth, or tax larger than what is taxed, is refused before anything is written — nothing is saved at all, not the lines and not the order. If the store then cannot save a line, nothing is saved at all — not the lines before it and not the order — and the message says so. If someone else saved the same order, or received goods on it, at the same moment, the store works the save out again once on its own; if it still clashes, it asks you to click Save Changes again, with nothing saved. A cancelled order's quantities and prices can no longer be changed; its notes still save. A figure the save is leaving alone is never questioned, so an order imported with an odd tax or discount can still have its notes or shipping edited
Banner Save Successful — "Order saved successfully."Top of bodyConfirms the saveStays until you start editing again or close the window
Dialog Receive these items first — "Some items on this order are not received yet. Receive them on the Receive tab, or, if they will not come, lower their ordered quantity to what arrived. Nothing was saved."Over the window, instead of savingAppears when a save would set Delivered or Completed while a line with a product is not fully received (for example a quantity raised after Delivered was picked). The same sentence stays in Save ErrorGo to Receiving opens the Receive tab with that order's Edit Receiving window already open — once: close it and move between tabs and it stays closed; Not now closes the prompt, and the edit stays open to change
Amber note … not received yet — the same sentence, then "Either one updates this order's books by itself.", and Go to ReceivingBody, under the save bannersShows on an order already Delivered or Completed with a line not fully receivedSaving such an order is never refused. Receiving the rest, or lowering the quantity in Edit Order, puts it right
Banner Save ErrorTop of bodyWhy a save was refused or failedSee Messages
Dialog: Delete this order?
ControlWhereWhat it doesNotes
"This permanently deletes the order and its line items. Any received bulk stock is reversed out automatically. If a received serialized item has already been sold or reserved, deletion is blocked and you'll be told which sales order to undo first. Orders with payments cannot be deleted."BodyExplains the effectOrders that are Draft, Saved, Pending or Cancelled
"This order is … and cannot be deleted directly. Set its status to Cancelled first (this preserves the financial and inventory history), then delete it."BodyExplains the blockOrders that are Processing, Shipped, Delivered, Completed or Refunded
CancelFooterCloses the confirmationDisabled while deleting
Delete (red) → "Deleting..."FooterPermanently deletes the order, its lines and its receiving records. Everything it received in bulk is subtracted back out in full (logged as a stock adjustment "Procurement order deleted - receipt reversed" for the whole quantity); unsold serialized units from the order are removed. If the location now holds fewer than that, because some of those units have already been sold or written off, On Hand goes below 0 by the difference. Available drops by the same amount as On Hand, so an order those units were promised to shows as short. Both are listed in the Audit for review, never hidden at 0. The dialog closes and the list refreshesGreyed out unless the status is Draft, Saved, Pending or Cancelled. Refused if the order has payments or its received serialized units were sold or reserved. Owner or manager only
Dialog: Procurement Order Created
ControlWhereWhat it doesNotes
Title Procurement Order Created, "PO #…"HeaderConfirms the create and names the orderThe same PO number the Orders tab, Order Details and the printed purchase order show. If the number has not come back yet it reads "Internal reference: …" with a 6-character short code, labelled so nobody quotes it to a vendor
"… customer(s) who asked for these is/are linked to PO #…"Body (amber)Confirms customer asks were linked to the new POOnly when asks were added from Requested, not stocked. Reads "linked to this purchase order" when the PO number has not come back yet. Ends "— they're on the list to be texted when it's received." when Text automatically when stock arrives is on in Settings → Lost sales
"… ask(s) was/were left as it was / they were — already on another purchase order, or no longer waiting."BodyAsks that were not movedOnly when some were skipped
CloseFooterCloses and resets the whole form: one empty line, a fresh invoice number, notes cleared, tax 0%, Received unticked. Location and vendor stayClosing with X or Esc does the same
Print PDFFooterOpens a new tab ("Generating printable order…") with the printable PURCHASE ORDER and starts printingThe same purchase order as Print in Order Details: the full PO#, and under Comments the shipping note and vendor invoice number only — never the internal note. If pop-ups are blocked: "Please enable pop-ups to print the order."
Dialog: Special order

Opened from Special order in Requested, not stocked. Title Special order, with the item name and how many people asked.

ControlWhereWhat it doesNotes
"A special order is a customer order for an item you don't stock yet. The customer and the item are filled in for you."BodyExplains the dialog—
One row per waiting customer: name, phone, "asked …" date, status, consent, quantity; or "Anonymous visit — start a blank special order"Body list——
Start special orderEach rowOpens Sales → New with that customer and item filled in—
No customer yet (person-plus icon)Footer, leftStarts a special order for the item with no customer—
CloseFooter, rightCloses—
"Loading who asked…" / "Nobody is on this item's list any more. Start a blank order below." / "Showing … of the … people who asked."BodyLoading, empty and cut-off notes—
The reason, or "Something went wrong."BodyThe list of who asked could not loadClose and try again. No customer yet still works
Dialog: Create New Vendor

Opened from New Vendor at the top of the Import tab's vendor list.

Fields:

FieldRequiredDefaultRules and error text
Vendor Name *YesEmptyRed frame while empty
Tags (e.g., electronics, supplier)NoEmptyLeft blank, the vendor is tagged "import"

Buttons:

ControlWhereWhat it doesNotes
CancelFooterCloses; nothing is createdWhat you typed stays for next time
Create → "Creating..."FooterCreates an active supplier vendor, adds it to the list and selects itDisabled while the name is empty or while creating. On failure a browser alert shows the error (or "Failed to create vendor")
X (close)CornerCloses—
Dialog: Edit Receiving

Opened by clicking a row on the Receive tab. Title "Edit Receiving - …" (vendor invoice or PO number); sub-line "(vendor) • Expected: (date)" — the date is the order's created date.

ControlWhereWhat it doesNotes
Guide "📋 How to Update Receiving Information" (Adjust quantities, Add notes, Save receiving, Tip)HeaderStatic help—
Expected / Received / MissingTop of bodyTotals across all linesReceived and Missing update as you type
Product name, "Code: (SKU) • $… each"Each line——
"… waiting — the ones who agreed to a text get one when this is received" (bell icon, amber)Each lineWarns that receiving this product texts walk-in customers waiting for itOnly when someone is waiting for that product. The texts go out only while Text automatically when stock arrives is on in Settings → Lost sales
Chip "Itemized (creates Inventory Items)" / "Bulk (quantity only)" / "Mixed"Each lineOrder type—
Total ValueEach line, rightUnit price × the quantity entered—
Expected QuantityEach lineThe ordered quantityRead-only
Received Quantity − (minus)Each lineLowers the count by 1Disabled at 0
Received Quantity number boxEach lineType the total received so far for this line (not just today's delivery). Saving applies the difference from what was already recordedStarts at what has actually been received (0 for a new order). Limited to between 0 and expected + 5; anything higher is brought down to expected + 5
Received Quantity + (plus)Each lineRaises the count by 1Disabled at expected + 5
Missing Quantity (yellow)Each lineExpected − received, never below 0Read-only
Notes (optional) ("Add notes about this item...")Each lineLine note, saved with the receipt — or on its own if only the note changed (no stock change)—
"You have unsaved changes" / "No changes made"Footer, left——
CancelFooterCloses without savingDisabled while saving
Save Receiving (save icon) → "Saving..."FooterFor each changed line, a higher number adds stock at the order's location at the unit cost; a lower number takes stock back out. A line for one of a product's variants goes onto that variant's own stock record there. On Hand and Available each move by exactly the difference, from whatever they were — a product already below 0 (an Allow Oversell backorder, or a count that found less than was promised) comes up by what arrived and no more, and a lowered line whose units were already sold takes On Hand below 0. The stock movement records the same difference. Where the product (or the variant received) has no stock record at that location yet, the receipt makes one; a delivery, a transfer or another receipt making the same record at the same moment waits for it, so the same record is never made twice. If every line is now fully received, the order becomes Delivered. Toast "Order received" / "Updates saved for …". The dialog closes and the list and metrics refreshDisabled until something changed, and while saving. A double click or retry of the same save is only applied once. On an Itemized order, a serial number your store already holds does not become a second unit — whichever product it was first recorded against, including when two people save the same receipt at the same moment, and when one of them is receiving while the other imports the same serial on the Import tab. The quantity is still received and the stock still moves; the unit that already carries that serial is left exactly as it is, and no new one is created for it. A second, red toast names the serials that were skipped and the SKU each one is already on — up to three, then "and n more"
X (close) / Esc / click outsideCornerCloses without saving—

There is no barcode scanning, condition field, "Mark as Received" or "Mark Order Complete" in this dialog.

Sub-pages and other ways in
PageWhat you seeHow you reach itNotes
/inventory/replenishHeading "Replenishment" (chip "Live Backend"), then the New Order form with Requested, not stockedA product's details, walk-in requests card → Order it (cart icon). Shown when walk-in customers asked for the product while it was out of stockNot locked before the first procurement order
/inventory/receivingBreadcrumb "Inventory › Receiving", title "Inventory Receiving" (chip "Receiving System"), then the Receive tab's screenOnly by typing the address — nothing in the app links hereNot locked before the first procurement order
/inventory/importHeading "Import Data" (chip "Import System"), then the Import screenOnly by typing the addressGo to Receive / Go to List in the completion toast open the Receive or Orders tab of Procurement Orders
/procurement/importBreadcrumb "Procurement › Import", title "Import Procurement Orders" (chip "Import System"), then the Import screenOnly by typing the addressSame importer; the completion toast's buttons also go to Procurement Orders
/procurement/ordersNothing — forwards to this pageOld links only—

None of these pages has a menu item of its own, so for menu visibility they all belong to Procurement. Hiding Procurement from a team member shows them "403 - Forbidden" on every one of them, typed address or bookmark included.

Other ways into this page:

FromLink or buttonOpens
SidebarInventory → Procurement (truck icon)Orders tab (or Import for a new store)
Shortcuts pageProcurement Orders List / New Procurement Order / Import Procurement Order / Receive Procurement OrderThe matching tab
Get StartedCard Inventory SetupImport tab
Setup bannerStep "Add your first product or service" → Add a productImport tab
Sales → NewProduct search footer "Can't find it? Add Inventory"New Order tab
Sales → NewReminder under the item search: "…go Procurement or …"Orders tab (or Import for a new store)
DashboardCard Open POs (truck icon), and the Procurement link on the Organized levelOrders tab (or Import for a new store)
Lost Sales Report, Requested items tabOpen ReplenishNew Order tab
Snapshot stock-reset notesInventory ReceivingReceive tab
Messages you may see

Page and Orders tab

MessageWhen it appearsWhat to do
"Orders, New Order and Receive unlock after your first import."The store has no procurement order yetRun an import on the Import tab; the tabs unlock as soon as it finishes
"Orders / New Order / Receive needs a purchase order to work on, and this store has none yet — so this is Import, where the first one is created. Orders, New Order and Receive unlock after it."Same, but a link or bookmark asked for that tab by nameThe same: run the import
"403 - Forbidden" / "You do not have permission to view this page. Contact your organization owner."The owner hid Procurement in this person's menu. It shows on this page and on the separate Replenishment, Inventory Receiving and import pages and the older purchase-order addressThe owner turns the item back on for them in Team & menu visibility
"No orders found. Try importing some orders first."No orders at the loaded locationsUse Go to Import, or check the Location filter
"No orders match your current filters."Filters hide every orderClear filters
"Failed to Load Orders" (with "Failed to load procurement orders: …") / "Failed to Load Locations" / "Failed to Load User Data"A read failedUse the matching Retry button; reload if it keeps happening

Order Details and Edit Order

MessageWhen it appearsWhat to do
""…" is a final status and cannot be changed back to "…"."Tried to reopen a Cancelled, Completed or Refunded orderNot allowed. Create a new order if needed
""…" already has … received — its ordered quantity can't be set below that. Use the Receive tab to correct received amounts."A line quantity was set below what has been receivedLower the received quantity on the Receive tab first, then edit
"Failed to save order: Order update failed: This purchase order was cancelled, so what it ordered and what it cost can't be changed. Create a new purchase order instead."A quantity, price or cost was edited on a Cancelled or Refunded orderCreate a new purchase order. Notes on a cancelled order still save
"Failed to save order: Order update failed: A discount of … is more than the order's items are worth (…). Lower the discount, or add to the order." / "Failed to save order: Order update failed: Tax of … is more than the … the order is taxed on. Check the tax rate."A typed discount or tax is larger than the itemsLower it. Nothing was saved — neither the lines nor the order
"Failed to save order: Order update failed: The vendor on this order is not one of your store's vendors. Pick the vendor again and save."The save gave the order a vendor that belongs to another store — normally only a program sending the save in. A vendor the order already had is not judged, so its notes still savePick one of your own vendors. Nothing was saved — neither the lines nor the order
"Failed to save order: Order update failed: Someone saved this order or received goods on it at the same moment. Press Save again."Someone else saved this order, or goods were received on it, while your save was being made. The store already tried once more on its own. Nothing was savedClick Save Changes again. Your edits are still in the window, and the save is judged on the order as it now is — a quantity now below what has been received is refused with the sentence above
"Failed to save order: Order update failed: Nothing was saved: …" / "Failed to save order: Order update failed: …" / "Failed to save order: Order update failed: Item … could not be saved — it is no longer on this order."The store could not write the save, or refused it. The lines and the order are saved together, so neither the lines nor the order changedRetry; reopen the order if a line is named as no longer on it; if it keeps failing, contact support with the message
"Failed to save order: Order update failed: The order was saved, but it could not be read back. Reopen it to see the saved figures."The save landed, but the window could not load the saved order afterwardsClose and reopen the order; do not save the same change again
"Failed to delete order: Only Draft, Saved, Pending, or Cancelled procurement orders can be deleted. This order is …. Set its status to Cancelled first (this preserves the financial and inventory history), then delete it."Status does not allow deletionEdit Order → Status Cancelled → Save → Delete
"Failed to delete order: This order has … payment(s) recorded against it and cannot be deleted. Void or remove those payments first, or keep the order as Cancelled to preserve the financial history."The order has paymentsRemove the payments, or keep the order as Cancelled
"Failed to delete order: This procurement order can't be deleted yet — some received items have already been sold or reserved: …" (names each product and the sales orders involved)Serialized units from this PO were sold or reservedDelete, cancel or return the listed sales orders first, then delete again. Bulk items never block
"Failed to delete order: Deleting a purchase order needs manager access. Ask the owner or a manager to delete this one."The person is staffAsk the owner or a manager to delete it
"Failed to delete order: Delete affected no rows — the order may already be removed or is outside your organization."Already deletedRefresh the list
"Failed to delete order: Order … was not found in your organization (it may already be deleted)."The order no longer existsRefresh the list

New Order

MessageWhen it appearsWhat to do
"Pick a store location in Order Basics."No locationPick one
"Pick a vendor in Order Basics."No vendorPick one, or add a vendor first
"Add an order line before creating the order."No linesAdd Line
"1 order line has no product selected — click a product in the search results (typing in the boxes does not add one), or remove the line." (or "… order lines have …")A line has no picked productClick a search result, or remove the line
"Every order line needs a quantity above zero."A quantity is 0 or emptyEnter a quantity
Toast "Order not created"Create pressed while one of the above appliesFix what the reason names
"No order line has a product selected — nothing was created."Final check: no line has a productClick a product in the search results for each line
"No product selected — click a search result to add one."Under a line with no productClick a result, or remove the line
"… line(s) is/are not counted — no product selected. Click a product in the search results."Order Summary, same caseSame
"Failed to load locations" / "Failed to load vendors" / "Product search failed" / "Failed to create order" / "Order creation failed"Loading, searching or creating failedRetry. Make sure the store has a location and a vendor
"The location this order is filed at is not one of your store's. Pick one of your own locations and save again." / "The vendor on this order is not one of your store's vendors. Pick the vendor again and save." / "…: this product is not in your store." (the line's SKU, or "Line 2")The order named a location, a vendor or a product that belongs to another store — normally only a program sending the order in. The first such line is named. Nothing was savedReload the page and pick your own location, vendor and products
"Please enable pop-ups to print the order."Print PDF with pop-ups blockedAllow pop-ups for the site
"The order's status could not be updated because the purchase order was not found. Anything already received stays received. Refresh the page and check the order."Received into inventory now was ticked and the order could not be set to Delivered afterwards — for example it was deleted in another tab meanwhileRefresh and check the Orders tab. The stock that was received is kept
Toast "Order created, but the customers who asked for these items were not linked to it." (with a reason, or "Try "Add to PO" again from Requested, not stocked.")The order was made but linking the asks failedUse Add to PO again from Requested, not stocked

Requested, not stocked

MessageWhen it appearsWhat to do
Toast "… added to the order" + "Fill in Order Basics, then Create Procurement Order." or "… × …. Create Procurement Order when the list is right."Add to PO clickedFinish the order and press Create Procurement Order
Toast "… is already on this order"The item is already a lineNothing to do
Tooltip "Add it to the catalog to order it"Free-text askAdd the product to your catalog first
Tooltip "Every ask for this item is already on a purchase order"All asks are on a PONothing to do
Tooltip "Nobody is still waiting for this one"No open asksNothing to do
"Could not load what customers asked for." / "Could not work out the date range for this store."The section failed to loadReload. Check the store's time zone in settings

Import — uploading a file

MessageWhen it appearsWhat to do
"This file does not match the inventory type you selected" + "You selected Trackable Items, but this file has a … column and none of the per-unit columns (serialNumber, condition, grade) — that is the Bulk Items template."A Bulk file under TrackableSwitch to B - Bulk Items, or use Template A
Same title + "You selected Bulk Items, but this file has per-unit columns (…) and no quantity column — that is the Trackable Items template."A Trackable file under BulkSwitch to A - Trackable Items, or use Template B
Same title + "You selected Bulk Items, but this file has no quantity column, so every row would come in as a single unit."Bulk chosen and no quantity column (quantity, qty, quantity received or qty received are accepted)Add a quantity column
All three end "Check both sides before you retry: is this the wrong file, or is the wrong inventory type selected? Switch the type in Step 2, or download the matching template above and re-export your data."——
"The quantity column will be ignored" / "Trackable imports create one inventory item per row, so every row counts as 1 unit no matter what quantity says. …" (amber)A Trackable file that also has a quantity column — acceptedGive each unit its own row, or switch to Bulk
"This Excel file can't be read" / "It is in the old .xls format or password-protected. In Excel, remove any password, choose File → Save As → Excel Workbook (.xlsx), and upload the new file.".xls or password-protected workbookRe-save as .xlsx with no password
"This Excel file could not be opened" / "It may be damaged, or not really an Excel workbook. Open it in Excel, save a fresh copy as .xlsx, and try again."Damaged or not really an Excel fileSave a fresh .xlsx
"This file is too large" / "Excel files can be up to 10 MB. Split the rows into smaller files, or save the sheet as CSV.".xlsx over 10 MBSplit the file, or save as CSV
"Only Excel or CSV files can be uploaded" / "Choose a file ending in .xlsx or .csv."Any other file typeUse .xlsx or .csv
"This file could not be read" / "Reading the file failed: …"Any other read errorRe-export the file
Toast "Could not create the Excel template" / "Try again, or download the CSV version instead."The Excel template could not be builtRetry, or pick CSV

Import — preview checks

MessageWhen it appearsWhat to do
"… is empty in … rows — every row needs one: …" (lists SKUs)A required column is blank (costPrice, retailPrice, and quantity for Bulk)Fill it in and re-upload — Import stays disabled until then
"sku is empty in … rows, and so is model — every row needs a SKU, or a model to make one from: …" (or, with no sku column, "— your file has no such column, so each row's model is used as its SKU, and … rows have no model either.")Rows with neither a SKU nor a modelAdd a SKU or a model and re-upload
"… is empty in … rows — required to create a new product: …"name or category is blank for a SKU not in your catalog. A SKU your catalog already holds keeps the product's own name and category, so it is never asked for them — with or without a location chosenFill it in and re-upload
"… is not a number in … rows: "…" (…)"A price or quantity cell can't be read as a numberType plain numbers and re-upload
"… — your file has no such column, and every row needs one (… rows)." / "… — your file has no such column, and it is required to create a product that is not in your catalog yet (… rows)."A required column is missingStart from the downloaded template
Amber: "… is empty in … rows — the product will be created without it:" / "… is not a number in … rows, so it will be left blank:" / "… — your file has no such column, so … rows will be imported without it."model, brand or msrp missing or unreadable for new productsOptional — the import still runs
"Missing SKU and model" (Plan column)A row with neither a SKU nor a modelAdd a SKU, or a model to make one from

Import — running the import

MessageWhen it appearsWhat to do
"Location selection is required for inventory tracking. Please select a location where inventory will be stored." (toast "Import halted" / "Location is required.")No locationPick a location
"Vendor invoice number is required." (toast "Import halted" / "Vendor invoice is required.")Blank invoice numberEnter an invoice number
"No data to import. Please upload and preview an Excel or CSV file." (toast "Import halted" / "No rows to import.")No rowsUpload a file with data rows
"Vendor ID is required. Please enter a vendor ID for the procurement order." (toast "Import halted" / "Vendor is required.")No vendorPick a vendor
"Organization data is still loading. Please wait a moment and try again." / "Invalid organization context. Please re-authenticate or refresh." (toast "Waiting for organization")Your session isn't readyWait, or refresh / sign in again
"Invoice "…" was already imported as …. Skipping to avoid duplicating the order and doubling stock. Use a different invoice number or open the existing order." (toast "Import halted" / "This vendor invoice was already imported.")The invoice number is already on a procurement order (imported, or created on New Order)Use a different number, or open the existing order
"Could not verify whether this invoice was already imported: …" (toast "Import halted" / "Duplicate check failed.")The duplicate check failedRetry
"No rows could be imported: every product failed to resolve."Every row's product failedCheck the failed-row reasons and the file
"Pick the date this load arrived." (toast "Import halted")The order date box was emptiedClick the label and pick the day the load arrived
"An order date cannot be in the future." (toast "Import halted")The order date is ahead of today where your store isPick the day the load arrived. Nothing was imported
"An order date more than ten years ago looks like a typing mistake — check the year." (toast "Import halted")The order date is more than ten years backCheck the year and import again. Nothing was imported
"The order date is not a date the system understands." (toast "Import halted")The order date could not be readClick the label and pick the day again
"Failed to create order: …" / "No order data returned from server"The order could not be created; nothing importedRetry; contact support if it repeats
"Failed to create order: The location this order is filed at is not one of your store's. …" (or "… The vendor on this order is not one of your store's vendors. …", or "…: this product is not in your store.")The location, the vendor or a row's product belongs to another store — normally a page left open across a store switch. Nothing was importedReload the page, then pick the location and vendor again
Failed-row errors, for example "Failed to create product: …", "Unable to resolve product for SKU …", "A unit with serial … / barcode … already exists (id=…). Skipped so the same unit is not counted twice." (the "(id=…)" part is missing when the clash was with a unit created in the same moment), "Inventory item already exists (id=…). Skipped stock update to avoid double counting."Individual rows failedA serial number or barcode clash fails the row after the order was made, so its line is on the order: receive it on this order from the Receive tab with a corrected serial number, or set its quantity to 0 in Edit Order if it never came. A product that could not be found or created never reached the order: fix it in your file and import just those rows under a new invoice number. When no row imported at all, the order is cancelled, so every row goes back to your file the same way
"Stock-in failed — no stock was applied and the order was left as Pending (not Delivered). You can receive it from the receiving tab. Reason: …"Receiving failed after the order was createdReceive the order on the Receive tab
"The purchase order was made and its rows went in, but it could not be finished: … Press Finish the order to try again. If it keeps failing, note the reason below and contact support." (or "… could not be marked Delivered, so it still reads Pending …", or "No row imported, and the purchase order could not be cancelled …" / "… could not be finished, so it still reads Pending instead of Cancelled")The order was made and received, but saving its total and the import's details, or its final status, failedPress Finish the order. The file does not need importing again (the same invoice number would be refused)
Toast "Import completed" / "Import completed with issues"End of an importUse Go to Receive or Go to List
Browser alert "A vendor named "…" is already on your Vendors list, so it has been picked for this import. Give a new vendor a different name."Create New Vendor with the name of a vendor on the list (capitals and spacing aside)Nothing was added: that vendor is now picked for the import. Carry on, or type a different name for a new vendor
Browser alert "A vendor named "…" is already on your Vendors list, switched off. Ask a manager to switch it back on in Inventory → Vendors instead of adding it again, or give this vendor a different name."Create New Vendor, or an import with no vendor picked (which adds a "Default Vendor"), when that name belongs to a switched-off vendorA manager turns the vendor's Active switch back on in Inventory → Vendors; then pick it
Browser alert with the error, or "Failed to create vendor"Create New Vendor failed for another reasonRetry

Receive

MessageWhen it appearsWhat to do
"Purchase orders couldn't be loaded" (red banner with Try again)The tab could not read your purchase ordersPress Try again. This is not the same as having nothing to receive — that reads "No orders found"
"Couldn't reach your purchase orders just now. Please try again."The tab could not reach your store's records at allPress Try again; reload the page if it keeps happening
"Couldn't search your purchase orders. The list below may be out of date."A search failed. The list you can see answered the previous searchSearch again, or clear the box to reload the full list
Toast "Order received" / "Updates saved for …."Receiving saved—
Red toast "One serial number was already in stock" (or "n serial numbers were already in stock") / "SN-12 (already on WASH-9). No new unit was created for it. Check the serial numbers on this receipt."The receipt saved, and one or more of its serials are ones your store already holdsThe receipt itself succeeded and the stock moved. Up to three serials are named, then "and n more"
Toast "No changes to save" / "Nothing was modified in this order."Save with nothing changed—
Toast "Save failed" with the reason, or "Unable to save receiving changes."Receiving could not be savedRetry. An order with no location cannot be received
Toast "Save failed" — "Only purchase orders can be received here. This order is not a purchase order."The order being received is not a purchase orderNothing was saved and no stock moved. Only purchase orders can be received
Toast "Save failed" — "The location these goods are received at is not one of your store's. Pick one of your own locations and receive them again." (or "Line 1: this product is not in your store.", or "Line 1: this variant is not one of this product's variants.")The receipt named a location or a product that belongs to another store, or a variant that is not one of the line's product's — normally only a program sending the receipt inNothing was saved and no stock moved: no stock record is made at another store's location, or under another product's variant. Reload and receive again
Toast "Save failed" — "This purchase order was cancelled, so nothing can be received against it. Delete the order to reverse anything already received, or create a new purchase order."The order was cancelled or refunded while the dialog was openNothing was saved and no stock moved. Refresh the tab — the order is no longer listed
Toast "Save failed" — "Purchase order … was cancelled, so nothing can be received against it. Delete the order to reverse anything already received, or create a new purchase order."Same, but the order was cancelled in the moment between opening the dialog and savingNothing was saved and no stock moved
Toast "Save failed" — ""…" has … received, so it cannot be recorded as …. Use the Receive tab to receive more, which moves the stock with it."A note-only line was saved with a received total higher than the one on the order — for example the dialog was left open while somebody else received against itClose and reopen the order so it shows what has really arrived, then use Receive to record anything new; that moves the stock with it
"… waiting — the ones who agreed to a text get one when this is received"Walk-in customers are waiting for that productInformational — saving the receipt sends the texts when automatic texting is on (see Walk-ins)
Who can use what
WhoWhat they can doNotes
Every planThe whole page, all four tabs, the templates and the demoNo plan or add-on gate
Any team member who can open the pageView, create, edit, import and receiveNo role check on these actions, except the staff rule in the next row
Staff, while Hide cost info from all staff accounts is on in Settings → Team (the default)View and receive orders, with prices and totals hidden on screen and left off the printed order. They can't create or import one, or create one from Replenish: "Your store owner hides costs from staff, so an owner or manager creates purchase orders."New Order and Import are left off their tab bar. Owners and managers are never affected
Owner or managerDelete OrderStaff can press Delete, but it stops with "Deleting a purchase order needs manager access. Ask the owner or a manager to delete this one." Roles are set in Settings → Team
Team member with Procurement hidden in their menuNothing — the page shows "403 - Forbidden", and so do the separate Replenishment, Inventory Receiving and import pages and the older purchase-order addressOnly in stores with more than one active member; owners are never blocked. The demo still opens. See Team & menu visibility
Everyone, including the ownerOrders, New Order and Receive are locked until the first procurement order existsThe separate Replenishment and Inventory Receiving pages are not locked (the lock is about your first order, not your menu)
EveryoneThe demoNo gate
Demo mode (/inventory/procurement-orders/demo)
  • Open it: the Demo button (Play icon, amber) at the top right. From the Import tab it opens the import-only demo; from any other tab, the four-tab demo. See Demo mode.
  • Header: four-tab demo "Procurement Orders — Demo" / "Sample procurement orders populated with demo data. All actions are disabled." Import-only demo "Import Inventory — Demo" / "The import screen with a sample file loaded. All actions are disabled."
  • Banner: "Demo mode — procurement orders are populated with sample data. All actions are disabled." (import-only: "Demo mode — this is the Import screen with sample data. All actions are disabled.") with Take a Tour, which restarts the tour from step 1.
  • Tour: starts by itself the first time you open the demo. Each card shows progress dots, title, text, "… of …", Back (from step 2), Skip and Next (last step Got it!). → or Enter = next, ← = back, Esc or clicking the dark backdrop = close. In the four-tab demo each step switches to its tab first; a step whose target never appears is skipped after a few seconds.
  • Sample data: about 5–6 orders for your industry (pending, processing, shipped, delivered and completed), industry vendors, and two locations, "Main Store" and "Warehouse".
  • Disabled: search, Status / Vendor / Location selects, the date button, chips, Clear filters, pagination, every New Order field and button, every Import control (Download Template A looks active but does nothing), and Receive's search, filter, Refresh and pagination. Order rows and Receive rows do not open a dialog.
  • Still works: the tab bar (no tabs are locked in the demo), the Pending Orders and Delivered Orders cards (they filter the sample table), Exit Demo Mode, Take a Tour and the tour controls. The Receive → links on pending rows move the demo to its own Receive tab, without leaving demo mode.
  • Leave: Exit Demo Mode (arrow-left icon) at the top right returns to Procurement Orders (to the Import tab from the import-only demo).

Four-tab demo tour (12 steps):

#TabTour stepWhat it points at
1OrdersProcurement TabsThe tab bar — what each of the four tabs is for (Import uploads an Excel or CSV file)
2OrdersOrder KPIsThe summary cards — totals, and that Pending and Delivered are click-to-filter
3OrdersSearch & FiltersThe toolbar — search by PO number, vendor or product; filter by status, vendor, location and date; removable chips
4OrdersOrders TableThe table — the seven columns, the "Receive →" shortcut, click a row for details
5New OrderNew Order — HeaderThe Order Basics card — location, vendor, invoice or PO number, shipping and internal notes
6New OrderOrder LinesThe lines card — search by name or SKU, quantity and unit cost, optional receive-now
7New OrderOrder SummaryThe summary card — tax rate, subtotal, tax and grand total
8ImportImport — Store & VendorStep 1 — location, vendor, auto-filled invoice number, Other Settings
9ImportChoose Inventory TypeStep 2 — Trackable vs Bulk, and the Excel or CSV template
10ImportUpload Your FileStep 3 — upload up to 10 MB, every row previewed; suggests the import-only demo
11ReceiveReceiving MetricsThe metrics row — received, missing, accuracy and pending over 30 days
12ReceiveReceiving StatusThe receiving list — received and missing counts, Pending / Partial / Received, and what a row opens: received and missing quantities, serial numbers and a note

Import-only demo tour (11 steps, all on the Import screen):

#TabTour stepWhat it points at
1ImportRead it in your languageThe language switch, which works here as it does on the real screen — it translates this screen only; template column names stay English
2ImportStep 1 — Store & VendorStep 1 — location, vendor, New Vendor at the top of the list, the order date pencil
3ImportInvoice / PO number, filled in for youThe invoice field — initials plus date and time; click to type your own; the duplicate guard
4ImportOther SettingsOther Settings — stock counts as already received; expenses, fees and a note
5ImportStep 2 — Trackable or BulkStep 2 — one row per unit vs one row with a quantity
6ImportDownload the template firstThe Download Template A button — Excel (recommended) or CSV, filled with sample products
7ImportFill in your file exactly like the templateThe template preview — same columns, same names, same order; red, amber, grey
8ImportStep 3 — Upload the fileStep 3 — drag and drop or Choose File, up to 10 MB, checked against the chosen type
9ImportCheck the previewThe Data Preview — the plan per row; red blocks, amber still imports
10ImportOrder summaryThe Order Summary — items, units, cost and retail value
11ImportImportThe Import button — creates the order and products and puts stock in; the other tabs unlock after the first import

Differences from the live page:

  • Orders: no Order Details dialog; the Status list is fixed (All, Pending, Processing, Shipped, Delivered, Completed, Cancelled); only the Status chip can appear.
  • New Order: a different layout — card "Create a new Procurement Order" with Location, Vendor and Vendor Invoice ("INV-2024-DEMO"), "Lines (3)", a "Summary" card with Tax Rate (%) 8.25, and Reset / Create. No Requested, not stocked section, no step greying, no reason line and no Order Summary echo.
  • Import: English only, with a sample file "(industry)-trackable.xlsx" already loaded, Trackable chosen and Other Settings open. The Plan column says only "New product + 1 item"; the Order Summary has only the four tiles; the order date can't be edited.
  • Receive: received and missing counts are made up from each sample status (shipped = Partial, delivered or completed = Received, others = Pending); no row is ever Overdue.
Common questions

Why are Orders, New Order and Receive greyed out with a lock? Your store has no procurement order yet. Import your first vendor invoice on the Import tab — the other three tabs unlock as soon as it finishes, without a reload.

I set an order to Delivered but my stock didn't change. Why? Changing the status never adds or removes stock. Stock only goes up when goods are received: open the Receive tab, click the order's row, enter the received quantities and press Save Receiving. The order becomes Delivered by itself once every line is fully received. An order with items not received can't be set to Delivered or Completed by hand; if some of the goods will never come, lower their ordered quantity to what arrived in Edit Order, and Delivered opens in the same edit.

Can I import an invoice for goods that haven't arrived yet? No. Every import is received into stock straight away and marked Delivered — the Already Received box is always ticked. For goods still on the way, use New Order and leave Received into inventory now unticked, then receive them on the Receive tab when they arrive.

Why can't I delete this purchase order? Only Draft, Saved, Pending or Cancelled orders can be deleted — set any other order to Cancelled in Edit Order first. Orders with payments recorded against them, or whose received serialized units have been sold or reserved, stay blocked (the message names the sales orders to undo). Only the owner or a manager can delete; a staff member is told "Deleting a purchase order needs manager access."

Does my internal note print on the purchase order? No. The Internal Note is for your team and never prints — not from Print PDF after creating a New Order, nor from Print in Order Details. The vendor copy's "Comments or Special Instructions" shows only the Shipping Note and the vendor invoice number saved on the order.

The "Order ID" in the confirmation doesn't match the Orders list. Why? The "Order ID" in the confirmation after creating a New Order is a separate 6-character short code. The printed purchase order — from Print PDF there or Print in Order Details — carries the full PO number shown on the Orders tab.

My imported order's total includes Other Expenses & Fees. Will editing the order lose them? No. Edit Order shows them as Other Expenses & Fees and keeps them in the total when you save; change the amount there if it was wrong. Total Amount in Order Details, the Amount on the Orders tab and the printed GRAND TOTAL all include them. If an earlier edit took them out of an order's total, Order Details shows an amber note under Cost Breakdown. Open Edit Order and click Save Changes once to add them back.

Where do Other Expenses & Fees, shipping and tax end up in my books? On the Profit & Loss, under Freight & Fees on Purchases, on the day the order was marked Delivered. Your stock is valued at what the goods cost, and each sale's cost of goods is that price alone, so the rest of the order total (Other Expenses & Fees, Shipping and Tax, less any Discount) is an expense rather than stock. Inventory holds the goods, from the day each delivery was received; Accounts Payable holds the whole total you owe the vendor. Nothing goes to the expense while the order is still being received. If you also enter an order's freight in Expenses, it is counted twice. Keep it in one place: on the order when the vendor bills it, or as the expense, and off the order, when you pay someone else for it.

Why is nothing ever Overdue on the Receive tab? Overdue means a promised delivery date has gone by with nothing received, and nothing in UpChannels sets one: neither New Order nor Import asks for a delivery date. Until one does, every unreceived order stays Pending, which is the honest answer — an order cannot be late against a date nobody gave.

I received too many — how do I correct it? Open the order on the Receive tab and lower the Received Quantity to the right total, then Save Receiving. Stock at that location goes down by the difference. The box can't go below 0 or above the ordered quantity + 5.

Why does the import say "This vendor invoice was already imported"? An invoice number can be on only one procurement order, so the same delivery isn't counted twice. The check also catches a number you already used on a New Order. If it really is a new delivery, change the Vendor Invoice # or PO # in Step 1; otherwise open the existing order on the Orders tab.