Skip to main content

Management

Inventory → Management opens Inventory Management, where you find, move and verify stock across three tabs: Search, Transfer and Count.

Inventory Management

Overview​

  • Search looks up products, bulk stock per location and individual serialized units. From a result you can edit a product or a unit, or write off an Available unit.
  • Transfer moves quantities from one active location to another. Submit shows what will move and where, and the stock moves only when you confirm with Post transfer. A history is kept under Recent Transfers.
  • Count runs a count session for one location: a scan count with a barcode scanner (Start scan count, see Scan Counting), or a typed count (Start Count Now). Saving a bulk count only records it. End Session shows what will change and updates stock only after you confirm. Marking a serialized unit Not Available changes stock at once.
  • Each tab has its own address (#search, #transfer, #count), so you can bookmark a tab. Switching tabs clears unsaved on-screen work, such as a transfer you have not submitted.
  • Demo (header, right) opens the page with sample data and a guided tour.
  • On the Shortcuts page, Transfer Inventory and Count Inventory open the Transfer and Count tabs as pages of their own. They work the same way.

Nothing on this page depends on your plan or your role: every team member who can open it can use every control.

Tabs in detail​

  • One search box plus a type selector: All, Products, Inventory, Barcode, SKU and Serial. Type at least 3 characters, then click Search or press Enter. There are no location, category, status or quantity filters, and no export.
  • All matches product names and SKUs, serialized units by SKU and by serial number, and barcodes on both products and units. Part of any of them is enough and letter case does not matter. Barcode searches barcodes only. Only active products are found.
  • Results appear as cards in three panels:
    • Products: matching products with cost, retail and a stock badge (In Stock, Low Stock or Out of Stock). Click a card to open the product's details, the same window as Catalog → Products, where you can edit or delete it.
    • Bulk Items: for each product found, one card per location showing the stock that is not a serialized unit, as On-Hand = Available + Reserved. These cards are read-only. To correct a bulk quantity, run a count.
    • Trackable Items: serialized units in any status, including Sold and Scrapped. Click a card to edit the unit's serial number, batch, barcode, status, condition, grade and unit prices. Status can only be switched between Available and Not Available, and that moves stock: Not Available lowers On Hand at the unit's location by 1, and switching the unit back to Available returns that 1. Outside a count this books nothing: a unit set aside (on display, away for repair) is still yours, so the books keep it while the Inventory page leaves it out. To write one off for good, switch it back to Available and Write off it. Write off scraps the unit: only Available units can be written off, and the unit becomes Scrapped with stock 1 lower. It stays on file.
  • You can't change a unit's location here. Use Transfer.

Transfer​

  • Step 1: pick From Location and To Location (active locations only) and add optional Transfer Notes. There is no reason list: the notes are saved as the transfer's reason and its internal notes. Changing From Location empties the transfer list without asking.
  • Step 2 appears once From Location is set. Type at least 2 characters of a product name or SKU. A product is listed only if it has Available stock at the From location, and a serialized product also needs at least one Available unit there. A product stocked there as more than one variant is listed once per variant with stock, for example "Variant: Black", and each is its own line, so you move exactly the variant you pick. Tick products and click Add Selected, or click Add on one row.
  • Transfer Items: change a quantity with − and + or type it (1 up to the Available quantity). Remove a row with ×. Total is quantity × the product's cost price.
  • Submit opens a review of the transfer. Its title asks "Move N units (M products) from … to …?", it lists each line with its quantity, and it says "Stock moves at once — to undo it, transfer it back." Nothing has moved yet. Cancel takes you back to the form; Post transfer moves the stock.
  • Post transfer moves the stock at once. The From location goes down, the To location goes up, and up to that many Available serialized units move with it, the oldest first (the app picks which units). A variant moves from its own stock record, into the To location's record for the same variant, with that variant's own units. The stock keeps its value: it moves at the From location's average cost. If the product has no stock record at the To location, the transfer makes one there; a receipt, a delivery or another transfer making the same record at the same moment waits for it, so the same record is never made twice. The transfer is numbered TRF-YYYYMMDD-NNNN and saved with status DELIVERED.
  • If the connection drops while posting, press Post transfer again. A transfer that already went through is not posted twice: the second press brings back the first one.
  • Once a transfer is posted, only its reason and notes can be edited. A transfer can't be changed, cancelled or reversed. To move stock back, make a transfer in the other direction.
  • Recent Transfers (left column) lists the 50 latest transfers, 5 per page, with a product-name filter. Click a row for Transfer Details.
  • Location Management (top right) opens Settings → Locations.

Count​

  • Start scan count is the quickest way to count: walk the floor with a barcode scanner, then review and post. It has its own page: Scan Counting. The rest of this section is the typed count.
  • A session belongs to one location, and only one session runs at a location at a time, scanned or typed. Pick the location in the dropdown (the first active location is selected for you), click Start Count Now, name the session and click Start. If somebody has already started the count here, the store refuses the second one and opens the one already running instead.
  • Bulk Items lists every stock record at the location. A product stocked there as more than one variant has a row for each, with "Variant: …" under the name ("No variant" for stock kept without one, and "record 1 of 2" where two records share one), so you count each variant on its own row. Click Count, enter the physical On Hand (the only number you count), add notes if you like and click Save Count. Any count can be saved, including one equal to the system number. Counting a row again replaces its earlier count, so the latest count is the one that is used.
  • Trackable Items lists the Available and Not Available serialized units at the location. Click Count, switch a missing unit to Not Available and click Save Status. The unit's status and On Hand change as soon as you save: each unit marked Not Available lowers On Hand by 1, and switching it back to Available returns that 1. Marked in a count, the missing unit is also written off in your books, the way the count books any other missing stock ("Inventory count - unit not found, written off"), and switching it back to Available later, in a count or not, takes that loss back.
  • End Session first shows what will change and asks you to confirm with Post counts. For each counted row, the difference between your count and On Hand when you counted it is applied to On Hand now. Sales, receipts, transfers and unit changes made since the count are kept, and a shortfall stops at 0. Available is recalculated as On Hand less the stock held for orders, so it goes below 0 when you count fewer than are promised, and an adjustment is recorded. The change reaches your books too: stock the count found missing is written off to Inventory Write-Offs, and stock it found beyond what was on file goes back into Inventory, at the product's average cost (else its last cost), so the balance sheet moves with the shelf. There is no pause, discard or export.
  • If a count leaves a location with fewer Available than it has Available serialized units, the extra units are marked Scrapped, oldest first. It never scraps more units than the count removed, and a higher count never brings units back.
  • Recent Count Sessions shows the 3 latest sessions across all locations. Click a completed one to see each record's before → after values.

Step by step: transfer stock​

  1. Open Transfer and choose From Location and To Location.
  2. In Step 2, type at least 2 characters of a product name or SKU. Tick products and click Add Selected, or click Add on a row.
  3. Set each quantity, add Transfer Notes if you want a record of why, and click Submit.
  4. Check the From and To locations and the quantities in the review, then click Post transfer. To change something, click Cancel instead.
  5. Note the Order Number in Transfer Created Successfully and click Continue. The transfer appears at the top of Recent Transfers.

Step by step: run a count​

With a barcode scanner, click Start scan count instead and follow Scan Counting. To type the counts:

  1. Open Count and pick the location in the dropdown.
  2. Click Start Count Now, give the session a name and click Start.
  3. For a serialized unit you can't find, click Count on its Trackable Items row, switch it to Not Available and click Save Status. Do this before you count that product's bulk row.
  4. For each bulk row whose shelf quantity differs, click Count, enter the On Hand you counted and click Save Count. If you mistype, count the row again: the new number replaces the old one.
  5. Check the Variance lines, then click End Session. Review the list of changes and click Post counts.

Tips & best practices​

  • The product card's On Hand is the total across every location that holds the product, with the number of locations underneath. To see where that stock is, read the Bulk Items and Trackable Items cards below it.
  • For barcodes, scan or type the code with either All or Barcode. Part of a code is enough, letter case does not matter, and a space before or after it is ignored.
  • Add Transfer Notes. They become the transfer's reason and internal notes, which is your audit trail.
  • Count in a quiet period if you can. Sales, receipts and transfers made after you count a row are kept when you end the session, but a sale made while you are counting that shelf can still throw the number off.
  • Mark missing serialized units Not Available before you count that product's bulk row. Marking a unit already changes On Hand, so if you mark one after the row was counted, End Session treats the row's count as out of date, leaves its On Hand as it is and lists the product under "Not applied". Count the row again in a new session if the number still looks wrong.
  • One count session runs at a location at a time. Starting a second one is refused with "A count session is already running at this location.", and the count already running opens for you, so two people never walk the same shelf apart. If a product is counted again before a session ends — by a stock reset, or by marking a trackable unit Available or Not Available — End Session leaves that product's On Hand as it is and lists it under "Not applied".
  • On the Transfer tab, Enter never submits a transfer. In the product search box it adds the ticked products (or the only matching one), and in a quantity box it just confirms the number. Only Post transfer, in the review that Submit opens, moves stock.
  • Count high-value or fast-moving categories regularly. The Variance lines flag what to investigate.

Troubleshooting​

IssueFix
Location missing from Transfer or CountOnly active locations are listed. Activate it under Settings → Locations. The Location Management button on the Transfer tab goes there
Product doesn't appear in Transfer Step 2It needs Available stock at the From location, and a serialized product needs at least one Available unit there. Check it on the Search tab
"Insufficient stock for product …" in the transfer reviewStock at the From location dropped after you added the product, for example because of a sale. Click Cancel, lower the quantity or remove the product and add it again, then Submit again
Search finds nothing for a barcodeCheck the code is on the product or the unit — Search looks at both. Only active products are found, so an inactive product with that barcode won't show
I saved the wrong countClick Count on the row again and save the right number. It replaces the earlier count
A count dialog doesn't seem to respondLook for the red message inside the dialog, just above its buttons: Start, Save Count and Save Status each say there why they were refused
Start says "A count session is already running at this location."Somebody else started the count, or this tab has been open since before it started. Select Cancel: the count already running is opened for you, and the Session Active badge names it
"This unit is reserved, sold or already written off…"Only Available units can be written off. The message says why the unit was refused; handle reserved or sold units through their order
A count session shows "0 items counted" and "0 variances"The figures are filled in when the session ends, so they read 0 while it is active. Some older completed sessions always show 0. Click View Details on the completed session to see the records
A session I just started isn't under Recent Count SessionsThe list doesn't reload when you start a session. Click Refresh. The Session Active badge confirms the session is running
High count variancesCheck for unrecorded damage, theft, or transfers and sales made during the count
"403 - Forbidden"The owner has hidden Management from your menu. That also blocks the separate Transfer Inventory, Count Inventory and search pages. Ask them to show it again (see Team)

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
Management (sliders icon)Sidebar, Inventory groupOpens this page on the Search tabIf the owner hides it from a team member, that person sees "403 - Forbidden" here and on the separate Transfer Inventory, Count Inventory and search pages
Title Inventory Management, subtitle "Search your stock, count it, move it between locations and reset a location's figures."HeaderPage headingStatic text, naming the four tools below it
Demo (Play icon, amber)Header, rightOpens /inventory/management/demo, a read-only copy with sample data. The guided tour starts on its own the first timeEveryone. Opens in the same browser tab. See the Demo mode panel and Demo mode
Search tab (magnifier icon, blue)Tab barShows the Search tab. The address ends in #searchDefault tab
Transfer tab (two-arrows icon, orange)Tab barShows the Transfer tab. The address ends in #transfer—
Count tab (calculator icon, purple)Tab barShows the Count tab. The address ends in #count—
Tab in the address: #search, #transfer, #count, or ?tab=search, ?tab=transfer, ?tab=countPage addressOpens the page on that tabAny other value opens Search. ?tab= wins over #
Switching tabsTab barLoads only the tab you openUnsaved on-screen work on the tab you leave is cleared: the transfer's locations, notes and items, typed search text and search results. Saved data is kept, including an active count session and its saved counts
Coloured frame around the tab (blue, orange, purple)Tab bodyDecoration—
Tab: Search
ControlWhereWhat it doesNotes
Heading "Inventory Search", "Search products, inventory items, and stock levels"Top of tabStatic text—
Search box "Enter at least 3 characters (name, SKU, barcode, serial...)"Search cardHolds the search termGreyed out while a search runs. Typing doesn't search by itself: click Search or press Enter
Enter keySearch boxRuns the searchOnly with 3 or more characters (not counting spaces at the start or end) and when no search is running
Type selector (default All)Right of the search boxChooses what is searchedChanging it doesn't re-run the search. Click Search again
All (magnifier icon)Type selectorProduct name or SKU contains the text (active products, up to 25 by name and 25 by SKU), plus serialized units whose SKU contains it and units whose serial number contains it — both, always, up to 25 each. Then barcodes, on active products and on units (up to 25 each)Everything the box's hint mentions. A product or unit already found is not listed twice
Products (box icon)Type selectorProduct name or SKU contains the text. Active products only, up to 25 eachNo unit results
Inventory (cart icon)Type selectorSerialized units by SKU, falling back to serial number. Up to 25No product results, so Bulk Items stays empty
Barcode (barcode icon)Type selectorBarcode contains the text, on active products and on units. Up to 25 eachPart of a code is enough, letter case does not matter, and spaces before or after the code are ignored. Use it to search barcodes only; All covers them too
SKU (# icon)Type selectorSKU contains the text, on active products and on unitsNo 25-result limit
Serial (# icon)Type selectorSerial number contains the text, on units onlyNo 25-result limit. No product results, so Bulk Items stays empty
Search (magnifier icon; spinning arrows while running)Search cardRuns the search. When products are found it also loads every location's stock for each of them, which fills Bulk ItemsGreyed out with fewer than 3 characters or while a search runs
ClearSearch cardEmpties the box, the results and any error. The panels go back to their "will appear here" hintsAlways available
"Search Error" card (warning icon)Below the search cardShows why the search failedOnly after an error. See Messages
Search Results header with "N total" badgeResults cardThe badge adds up the products, units and bulk stock records the page drawsThe badge shows only after a search that found something. A stock record whose whole quantity is serialized units is not counted — those units have a card each under Trackable Items — so the badge always matches the number of cards
"No results found" / "Try adjusting your search terms or search type"Results cardEmpty stateAfter a search where nothing at all was found
Products (N) panel (blue)Results cardOne card per matching active productBefore a search: "Product results will appear here" / "Search by product name, SKU, or other identifiers". No match: "No products found matching your search criteria"
Product cardProducts panelClick anywhere to open the product's details window (see Dialog: Product details)—
Product card contentsProduct cardName, "SKU: …" badge, Model, Category and Brand (when set), Cost and Retail ("N/A" if blank), a stock badge with "On Hand: N", the line "across N locations" (or "at 1 location"), and a "Created …" dateOn Hand is the total across every active location that holds the product. Out of Stock when that total is 0 or less, Low Stock when it is at or below those locations' minimum levels added up, otherwise In Stock. A product with no minimum level anywhere is never Low Stock. The whole stock block is hidden when the product has no stock record
Bulk Items (N) panel (purple)Results cardOne card per product per location that holds stock that isn't a serialized unitOnly for products found in the Products panel. Cards whose bulk On-Hand, Available and Reserved are all 0 are hidden. Before a search: "Bulk item results will appear here" / "Bulk items show aggregate inventory quantities by location.". None found: "No bulk items found for the searched products" / "Bulk items show aggregate inventory quantities by location. Search for products to view their stock levels."
Bulk item cardBulk Items panelClick to open Bulk Item Quantity Adjustment, an explanation with no inputs—
Bulk card contentsBulk cardName, "SKU:" badge, location, stock badge, the line On-Hand = Available + Reserved, Min, Max and Reorder (when set), and the last movement dateBulk figures leave out serialized units. On-Hand = On Hand minus the units at that location that are Available, Reserved, Damaged or Returned. Available = Available minus Available units. Reserved = stock held for orders plus damaged-return holds, minus Reserved units. None go below 0. Min, Max and Reorder are display-only here: set them with Edit levels in the product window on Inventory → Snapshot
Trackable Items (N) panel (green)Results cardOne card per matching serialized unit, in any status, including Sold and ScrappedBefore a search: "Trackable item results will appear here" / "Search for items tracked by serial number, batch number, or barcode". None found: "No trackable items found matching your search criteria" / "Try searching by SKU, serial number, or barcode"
Trackable item cardTrackable Items panelClick to open Trackable Item—
Trackable card contentsTrackable cardProduct name, "SKU:" badge (the product's SKU), S/N, Barcode, Batch, Location, Status badge, Condition, Cost, Retail and the date it was createdS/N, Barcode, Batch, Location and Condition show only when set. Status badge: AVAILABLE green, SCRAPPED and DAMAGED red, RETURNED outlined, HELD OFF SALE amber for a unit a Damaged or Defective return holds off sale, others grey. Hover over RESERVED to see what holds it: "Order #… holds this unit." when a Pending or Processing order names it on a line (a Draft or Saved order holds nothing, so it is never named), "An order holds this unit." when an order's reservation holds it, or "Held for an order, or off sale after a Damaged or Defective return." when the unit's record doesn't say which. The Trackable Item window says the same. A deleted location shows as a code instead of a name
Dialog: Product details

Opened from a card in the Products panel. It is the same window as Catalog → Products, which covers every field. The controls that matter from this page:

ControlWhereWhat it doesNotes
Title (product name), subtitle "code • SKU • brand"HeaderIdentifies the productOpened from Search, the brand reads "No Brand" when unset and the code shows the SKU
Link / Refresh from catalog (circular-arrows icon)HeaderOpens the catalog link and refresh windowAppliance stores only (business type Appliance Retail or Appliance Services)
Edit (pencil icon)HeaderSwitches to edit mode with the tabs Basic Info, Pricing, Physical, Variants, Vendors and MediaSee Catalog → Products
Delete (trash icon, red)HeaderBrowser prompt "Are you sure you want to delete this product?". OK checks for linked records and refuses if any exist. Otherwise it removes the product's variants and archives the product (hidden, not erased), and the card leaves the resultsRefused when the product has serialized units (in any status, ever), stock on hand or held stock at any location, or any procurement or sales order line. Transfers alone don't block it. See Messages
Cancel / Save (disk icon; "Saving...")Header, edit modeCancel discards the edits. Save writes the product and updates its card in the resultsBoth greyed out while saving. If saving fails, a browser alert says "Failed to update product. Please try again."
View tabs Product Details, Procurement (N), InventoryBodyRead-only product information, purchase history and stockProduct Details can also show a walk-in requests card
X (close) / Esc / click outsideDialogCloses—
Dialog: Bulk Item Quantity Adjustment
ControlWhereWhat it doesNotes
Title "Bulk Item Quantity Adjustment" (box icon)HeaderExplanation only, no inputsOpens from any Bulk Items card
"Bulk items represent aggregate inventory quantities tracked at the location level." and "To adjust the quantity of bulk items, please use the Count Session function to perform an inventory count and make adjustments."BodyExplains that bulk quantities are corrected with a count—
Count Session linkBody textOpens this page's Count tab in a new browser tab—
Got itFooterCloses—
X (close) / Esc / click outsideDialogCloses—
Dialog: Trackable Item

Opened from a card in the Trackable Items panel. Fields (after Edit):

FieldRequiredDefaultRules and error text
Serial Number ("Enter serial number")NoCurrent value. View mode shows "N/A" when blankFree text
SKU——Read-only. Shows "N/A" when blank
Batch Number ("Enter batch number")NoCurrent value. View mode shows "N/A" when blankFree text
Barcode ("Enter barcode")NoCurrent value. View mode shows "N/A" when blankFree text. This is the unit's own barcode, which the Barcode search type matches exactly
Current Status—Current statusFor an Available or Not Available unit, the options are Available and Not Available, with the hint "Changing this moves stock: Not Available lowers On Hand at this location by 1, and switching the unit back to Available returns that 1." On Save, Not Available lowers On Hand (and Available) at the unit's location by 1. On Hand never goes below 0: at 0 or below nothing moves. Available can go below 0, when what is left is promised to orders: that is a shortfall, shown rather than hidden. Switching the unit back to Available raises them by 1 only when marking that unit Not Available lowered them. A unit set Not Available while On Hand was 0, a unit at a location whose stock has been reset since, and some older Not Available units switch back with no stock change. Each change is its own movement ("Unit marked not available" / "Unit marked available"). A unit in any other status (Reserved, Sold, Damaged, Scrapped…) shows its badge instead, with "Only Available and Not Available units can be switched here. Reserved and sold units follow their order." A unit held off sale after a Damaged or Defective return is Reserved too, and reads HELD OFF SALE here, as on its Search card, with "A Damaged or Defective return holds this unit off sale. Put it back on sale from Inventory → Snapshot once it is repaired, or write it off here with Write off." instead: once it is repaired, a manager puts it back on sale from Inventory → Snapshot, the product's row, Put back on sale; if it can't be repaired, Write off writes it off by its serial. The unit's live status is checked again when you save, so a unit an order took in the meantime is refused with "Cannot change availability of a … item…". View mode shows a badge: Available green, Reserved yellow (amber HELD OFF SALE for a unit a return holds off sale), Sold blue, Damaged and Scrapped red, Returned orange, others grey. Orders move units for you: reserving stock on an order makes a unit Reserved, fulfilling makes it Sold, cancelling or deleting the order makes it Available again, and a customer return makes it Available with condition Used
Location (pin icon)——Read-only, with the hint "To move this item to a different location, use the Transfer function". The store refuses a move here too: "Use Inventory → Transfer to move a unit to another location. Changing it here would move the unit without its stock."
Condition ("Select condition")NoCurrent value. View mode shows "Not specified" when blankOptions New, Like New, Refurbished, Good, Used, Fair, Poor, Damaged, Defective — including the three the app sets by itself: Used on a unit a customer returned, Defective on a return recorded as one, and Refurbished from the procurement importer. A condition from anywhere else is offered back as itself rather than dropped
Grade ("Enter grade (e.g., A, B, C)")NoCurrent value. View mode shows "Not specified" when blankFree text
Item Cost Price ("0.00")NoCurrent valueNumber (the arrows step by 0.01). A cost of 0 shows as an empty box. Clearing the box and saving removes the price, which then shows "N/A". This unit's own cost
Item Retail Price ("0.00")NoCurrent valueSame rules as Item Cost Price

Buttons and read-only parts:

ControlWhereWhat it doesNotes
Title "Trackable Item: …" (archive icon)HeaderShows the serial number, or an internal ID when the unit has none—
Edit (pencil icon)HeaderTurns on editing for the fields above—
Write off (X icon, red)HeaderBrowser prompt "Write off this unit (…)? Its status becomes Scrapped and On Hand at this location drops by 1. The unit stays on file and is not erased." OK does exactly that: the status becomes SCRAPPED, the location's On Hand and Available each drop by 1, and a scrap movement is recorded. Either can go below 0: Available when the rest of the stock is promised to orders, On Hand when the unit was still on file after its stock had gone. The loss is recorded as it happened, and Inventory → Snapshot → Audit lists what it leaves short for review. When a product has more than one stock record at the location (one per option), the 1 comes off the record for the unit's own option — the same record Available / Not Available moves — and otherwise off the oldest. A sale or a reservation of the same product saved at the same moment waits for the write-off and then applies on top of it, so neither is lost. The card leaves the results and the dialog closesAvailable units, and units a Damaged or Defective return holds off sale (HELD OFF SALE): the prompt then adds "It comes out of the stock held off sale, so Available does not change.", and On Hand and the held stock of the record the return brought it back onto each drop by 1 while Available stays as it is. Any other unit is refused, and the message says why: "This unit is reserved, sold or already written off, so it is managed through its order — it can't be written off here." A unit somebody else already wrote off while this window was open says "This unit was already gone" instead — nothing was written and On Hand did not move. The unit isn't erased: search again and it shows as SCRAPPED. Greyed out while it saves
CancelHeader, edit modeDiscards the editsGreyed out while saving
Save (disk icon; "Saving...")Header, edit modeSaves the fields to this unit. Stock doesn't change, except that switching Current Status moves On Hand by 1 (see above)"Inventory item updated successfully", or "Error" with the reason. The store saves the fields, not the browser, so a unit's status can only ever change through the Available / Not Available switch or through the order, transfer, count or scrap that moves it. The other fields are saved first and a status change last. If the other fields can't be saved, nothing is saved and stock doesn't change. If they are saved but the status change is refused, the message reads "Your other changes were saved, but the status was not changed: …" with the reason, for example "Cannot change availability of a reserved item…"
Transfer linkUnder LocationOpens this page's Transfer tab in a new browser tab—
Product Information card: Product Name, Product SKU, Category, Product BarcodeBodyRead-onlyProduct Barcode is the product's own barcode, or "N/A" when it has none. Category shows only when set. The card is hidden if the unit has no product
Product Cost Price, Product Retail PriceFinancial Information cardRead-onlyThe product's catalogue prices, beside the unit's own. They differ when a unit was bought or is being sold at something other than the catalogue price
Created At, Last UpdatedActivity Timeline cardDate and time in your store's time zone—
X (close) / Esc / click outsideDialogCloses without saving—
Tab: Transfer

The right column holds the error banner and the Create New Transfer form. The left column is Recent Transfers (second table below).

ControlWhereWhat it doesNotes
Heading "Inventory Transfer", "Transfer inventory between locations"Top of tabStatic text—
Location Management (gear icon)Top rightOpens Settings → LocationsSame browser tab. An unsubmitted transfer is lost
Red error banner (warning icon)Top of right columnShows the tab's errors and noticesStays until the next successful action. Some notices clear themselves (see Messages). A transfer that could not be posted says why inside the transfer review instead, where you can see it
Create New Transfer card, "Step 1: Set Transfer Locations"Right columnGroups the locations and notes—
From Location ("Select source location"; "Loading..." while loading)Step 1Source location. Options show "Name (CODE)"Required (marked with an asterisk). Active locations only. Changing it empties Transfer Items without asking. "No locations available" when there are none
To Location ("Select destination location")Step 1Destination locationRequired. The From location is left out of the list
Transfer Notes ("Optional notes about this transfer...")Step 1Saved as both the Transfer Reason and the Internal Notes of the transferOptional. Both can be edited later in Transfer Details. There is no reason list
"Step 2: Choose Inventories to Transfer" cardRight columnProduct pickerAppears only after From Location is chosen
Product search ("Search products by name or SKU..."; spinner while searching)Step 2Searches as you type from 2 characters, by name or SKU, up to 50 productsLists a product only when it has Available stock at From. A serialized product also needs an Available unit there. Inactive products with stock are listed too. Emptying the box clears the list and the ticks
Select All (N selected)Step 2 list headerTicks every listed product that has stock and isn't already added. Click again to untickShown once there are results
Add Selected (N) (+ icon)Step 2 list headerAdds the ticked products at quantity 1 each and clears the searchGreyed out with nothing ticked. If some are skipped: "N products added. M skipped (already in transfer or no stock)", which clears after 5 seconds
Row tick boxStep 2 rowTicks the product (the variant, on a variant's row)Greyed out when Available is 0 or the row is already added
Row text "SKU: … • Available: N" (and "• Already added")Step 2 rowAvailable is the sellable quantity at From, bulk and serialized together. A product with more than one stock record at From has a row for each one with stock, starting "Variant: …" ("No variant" for stock kept without one, and "record 1 of 2" where two records share a variant), oldest firstRows already added are dimmed
Add (+ icon)Step 2 rowAdds that product at quantity 1 and clears the searchGreyed out when there is no stock or it is already added
Transfer Items (N) cardRight columnThe list to transfer, with columns Product (name, "Variant: …" when the product has more than one record at From, and SKU), Available, Quantity and TotalAppears after the first product is added. Two variants of one product are two lines, and the review counts them as one product
− (minus icon)Quantity cellQuantity −1Greyed out at 1
Quantity boxQuantity cellType a quantity. It is kept between 1 and Available, and decimals are droppedYou can't enter more than is available
+ (plus icon)Quantity cellQuantity +1Greyed out at the Available quantity
× (X icon, no label)Last columnRemoves the rowNo confirmation
Total columnEach rowQuantity × the product's cost price$0.00 when the product has no cost price
"N items, Q total quantity" and "Total: $X"Under the listNumber of products, total units and value at cost—
Submit (two-arrows icon; "Submitting..." with a spinner)Bottom of the formOpens the transfer review (see its panel, "Move N units (M products) from … to …?"). Nothing moves until Post transfer is clicked thereGreyed out until From and To are both set and different and at least one item is listed. Also greyed out, reading "Submitting...", while a transfer is posting
What Post transfer records—A transfer numbered TRF-YYYYMMDD-NNNN with status DELIVERED. For each product, the From location's On Hand and Available go down by the quantity and the To location's go up (a stock record is created there if needed). Two movements are recorded, "Transfer Outbound" and "Transfer Inbound". Up to that many Available serialized units at From move to To, oldest first. The app picks which units, and you can't choose serial numbers. Each line moves the stock record it was picked from: for a variant, that variant's record at From, into the To location's record for the same variant (made for that variant if there is none), with the units that belong to that record (a unit belongs to the record of its own variant, else to the product's oldest record there). A sale at To draws on every one of the product's records there, so the variant moved in can be sold at once, even when another variant's record there is empty.The server checks stock again: "Insufficient stock for product …" if it dropped meanwhile. A line that names no variant, for a product with stock free at From as more than one variant, is refused: "… is stocked at … as more than one variant (…), so which one to transfer is not clear. Pick the variant on the transfer line." Stock held for orders stays at From. The date in the number is the store's own date, in the store's time zone (UTC when none is set), the same as order numbers. The stock moves at the From location's average cost (its last purchase cost if it has no average). A To location with no stock record for the product starts at that cost. An existing record's average cost is recalculated by quantity, counting only stock actually on hand there, so a To location whose On Hand is below zero takes the incoming cost. The From location's average cost doesn't change
Enter keyProduct search boxAdds the ticked products, the same as Add Selected. With nothing ticked, it adds the single listed product that can still be added. It never submits the transferDoes nothing when several products are listed and none is ticked
Enter keyQuantity boxConfirms the number and leaves the box. It never submits the transfer
Enter keyTransfer Notes, or the focused Submit buttonNotes: adds a new line. Submit: opens the transfer review, the same as clicking itSubmitting from the keyboard still needs Submit to be focused. The review opens with Cancel focused, so a second Enter cancels rather than posts

Recent Transfers (left column):

ControlWhereWhat it doesNotes
Title Recent Transfers (clock icon)Panel headerThe 50 latest transfers, newest first, 5 per pageRefreshes after a transfer posts or you save its notes
Refresh (circular-arrows icon, no label)Panel header, rightReloads the list and returns to page 1—
Filter box ("Filter by product name...")Panel headerKeeps transfers that include a product whose tag contains the text: its name, its variant ("White"), or both as the tag writes them ("Washer · White")SKU and transfer number don't match. Searches only the 50 loaded. Returns to page 1
X (clear filter)Inside the filter boxClears the filterOnly when the box has text
Clear filter (link)Empty resultClears the filterShown with "No transfers match "…""
Transfer rowListClick anywhere to open Transfer Details—
Row contentsEach rowFrom → To location chips, date and time, "N products, M items", up to 3 product tags and "+N more", the reason in italics (first 60 characters), and bottom right the transfer's TRF number and a status badgeA product moved as a variant has its variant in its tag, for example "Washer · White", so two variants of one product are two tags. A transfer with no TRF number shows the last 6 characters of its internal ID instead. The reason line is hidden when blank or exactly "Inventory Transfer". The badge normally reads DELIVERED. Locations that were later deleted still show their names
Previous (left-arrow icon) / Next (right-arrow icon), "Page X of Y"Panel footerMoves between pages of 5Only with more than one page. Greyed out at the ends
Retry (circular-arrows icon)Error stateReloads the listAfter "Failed to load recent transfers. Please try again."
"Loading recent transfers..." / "No recent transfers found" with "Transfer orders will appear here once created"Panel bodyLoading and empty states—
Dialog: Move N units (M products) from … to …?

Opened by Submit. Nothing has moved while it is open.

ControlWhereWhat it doesNotes
Title "Move N units (M products) from … to …?" (two-arrows icon)HeaderNames the total units, the number of products, and the From and To locations"1 unit (1 product)" for a single unit. Locations show by name
"Stock moves at once — to undo it, transfer it back."Under the titleSays what Post transfer doesA transfer can't be cancelled or reversed. A transfer back may return different serialized units, and both locations keep their blended average cost
Line listBodyEach product's name, SKU and "× quantity", in the order of Transfer ItemsExactly what Post transfer sends
Red message boxAbove the buttonsWhy the transfer could not be posted, for example "Insufficient stock for product …"The review stays open. The message clears when you post again or close the review
CancelFooter, leftCloses the review and goes back to the form, with everything still filled inHas the focus when the review opens. Greyed out while posting
Post transfer (two-arrows icon; "Posting..." with a spinner)Footer, rightMoves the stock (see "What Post transfer records" in Tab: Transfer) and opens Transfer Created SuccessfullyGreyed out while posting. Pressed again after a lost connection, the same transfer is not posted twice: the store returns the one already recorded. Change anything on the form and it is a new transfer
X (close) / Esc / click outsideDialogSame as CancelDoes nothing while posting
Dialog: Transfer Created Successfully
ControlWhereWhat it doesNotes
Title "Transfer Created Successfully" (green check), "Your inventory transfer has been processed."HeaderConfirms the stock has movedOpens right after Post transfer succeeds, in place of the review. The form is already cleared
Order Number, Transfer ID, From, To, Items, StatusBodyOrder Number is the TRF number. Items is the number of productsStatus is the status the transfer was saved with, DELIVERED, the same as Recent Transfers and Transfer Details show
ContinueFooterCloses—
X (close) / Esc / click outsideDialogCloses—
Dialog: Transfer Details
ControlWhereWhat it doesNotes
Title "Transfer Details", "View and edit transfer order information"HeaderOpened from a Recent Transfers row"Loading transfer details..." while loading
Summary card: TRF number, status badge, From:, To:, Created:, Total Items:, Total Value:, Movements:BodyTotal Items is the total quantity moved, not the number of products. Total Value = quantity × the product's cost price as it was on the transfer form. The stock itself moves at the From location's average cost (see Stock Movements). Movements is normally 2 per lineDELIVERED shows a tick
Transfer Notes card, Edit (pencil icon)Card headerTurns on editing for the two fields below—
Transfer Reason ("Why was this transfer made?")Notes cardEdits the reasonOptional. View mode shows "No reason specified" when blank
Internal Notes ("Internal notes for this transfer...")Notes cardEdits the internal notesOptional. View mode shows "No notes" when blank
Cancel (X icon)Card header, edit modeRestores the saved valuesGreyed out while saving
Save (disk icon; spinner)Card header, edit modeSaves the reason and notes, reloads the dialog and refreshes Recent TransfersOnly the notes can be edited. Items, quantities and locations can't, and a transfer can't be cancelled or reversed. On failure: "Failed to update transfer notes. Please try again."
Items (N) tabTabsTable: Product (name, with the variant for a line moved as one, for example "Washer · White", and SKU), Quantity, Unit Price, TotalThe variant is read from the stock record the line moved, so two variants of one product are two named lines ("No variant" for stock kept without one beside a variant). Unit Price is the product's cost price as it was on the transfer form, not a selling price. Empty: "No items found"
Stock Movements (N) tabTabsTable: Type ("Transfer Outbound" with a red down arrow, "Transfer Inbound" with a green up arrow), Product (with the variant of the record it moved, as on the Items tab), From → To, Quantity, Previous, New, Unit Cost, Total, DatePrevious and New are On Hand before and after. Unit Cost is the From location's average cost the stock moved at (the product's cost price only when the From location had no cost), and Total is Unit Cost × quantity. Some older transfers show Available quantities and the product's cost price here instead. Empty: "No stock movements found"
X (close) / Esc / click outsideDialogClosesUnsaved note edits are lost. The next Transfer Details you open starts in view mode, showing that transfer only: edit mode, a half-typed note and any error message are all cleared when the window closes
Tab: Count

From top to bottom: the blue guide box, Scan counts, Recent Count Sessions, the red error banner (when there is an error), then the New Count Session card with the location, search, session buttons and the Bulk Items and Trackable Items tables. Saving a bulk count does not change stock: End Session does, after you confirm. Save Status on a serialized unit changes stock at once.

ControlWhereWhat it doesNotes
Guide box "How to Perform Inventory Counting:"Top of tabSeven tips: scan with a barcode scanner through Start scan count, start a session with Start Count Now, find an item with the "Search items to count..." box, Count a row to record what you counted, review the highlighted variances, then "End Session: Review what will change and confirm. Each product's latest count is applied to its On Hand at that moment", and add notes as you goEvery tip names a control that is on this tab
"Loading organization context..."Whole tabShown until the app identifies your storeIf it doesn't go away, sign out and back in
Recent Count Sessions card (calendar icon), "Page N"Below Scan counts (or the guide)The 3 latest sessions across all locations, newest firstHidden until the store has started a session. The location isn't shown. A session you just started doesn't appear here until you click Refresh, end it, or come back to the tab
Session rowRecent sessionsStatus badge (ACTIVE green, others grey), session name, "Started: …" and "• Ended: …", "N items counted", "N variances"A typed count's CANCELLED row is a count that was merged into another count running at the same location: everything counted in it was moved onto that count, so nothing was lost. A scan count's CANCELLED row is a scan count someone ended with Cancel count. A typed count opens only once COMPLETED: it shows View Details (eye icon) and opens the session details, and its ACTIVE row does nothing. A scan count's row opens at any status (see Scan badge). A row that opens can also be reached with Tab and opened with Enter. The two counts are filled in when the session ends: they read 0 while it is active, and on some older sessions. View Details shows the records
Scan badgeSession rowMarks a scan countA scan count's row opens its scan screen while it runs, and its report once it ended
Previous / NextRecent sessions headerPages of 3Only with more than one page
Scan counts card (scan icon)Below the guide, above the Recent Count SessionsThe 10 latest scan counts: Running, Posted or Cancelled, the name, location, start time and who posted, with the accuracy and shrinkage of a posted oneHidden once it has loaded and the store has no scan count. While loading it shows grey bars; if the list can't load it says "Scan counts could not be loaded." with Try again. A row opens the count: Resume while it runs, the report once it ended
Red error banner (warning icon) with DismissAbove New Count SessionShows tab-level problems: your store couldn't be identified, or the Bulk Items and Trackable Items lists couldn't load. Dismiss hides itThose two are all it shows. Refusals from Start, Save Count, Save Status and View Details are shown inside their own dialog instead
"Please select a location to begin counting inventory."Above New Count SessionReminderOnly when no location is selected. Rare, because the first active location is preselected
New Count Session card (calculator icon)Main cardHolds the count controls and both tablesThe title stays the same while a session is active
Location dropdown ("Select location")Card toolbar, leftChooses the location to count. Reloads both tables and looks up that location's active sessionActive locations only. Sessions belong to one location, so switching can show a different session or none
Search box ("Search items to count...")Card toolbarFilters both tables as you type. Bulk Items: product name or SKU. Trackable Items: product name or SKU, serial number or unit barcodeReturns both tables to page 1
Start scan count (scan icon)Card toolbar, rightOpens Start scan count. See Scan CountingOnly when the location has no active session. Greyed out with no location or while loading
Start Count Now (calculator icon, outlined)Card toolbar, rightOpens Start New Count SessionOnly when the location has no active session, as this tab last read it. Greyed out with no location or while loading. If somebody started the count after this tab loaded, the button is still here and Start refuses it
Session Active (…) badge (clock icon)Card toolbarNames the active session at this locationOnly while a typed session is active here
Scan count running (…) badge and Resume scan countCard toolbarA scan count is running at this location; Resume scan count opens its scan screenShown instead of End Session. The Count buttons stay greyed out: a scan count is counted by scanning
End Session (red)Card toolbarOpens End count session and update stock?, which lists what will change. Nothing changes until you click Post counts thereOnly while a session is active. Greyed out while loading or posting. Anyone in the store can end any session. See Dialog: End count session and update stock?
Refresh (circular-arrows icon; spins while loading)Card toolbarReloads locations, the active session, recent sessions and both tablesGreyed out while loading
Bulk Items sub-card (box icon), "Page N"Inside the cardOne row per stock record at the location, including those with 0 On Hand. Columns Product (with "Variant: …" under the name for a record of a variant, "No variant" for a record without one beside another record of the product, and "record 1 of 2" where two records share one), Actions, SKU, On Hand Qty, Available Qty, Reserved Qty, Status. 20 per pageEach page is in alphabetical order by product name, but the alphabet restarts on every page, so use the search box to find one product. On Hand is the full quantity, including serialized units (unlike Search's Bulk Items). Reserved is stock held for open orders plus damaged-return holds, the same figure every other inventory screen shows
Count (calculator icon)Bulk Items, Actions columnOpens Count Item - Adjust Stock Levels for that rowGreyed out until a session is active at this location, and while loading
"Variance: ±N" under the product, "→ N" under On Hand, Available and ReservedBulk Items rowThe count saved in this session (the latest one, if the row was counted again). Green means more than the On Hand when counted, red means lessRight after saving, all three "→" values show (Available and Reserved repeat the system value). After a refresh the Variance line, "→ N" under On Hand and the status remain
Status badge pending, counted, variance, adjustedBulk Items, Status columnpending = not counted in this session. variance = counted with a difference (yellow). counted = no difference (green). adjusted = applied at End Session (blue)Counting the row again replaces the count and updates the badge
Previous / Next, "Page N"Under the Bulk Items tablePages of 20Only with more than one page
"Loading bulk items..." / "No bulk items found" / "No items match your search"Bulk Items sub-cardLoading and empty states—
Trackable Items sub-card (scan icon), "Page N"Inside the cardSerialized units at the location with status Available or Not Available. Columns Product, Actions, SKU, Serial Number, Condition, Status. 20 per pageEach page is in alphabetical order by product name, restarting on every page. Reserved, sold and scrapped units are never listed. A unit marked Not Available stays listed, so you can switch it back. Condition badge NEW green, USED blue, others grey
Count (calculator icon)Trackable Items, Actions columnOpens Confirm Item Availability for that unitGreyed out until a session is active, and while loading
Previous / NextUnder the Trackable Items tablePages of 20Only with more than one page
"Loading trackable items..." / "No trackable items found in inventory." with "Individual items with serial numbers, batch numbers, or specific tracking requirements will appear here." / "No trackable items match your search."Trackable Items sub-cardLoading and empty states—
Dialog: Start New Count Session

Fields:

FieldRequiredDefaultRules and error text
Session NameNo"Count Session" followed by your computer's current date and time, filled in as the dialog opensClear it to type your own name. Left empty, the session is still named "Count Session" and the date and time
Description (optional) ("Describe this count session...")NoEmptyBlank saves "Physical inventory count session". It isn't shown anywhere on this page afterwards

Buttons:

ControlWhereWhat it doesNotes
Title "Start New Count Session" (calculator icon)HeaderOpened by Start Count Now—
"Location: …" (blue info box)Body, topThe location chosen on the tabCan't be changed here. Close the dialog and change the tab's location dropdown
CancelFooterClosesTyped text is kept for the next time the dialog opens
StartFooterCreates an ACTIVE session for the location and closes the dialog. No stock changesOn a refusal the dialog stays open and shows the reason in a red box above its buttons, for example "Please select a location before starting a count session". It stays while the dialog is open, and the next time you open the dialog it is gone, so you are never shown a problem you have already dealt with. If a count is already running here, the reason reads "A count session is already running at this location. Select Cancel to carry on with it." — closing the dialog puts you in that session, with its name in the Session Active badge
X (close) / Esc / click outsideDialogCloses—
Dialog: Count Item - Adjust Stock Levels

Opened by Count on a Bulk Items row. Fields:

FieldRequiredDefaultRules and error text
On Hand QuantityYesThis session's saved count for the row, otherwise the system On HandWhole numbers 0 or more. Decimals are dropped, and anything that isn't a number becomes 0. Any number can be saved, including the system On Hand
Notes (Optional) ("Add any notes about this count (damages, discrepancies, etc.)")NoEmptyShown later in the session details, Notes column

Buttons and read-only parts:

ControlWhereWhat it doesNotes
Title "Count Item - Adjust Stock Levels" (calculator icon)Header——
Product name, "SKU: …"Body, topIdentifies the stock record—
"Stock Level Fields:" boxBody"On Hand: Total physical inventory — the only value you count here"; "Available: Sellable quantity, derived by the system from On Hand minus Reserved when the count is posted"; "Reserved: Stock held for open orders, plus any damaged-return holds (managed by orders and returns, not by counts)"The Reserved number matches the Reserved column on the tab behind the dialog
− (minus icon)Next to On HandCounted −1, not below 0—
+ (plus icon)Next to On HandCounted +1—
"System: N"Beside the boxThe current On Hand—
"Variance: ±N" (yellow warning)Under the boxThe live differenceOnly when the counted number differs
Available (system) "Derived on post — not counted" and Reserved (system) "Held for open orders and returns — not counted"BodyRead-only contextReserved is stock held for open orders plus damaged-return holds
"Variance Detected" box: "On Hand: A → B (±N)"BodySummary of the differenceOnly when there is a difference
CancelFooterCloses without savingGreyed out while saving
Save Count (disk icon; "Saving...")FooterSaves the count for this row in the session, replacing any earlier count of the row. The system number it is compared with is the row's On Hand at the moment you save. Stock doesn't change until End SessionOn a refusal the dialog stays open and shows the reason in a red box above its buttons. It stays while the dialog is open, and the next row you open starts clean
X (close) / Esc / click outsideDialogCloses without saving—
Dialog: Confirm Item Availability

Opened by Count on a Trackable Items row.

ControlWhereWhat it doesNotes
Title "Confirm Item Availability" (scan icon)Header——
Product name, "SKU: …", "Serial #: …", "Current Status:" badgeBody, topIdentifies the unit—
Amber note "This item is …. Reserved, sold, used, or scrapped units are managed through their order and stock movements and can't be toggled here."BodyExplains why Save Status is greyed outOnly when the status shown in the table is something other than Available or Not Available. The table lists only those two, so you normally won't see it. If the unit changed after the table loaded, the dialog still shows the old status and Save Status is refused instead (see Messages)
Item Availability Status switchBodyOn = Available (green check). Off = Not Available (red X). Hint: "Toggle to confirm whether this item is available in inventory"Starts On for an Available unit
"Status will be updated to: Available. If marking it Not Available lowered On Hand, On Hand at this location goes back up by 1 as soon as you save." or "Status will be updated to: Unavailable. On Hand at this location goes down by 1 as soon as you save." (blue)BodyPreview of the changeOnly when the switch differs from the current status
CancelFooterCloses without savingGreyed out while saving
Save Status (disk icon; "Saving...")FooterChanges the unit's status and the stock at once. Not Available lowers On Hand and Available for the product at this location by 1. On Hand never goes below 0; Available goes below 0 when the units left are promised to orders, which is the shortfall the Audit lists for review. Switching the unit back to Available raises them by 1 again only when marking the unit Not Available lowered them. A unit set Not Available while On Hand was 0, a unit at a location whose stock has been reset since, and some older Not Available units switch back with no stock change. Each change is recorded as its own movement, tied to the session. Nothing waits for End Session, and saving with the switch unchanged changes nothingGreyed out while loading, and when the amber note shows. The unit's current status is checked again when you save, and a refusal such as "Cannot change availability of a reserved item…" is shown in a red box inside the dialog, above its buttons. Marking three units of one product Not Available lowers On Hand by 3. The Bulk Items numbers reload after each save
X (close) / Esc / click outsideDialogCloses—
Dialog: End count session and update stock?

Opened by End Session. It checks what posting would do right now and lists it before anything changes.

ControlWhereWhat it doesNotes
Title "End count session and update stock?" (warning icon)Header——
"Each product's latest saved count is applied to its On Hand now. Sales, receipts, transfers and unit changes made since a count was saved are kept. This can't be undone."Body, topExplains what posting does—
"Checking what will change..."BodyShown while the list loadsPost counts is greyed out until it has loaded
Amber note "Stock moved since you counted one product" (or "… N products"). "The difference you counted is applied to On Hand now, so those changes are kept."BodyWarns that stock changed after some rows were countedOnly when a row that will change was counted before its On Hand moved
Amber note "Not applied: … This product was counted again after you counted it — in another count session, by a stock reset, or by marking a trackable unit Available or Not Available — so its On Hand stays as it is. Count it again in a new session if needed." (plural wording for several products)Body, above the tableNames the products End Session will skipOnly when the product was counted again after this session counted it: another session posted a count for it, stock was reset, or one of its trackable units was switched between Available and Not Available. Each of those already changed On Hand from a fresh look at the shelf, so applying this count on top would repeat it. The skipped count is kept and marked superseded
Table: Product, Counted, On Hand when counted, On Hand now, On Hand after with the change in bracketsBodyOne row per product whose On Hand will changeOn Hand after = On Hand now + (Counted − On Hand when counted). A shortfall stops at 0 and never raises a product that is already below 0. A row marked "Stock moved since you counted" (amber) had a sale, receipt or transfer after it was counted. A product that was counted again after you counted it — in another session, by a stock reset, or by marking one of its trackable units Available or Not Available — isn't in the table at all (see "Not applied")
"N products will change. M counted products already match stock."Under the tableSummaryProducts whose count matches stock are left as they are
"No On Hand will change: every saved count matches stock, or nothing was counted. Ending the session only closes it."BodyInstead of the tablePost counts still ends the session. Reads "Nothing else changes: the other saved counts match stock. Ending the session only closes it." when the "Not applied" note shows
Red box with a messageBodyLoading or posting failedSee Messages
CancelFooterCloses. Nothing changes and the session stays activeGreyed out while posting. X, Esc and clicking outside also close it, except while posting
Post counts (red; "Posting...")FooterFor each counted row, applies the change shown, records an "Inventory count adjustment" movement with the before and after On Hand, books the change in your journal — a shortfall as "Inventory count - shortfall written off" (Dr Inventory Write-Offs, Cr Inventory), extra stock as "Inventory count - stock found" (Dr Inventory, Cr Inventory Write-Offs), valued at the stock record's average cost, else its last cost, and nothing for goods with no cost — marks each changed row's count adjusted, and marks the session COMPLETED with its items-counted and variances figures. Available becomes On Hand minus stock held for orders and reserved stock, below 0 when you counted fewer than are promised: that shortfall stays in view, and Inventory → Snapshot → Audit lists it for review under Over-reservation rather than as a mismatch to fix. The page then reloads its stock and clears the search boxOnly the latest count of each row is used; an older count of the same row is kept and marked superseded. A row counted in another session or reset after this count is skipped (also marked superseded), checked again as it posts, so two sessions posting at the same moment don't both apply. If a lower count leaves fewer Available than there are Available serialized units at the location, the extra units are marked Scrapped, oldest first, never more than the count removed. A higher count never brings units back. If someone else ends the session first, posting is refused and nothing is applied twice. Clicking again after a dropped connection doesn't post twice
Dialog: Session details

Opened by View Details on a completed session. The title is the session name followed by " - Details".

ControlWhereWhat it doesNotes
Title "… - Details" (calendar icon)HeaderNames the session—
Summary: name, "Completed session", "Started: … • Ended: …", "N items counted", "N variances", "Value: $X"Body, topSession facts"Items counted" is the number of rows counted and "variances" the number whose count differed. Both read 0 on some older sessions. The Value chip is hidden
Red box with RetryBody, in place of the Count Records tableShown when the records couldn't be loaded, with the reason. Retry reads them againThe dialog opens before the records load, so a failure shows here rather than on the tab behind
Count Records table: Product, SKU, On Hand, Available, Reserved (each "before → after" with the difference), Status, NotesBodyOne row per counted product, latest count first, with the values captured when the count was saved. Some older sessions show several rows for one product: the one used is adjusted, the older ones superseded. A count that End Session skipped because the product was counted in another session, or reset, afterwards is also supersededAvailable and Reserved always show no change, "(0)", because only On Hand is counted. Reserved is the figure the Count tab showed when the count was saved. Save Status adds no rows here, because it changes stock straight away. Some older sessions show rows from it, with today's stock numbers and Notes "Trackable item status changed: AVAILABLE → UNAVAILABLE (Serial: …)", where the "Serial" is an internal ID, not the serial number. A spinner shows while loading. Empty: "No count records found for this session"
CloseFooterCloses—
X (close) / Esc / click outsideDialogCloses—
Sub-pages
PageWhat it isHow you get thereNotes
/inventory/management/demoRead-only demo with a guided tourDemo in the headerSee the Demo mode panel
/inventory/transferThe Transfer tab as its own page (header "Transfer", tag "Live System")Shortcuts → Transfer InventoryWorks like the tab
/inventory/countThe Count tab as its own page (header "Inventory Count", tag "Count System")Shortcuts → Count InventoryWorks like the tab
/inventory/searchThe Search tab as its own page (header "Inventory Search", tag "Search System")Address only. Shortcuts → Search Inventory opens this Management page insteadWorks like the tab
Settings → LocationsWhere you add, edit and activate locationsLocation Management on the Transfer tabSame browser tab. See Settings
Count or Transfer tab in a new browser tabThis page opened on that tabCount Session link in the Bulk Item dialog, Transfer link in the Trackable Item dialog—

On the three stand-alone pages, the breadcrumb at the top is plain text, not links. Use the sidebar to move on.

Messages you may see
MessageWhen it appearsWhat to do
"Please enter a search term" / "Please enter at least 3 characters to search"Search tab. Normally not seen, because Search and Enter need 3 charactersType at least 3 characters
"Organization is not resolved. Please sign in again."Search tab, when the app can't identify your storeSign out and back in
"Search Error" card with other textA search failedTry again and check your connection
"No results found" / "Try adjusting your search terms or search type"Nothing matchedTry fewer characters, or another type. Only active products are found
"Success" / "Inventory item updated successfully"Trackable Item saved—
"Error" / "Failed to update inventory item"Trackable Item save failed without a reasonTry again
"Error" / "Only Available and Not Available can be set here. Reserved and sold units follow their order."Trackable Item save with a status other than Available or Not AvailableLeave the status as it is and handle the unit through its order
"Error" / "Your other changes were saved, but the status was not changed: …"Trackable Item Save with other edits and a status change: the edits were saved, then the status change was refused (the reason follows)Check the reason. For a unit an order holds, handle it through its order; otherwise click Edit and change the status again
"Write off this unit (…)? Its status becomes Scrapped and On Hand at this location drops by 1. The unit stays on file and is not erased." (browser prompt; for a unit shown HELD OFF SALE it adds "It comes out of the stock held off sale, so Available does not change.")Trackable Item → Write offOK writes the unit off. Cancel stops
"Unit written off" / "… is now Scrapped. On Hand dropped by 1."The unit was written off—
"This unit was already gone" / "… is no longer on file at this store, so nothing changed. The list has been refreshed."Somebody else wrote the unit off, or moved it, while this window was openNothing was written and On Hand did not move. The card leaves the results; search again to see the unit as Scrapped
"Error" / "This unit is reserved, sold or already written off, so it is managed through its order — it can't be written off here."The unit isn't Available (reserved, sold, damaged, not available…)Handle reserved or sold units through their order. For damaged or missing units, correct stock with a count
"Error" / "This unit is no longer held off sale: it was put back on sale, sold or written off since you searched, so nothing was written off. Search again to see where it stands."Write off on a unit the search showed HELD OFF SALE, which changed sinceSearch again: a unit put back on sale is written off as an Available one; a sold one is handled through its order
"Error" / "Could not write this unit off. Please try again."A connection error, or a refusal that carried no reasonTry again
"Are you sure you want to delete this product?" (browser prompt)Product details → DeleteOK continues to the checks
"Cannot delete product" / "This product is linked to existing … Please resolve or archive the product instead." (lists inventory, stock on hand, procurement orders, sales orders)Product delete blockedProducts that ever had stock or orders can't be deleted. Switch Active off in Edit instead (see Catalog → Products)
"Product deleted" / "… has been deleted."Product archived—
"Failed to update product. Please try again." (browser alert)Product details → Save failedTry again. The edit-mode checks are covered in Catalog → Products
"Delete failed" / "Could not remove product variants." or "Failed to delete product. Please try again."Product delete errorTry again
"Failed to load locations. Please try again."Transfer tab couldn't load locationsReload the page
"No locations available"The From or To list has no active locationsAdd or activate a location in Settings → Locations
"Failed to search products. Please try again."Transfer product search failedTry again
"N products added. M skipped (already in transfer or no stock)"Add Selected skipped some products. Clears after 5 seconds—
"Product is already added to the transfer" / "No available stock for this product at the selected location" / "Please select at least one product to add"Transfer safeguards. Normally not seen, because those buttons are greyed out—
"Organization ID not found. Please ensure you are logged in with proper organization access."Post transfer couldn't identify your store. Shown in the transfer reviewSign out and back in
"Insufficient stock for product …: available=N, requested=M"Post transfer, shown in the transfer review: stock at the From location is now lower than the quantityLower the quantity, or remove the product and add it again. The product appears as an internal ID, not its name
"No stock level found for product … at source location …"Post transfer, shown in the transfer review: the product has no stock record at the From location (for a named variant, none for that variant)Pick another From location
"… is stocked at … as more than one variant (…), so which one to transfer is not clear. Pick the variant on the transfer line."Post transfer for a line that names no variant, while the product has stock free at From as two or more variants. The Transfer tab names the variant on every line, so this comes from a line built elsewhereSearch for the product again and add the variant's row
"The stock picked for product … is not at the source location …. Search for the product again." / "The variant named for product … is not the variant of the stock picked for it. Search for the product again."Post transfer: the stock record a line was picked from is not at the From location any more, or the line names another variantRemove the line, search for the product again and add it
"variant … is not a variant of product …"Post transfer for a line naming another product's variantSearch for the product again and add the variant's row
"Source and destination locations must be different"Server check. The screen normally prevents itPick different locations
"source location … not found in organization" / "destination location … not found in organization" / "product … not found in organization"A location or product was deleted meanwhileReload the page and pick again
"Transfer Created Successfully" / "Your inventory transfer has been processed."Transfer postedNote the Order Number (TRF-…)
"Failed to load recent transfers. Please try again."Recent Transfers couldn't loadClick Retry
"No recent transfers found" / "Transfer orders will appear here once created"No transfers yet—
"No transfers match "…""The Recent Transfers filter found nothingThe filter matches product names and variants only, not SKUs or transfer numbers. Click Clear filter
"Loading transfer details..."Transfer Details is loadingWait
"Failed to load transfer details. Please try again."Transfer Details couldn't loadClose and reopen it
"Failed to update transfer notes. Please try again."Saving notes failedTry again
"No reason specified" / "No notes"Transfer Details, empty fieldsClick Edit to add them
"Loading organization context..."Count tab, before it identifies your storeIf it stays, sign out and back in
"Failed to load inventory data" (or a database message)Count tab couldn't loadClick Refresh
"Please select a location before starting a count session"Starting a session with no locationPick a location
"A count session is already running at this location."Start, when somebody has already started the count here (or this tab has been open a while)Select Cancel. The count already running is opened for you; the Session Active badge names it
"The location this count is at is not one of your store's. Pick one of your own locations and start the count again."Start, when the count names a location that belongs to another store — normally only a program starting the count, since the picker lists your own locations. No session is startedPick one of your own locations
"Failed to start count session" / "Failed to create count session" (or a database message)Start failedTry again
"Failed to post count session" / "This count session has already been ended."In the End Session dialog: posting failed, or the session was already ended in another browser tab or by someone else (nothing is applied twice)Close the dialog and click Refresh
"Could not check what End Session will change." / "Count session not found"In the End Session dialog, when the list can't loadClose the dialog and try again. Post counts stays greyed out until the list loads
"No active count session or selected item"Save Count or Save Status without an active session, for example after someone else ended itClick Refresh and start a session
"Failed to save count. Please try again."Save Count failedTry again
"This count session has ended. Start a new session to count again."Save Count or Save Status after the session was ended, for example in another browser tabClick Refresh and start a session
"Enter a count of 0 or more." / "This product has no stock record at the location being counted."Save Count refusedEnter a whole number. For the second, click Refresh
"Cannot change availability of a … item. Reserved, sold, used, or scrapped units are managed through their order and stock movements."Save Status, or Save in the Trackable Item dialog, on a unit an order holds (its status changed after the screen loaded)Handle the unit through its order
"Inventory item not found" / "This unit is not at the location being counted."Save Status or Trackable Item Save errorsClick Refresh. The unit may have moved or been deleted
"There is no stock record for this product at the unit's location."Save Status or Trackable Item Save on a unit whose product has no stock record at the location the unit sits at, so there is nothing for the switch to add to or take fromReceive or transfer some of that product into the unit's location, or move the unit to a location that already stocks it, then switch it
"Failed to update the unit. Please try again." / "You are not an active member of this store."Save Status or Trackable Item Save failedTry again. The second means your login has been switched off
"Failed to load session details"View Details couldn't load. It shows inside the Session details dialog, in place of the recordsClick Retry in the dialog
"403 - Forbidden" / "You do not have permission to view this page. Contact your organization owner."The owner hid Management from this user's menu. It shows on this page and on the separate Transfer Inventory, Count Inventory and search pages. The demo still opensAsk the owner to show it again
"Loading..."Page access check in progressWait
Who can use what
CapabilityWhoNotes
Open the page and use every tab, dialog and buttonEvery team member who can open the pageNo role checks. Anyone can search, edit or write off units, edit or delete products (subject to the stock check), post transfers, edit transfer notes, and start and end count sessions, including one someone else started
Plans, add-ons and feature switchesNot applicableNothing on this page depends on your plan, an add-on or a switch
Menu accessOwner decidesIn stores with more than one active member, the owner can hide Management per team member, who then sees "403 - Forbidden" here and on the separate pages opened from Shortcuts → Transfer Inventory and Count Inventory (those cards disappear too). Owners and a store's only active member are never blocked. See Team
Link / Refresh from catalogAppliance stores (business type Appliance Retail or Appliance Services)In the product details window. Hidden for other business types
DemoEveryone—
Demo mode (/inventory/management/demo)
  • Open it: click Demo (Play icon, amber) in the page header, right.
  • Header: "Inventory Management — Demo", subtitle "Sample inventory management populated with demo data. All actions are disabled."
  • Banner: "Demo mode — inventory management is populated with sample data. All actions are disabled." (eye icon), with Take a Tour (question-mark icon) at its right end, which restarts the tour from step 1.
  • Sample data: chosen to match your business type (Appliance, Furniture, Electronics, Liquidation, Apparel, HVAC, Plumbing or Appliance Services, with Electronics as the fallback), each with two locations and five products. None of your real stock is shown.
  • Still works: the three tabs, Exit Demo Mode, Take a Tour and the tour controls.
  • Disabled: everything inside the tabs. Buttons, dropdowns, tick boxes and text boxes are greyed out or read-only, and cards and rows open nothing.
  • Tour: starts on its own the first time the demo opens. Each step switches to its tab and highlights one area. The card shows dots, "N of 10", Back (from step 2 on), Skip and Next (Got it! on the last step). Keyboard: Esc closes, Right arrow or Enter goes to the next step (Enter on the last step closes), Left arrow goes back. Clicking the dark background closes the tour. Closing resets it to step 1. If a step's target doesn't appear, the tour moves on after a few seconds.
  • Leave: Exit Demo Mode (left-arrow icon, header right) returns to the live page.
#TabTour stepWhat it points at
1SearchTab NavigationThe Search / Transfer / Count tab bar. "Switch between three inventory management views: Search for finding products and stock levels, Transfer for moving inventory between locations, and Count for physical inventory counting."
2SearchSearch ControlsThe search box, type selector, Search and Clear. "Search your inventory by name, SKU, barcode, or serial number. Use the type selector to narrow results to specific categories like Products, Inventory, Barcode, SKU, or Serial."
3SearchSearch ResultsThe Search Results card. "Results are organized into three sections: Products (catalog entries with pricing), Bulk Items (aggregate stock levels by location), and Trackable Items (serialized inventory with condition tracking)."
4TransferTransfer LocationsThe Create New Transfer card. "Select source and destination locations for your inventory transfer. Set "From" and "To" locations, then add optional transfer notes."
5TransferProduct SearchThe Step 2 card. "Search for products available at the source location. Use checkboxes to select multiple products, then click "Add Selected" to add them to the transfer in bulk."
6TransferTransfer Items & SubmitThe Transfer Items card. "Review selected items and adjust quantities with the +/- controls. Each line shows its own total; the summary underneath shows total items, quantity and cost. Submit opens a review of the move, and Post transfer in it moves the stock."
7CountCount SessionsThe Recent Count Sessions card. "View recent count sessions with their status, items counted, and variances found. Click completed sessions to see detailed count records with before/after values."
8CountCount ControlsThe location, search, Start Count Now and Refresh. "Select a location, search for specific items, then click "Start Count Now" to begin a count session. Refresh reloads data from the server."
9CountBulk Items TableThe Bulk Items table. "Count bulk inventory by recording physical On Hand, Available, and Reserved quantities. Click the "Count" button on any row to open the adjustment modal. Variances are highlighted automatically."
10CountTrackable Items TableThe Trackable Items table. "Verify individual serialized items during counting. Click "Count" to confirm availability status. Items are tracked by serial number, condition, and status."

Differences from the live page:

  • The search box is pre-filled with the first words of a sample product and the type is fixed to All (the other types are greyed out). Results are always shown: 5 products, 5 bulk cards and 6 units ("16 total").
  • Location Management is a plain greyed-out button.
  • Recent Transfers shows 3 fixed rows numbered like "TXF-2024-0042", with status COMPLETED and "N items", and no refresh, filter or pages. The live list shows DELIVERED, has a filter, refresh and 5 per page, and TRF numbers appear in Transfer Details.
  • The transfer form is pre-filled (From, To and the notes "Monthly inventory rebalancing between locations"), and the product list shows all 5 products with 3 marked "Already added". There is no × remove column, and Submit is greyed out.
  • The Count guide is one line: "Start a Count Session, then use Quick Scan or Count buttons to record physical quantities." There is no Quick Scan on the demo or the live page.
  • Recent Count Sessions includes a CANCELLED session and non-zero counts, with no pages.
  • There is no Session Active badge or End Session. Start Count Now and Refresh are greyed out.
  • The table headers read "Page 1 of 1 (Total: N)". The live page shows "Page N".
  • The Trackable Items table includes a RESERVED unit and a USED unit. The live table lists Available and Not Available units only.
  • Step 6 mentions "the cost per item": the list shows each line's Total only. Step 9 mentions recording Available and Reserved: only On Hand is counted.
Common questions

I saved counts but stock didn't change. Why? Saving a bulk count only records it in the session. Stock changes when someone clicks End Session on the Count tab for that location and then Post counts. (Marking a serialized unit Not Available is different: it changes stock straight away.)

I clicked End Session by mistake. Can I undo it? End Session only opens the list of changes. Click Cancel and nothing happens. Once you click Post counts there is no undo: the corrections are posted as adjustments. To fix a number after that, start a new session at the same location, count the affected rows again and end that session.

We kept selling while we counted. Will End Session bring sold items back? No. End Session applies the difference you counted to On Hand as it is when you post, so sales, receipts, transfers and unit changes made after a row was counted are kept. Rows whose stock moved since you counted them are marked "Stock moved since you counted" in the End Session list.

After End Session, a product shows Available below 0. Is that a mistake? No. It means you counted fewer than are promised to open orders: for example 3 on the shelf with 5 held for an order leaves Available at −2. Open Audit on Inventory → Snapshot: it lists the product under Over-reservation and names the orders holding it. Receive more stock, free units on one of those orders, or, if the shelf really holds more, count it again. Until then, new sales of it at that location are refused unless you sell it on backorder with Allow Oversell.

I typed the wrong number in a count. How do I fix it? Click Count on the row again and save the right number, even if it equals the system On Hand. It replaces the earlier count, and only the latest count is used at End Session.

Can I cancel or reverse a transfer? No. In Transfer Details you can edit only the reason and the internal notes. To move stock back, post a new transfer in the opposite direction. The transfer review says so before anything moves. A transfer back may return different serialized units, and it leaves both locations' average costs blended.

Where do I find the transfer number? Each row in Recent Transfers shows it, bottom right: TRF-YYYYMMDD-NNNN, dated by your store's own day. It is also in Transfer Details (click the row) and in the Order Number line of the confirmation, whose status reads DELIVERED like everywhere else. Only a transfer with no number shows a 6-character code, the end of its internal ID.

Why doesn't a barcode search find anything? Both All and Barcode search barcodes, and part of a code is enough, so check the code is really on the product or the unit. Only active products are found, so an inactive product carrying that barcode won't show.

What happens when I click Write off on a serialized unit in Search? The unit is written off, not erased. Its status becomes Scrapped, and On Hand and Available at its location drop by 1, below 0 if that is what is left. The 1 comes off the stock record for the unit's own option, the one switching it Available or Not Available would move. A unit a Damaged or Defective return holds off sale (HELD OFF SALE) is written off the same way, except that it comes out of the stock held off sale, so Available does not change. Only those and Available units can be written off. Units an order reserved, and sold units, are refused with "This unit is reserved, sold or already written off, so it is managed through its order — it can't be written off here." and are handled through their order.

I marked the wrong unit Not Available. How do I undo it? The unit stays in the Count tab's Trackable Items list. Click Count, switch it back to Available and click Save Status, or use Search (Trackable Item → Edit → Current Status → Available). Either way, On Hand goes back up by 1 straight away if marking it Not Available lowered it. A unit set Not Available while On Hand was 0, a unit at a location whose stock has been reset since, and some older Not Available units switch back without changing On Hand.

Can two of us count the same location at once? You can both work on the same session, but the location only ever has one. Whoever presses Start Count Now second is told "A count session is already running at this location." and, on Cancel, lands in the session already running. Different locations can be counted at the same time.

Why does On Hand on the Count tab differ from Search's Bulk Items? The Count tab shows the full On Hand, including serialized units. Search's Bulk Items leaves serialized units out.