Skip to content

Inventory


The Inventory module manages the complete lifecycle of physical goods — from purchasing and receiving through storage, allocation, movement, and adjustment. It maintains a real-time picture of what is on hand, where it is located, and what it costs, integrating with the General Ledger for all financial postings.

Key capabilities include:

  • Products — a complete catalog with costing, unit of measure conversion, and GL account assignments
  • Purchase Orders — vendor ordering with line-level pricing and acknowledgement tracking
  • Receiving — both PO-based and standalone receiving workflows
  • Adjustments — ad hoc quantity and cost corrections with reason codes
  • Counts — physical inventory count management and posting
  • Allocations — reserve and pick inventory for sales orders, work orders, and jobs
  • Movement — transfer inventory between locations and pallets
  • Serialized Products — individual unit tracking with serial numbers
  • Budgets and Costing — average, last, or stated cost methods; bulk cost updates

  • Product — A catalog item that can be purchased, stocked, sold, or consumed. Each product has a unique Product ID, belongs to a category, has units of measure for stock/purchase/sale, and is linked to GL accounts (Stock Ledger, Suspense Ledger, and Variance Ledger — all configured per product).

  • Purchase Order (PO) — A formal request to a vendor for products. POs specify quantities, unit costs, delivery dates, and terms. When goods arrive, the PO drives the receiving process — the system compares what was ordered against what was received and handles backorders automatically.

  • Receiving — The process of accepting delivered goods into inventory. Receiving can be done against a PO (most common) or as a standalone receipt. When receiving against a PO, the system creates inventory at the specified location and posts to the GL: debit the product’s Stock Ledger account, credit the product’s Suspense Ledger account. For standalone receiving (without a PO), the credit is posted to the product’s Variance Ledger account instead.

  • Location — A specific bin, shelf, rack, or area in a warehouse where inventory is stored. Every unit of inventory is tracked at a specific location, enabling precise physical counts and efficient picking. Locations belong to buildings.

  • Allocation (Reserve vs. Pick) — Inventory can be reserved (soft-allocated, preventing use elsewhere) or picked (physically staged for use). Sales orders, work orders, and jobs all create demand that drives allocation. Reserving and then picking provides an optional two-step fulfillment workflow.

  • Cost Method — Determines how product unit cost is calculated: Average (weighted average of all purchases), Last (most recent purchase cost), or Stated (manually entered). The cost method affects inventory valuation and COGS calculations across the system.

  • Inventory Adjustment — An ad hoc correction to quantity or cost, posted with a reason code. Adjustments handle shrinkage, damage, found stock, and cost corrections. Each adjustment creates a GL entry to the product’s Variance Ledger account.

  • Serialized Product — An individual unit tracked by a unique serial number. Serialized products enable lifecycle tracking — you can see where (which vendor/PO) a specific unit was received, who it was sold to (customer), and its current location.


Upstream — Where Inventory gets its data:

  • Accounts Payable (Vendors) → Vendors defined in AP are the suppliers for purchase orders. PO vendor terms come from the AP vendor record.
  • Accounts Receivable (Sales Orders) → Sales orders create demand that drives inventory allocation and shipment.

Downstream — Where Inventory sends its data:

  • Accounts Payable → PO receipts generate vendor invoices in AP. The received cost flows to the invoice distribution.
  • Accounts Receivable → Shipments fulfill sales order lines and move stock out of its picking location. The COGS entry (debit the product’s Cost Ledger account, credit the product’s Stock Ledger account) is created when the sales invoice is posted, not at shipment.
  • Service (Work Orders) → Material line items on work orders consume inventory. Allocation and picking reserve and move stock for the technician.
  • Job Costing → Material expenses posted to jobs draw from inventory, reducing on-hand and creating cost entries.
  • General Ledger → All inventory transactions post to the GL: receivings (debit Inventory, credit Suspense), adjustments (debit/credit Variance), shipments (debit COGS, credit Inventory), and movements between locations.

Key Integration Point — Product Catalog: The product record is the shared reference across modules. A single product like “3/4-in Copper Elbow” appears on purchase orders (buying from FastPipe Supply), in warehouse locations (stored at BIN-A12), on work orders (used by a technician), on sales orders (sold to a customer), and in job cost postings (material expense on a job). The product’s GL accounts and cost method ensure consistent financial treatment everywhere.


Navigation: Inventory → Dashboard

The dashboard provides a visual summary of inventory activity and value using nine charts and metrics.

ChartTypeDescription
Inventory ValueMetric (number)Total current dollar value of all inventory on hand
PO Value Trend ($)Line chartDollar value of purchase order receivings over time, by received date. Zoom and navigator controls enabled.
Inventory Adjustment ReasonsBar chartCount of adjustments grouped by reason code
Top 10 Used Products by CostHorizontal barThe ten products with the highest total usage cost (combined work orders and jobs). Click a bar to open the product.
Top 10 Used Products by CountHorizontal barThe ten products with the highest usage quantity (work orders + jobs)
Top 10 Received Products by CostHorizontal barThe ten most-received products by dollar cost
Top 10 Received Products by CountHorizontal barThe ten most-received products by quantity
Received Products by CategoryPie chartDollar cost of received products broken down by product category
Aged InventoryTreemapInventory age (in days) over the last 365 days, grouped by category. Larger areas represent older stock.

Navigation: Inventory → Settings (the menu item is labeled “Settings” under the Inventory category; the screen title is “Inventory Settings”)

All fields auto-save when you leave the field.

FieldRequiredDescription
Cost MethodYesHow product costs are calculated: Average (weighted average of all purchases), Last (most recent purchase cost), or Stated (manually entered cost)
Default Ship From BuildingYesThe default warehouse/building used when shipping inventory
Misc. Costs Suspense Ledger AccountYesGL account for miscellaneous cost suspense entries during receiving
Misc. Costs Variance Ledger AccountYesGL account for miscellaneous cost variance entries

The lower card contains tabs for managing the reference data used throughout the module. Visible tabs depend on your permissions.

TabDescription
Product CategoriesHierarchical product category tree (used for reporting and filtering)
Product TypesProduct type classifications
Units of MeasureUnit of measure definitions including type (Discrete, Volume, Weight) and conversion factors
Pricing MatrixProduct markup matrix entries for sale pricing
Post Adjustment ReasonsReason codes required when posting inventory adjustments
LocationsWarehouse bin/shelf/location definitions
Location TypesCategories of locations (e.g., Rack, Bin, Floor)
Stock CodesStock status codes assigned to products
BuildingsWarehouse building definitions
NMFC ClassificationsNational Motor Freight Classification codes for shipping

Navigation: Inventory → Products

The search screen displays all products in a searchable, paginated list.

Columns:

ColumnDescription
Product IDThe system-assigned product code (humanId)
DescriptionProduct name
  • Type in the Search for a Product field to filter results in real time (full-text search).
  • Click any row to open the product’s View screen in a new tab.
  • Click the Edit icon on a row to go to the Edit screen (requires update permission).
  • Click the Delete icon on a row to delete the product after confirmation (requires delete permission).
  • Click the + icon in the column header to create a new product (requires create permission).

Search filters: The advanced search (activated by pressing Ctrl+F while focused in the product search field) allows filtering by additional attributes beyond the basic text search.


The create/edit product form is laid out as several columns of fields side by side, followed by rows of checkboxes and Notes / Purchasing Notes / Custom Fields sections. (The tabbed layout for related data appears on the read-only View Product screen, not the edit form.)

FieldRequiredDescription
Product IDYes (on create)The product code (humanId). Entered manually when creating a product and must be unique; read-only on edit.
DescriptionYesProduct name (no enforced character limit found in the form)
Product TypeNoOptional classification type
CategoryYesHierarchical product category (nested path displayed)
Stock CodeYesThe stock status code for this product
FieldRequiredDescription
Stock Unit of MeasureYesThe base unit in which on-hand quantity is tracked
Purchase Unit of MeasureYesUnit used on purchase orders (must match Stock UOM type). Requires Stock UOM to be set first.
Sale Unit of MeasureYesUnit used on sales orders (must match Stock UOM type). Requires Stock UOM to be set first.
Weight Unit of MeasureYesUnit for weight measurement (must be a Weight-type UOM)
FieldRequiredDescription
WeightNoProduct weight (min 0)
DensityNoProduct density (min 0)
FieldRequiredDescription
Reorder PointNoQuantity at which a suggested order is triggered: the suggested-order process flags the product when on-hand falls to or below this value (min 0).
Max on HandNoMaximum quantity to stock (min 0). The suggested-order process orders enough to bring stock up to this level (max on hand minus current on-hand), rounded up to the Minimum Pack size.
Minimum PackNoMinimum order pack size; suggested order quantities are rounded up to whole multiples of this value (min 0)
Lead Time DaysNoNumber of days from order to receipt (min 0)
Safety DaysNoNumber of buffer days of stock to maintain (min 0)
FieldRequiredDescription
Material CostNoMaterial component of unit cost (min 0)
Packaging CostNoPackaging component of unit cost (min 0)
Computed CostNoTotal unit cost, read-only and computed as Material Cost + Packaging Cost. This value is used as the product’s stated cost when the org-wide Cost Method is set to Stated.
FieldRequiredDescription
Commission RateNoSales commission percentage for this product (min 0)
FieldRequiredDescription
Manufacturing ProcessNoFree-text description of how the product is made
OriginNoCountry or region of origin
UsagesNoDescription of common applications or uses
FieldRequiredDescription
Inventory Ledger AccountYesGL account for on-hand inventory value (the product’s Stock Ledger)
Suspense LedgerYesGL account for in-transit / suspense entries
Variance LedgerYesGL account for cost variances
Override Sale LedgerNoIf set, overrides the default GL sales account for this product
Override Cost LedgerNoIf set, overrides the default GL cost account for this product
FieldDescription
Is PurchasedProduct can be purchased from vendors
Is SoldProduct can be sold to customers
Use ContainersProduct is received/stored in containers (enables container quantity tracking)
Requires SerializationEach unit requires a unique serial number
Tracking DisabledDisables location-level inventory tracking for this product
Enforce Limited PurchasingRestricts purchasing to approved vendors only
Enforce Limited SellingRestricts selling to approved customers only
Product Catalog EnabledMakes this product visible in the customer-facing product catalog
Product Catalog Category(Required if catalog is enabled) Catalog category for this product
FieldDescription
NotesGeneral internal notes about the product
Purchasing NotesNotes specific to the purchasing process

Custom fields (configured per your site) appear at the bottom of the form.


When viewing an existing product, the lower section shows the following tabs:

TabDescription
LocationsAll warehouse locations where this product currently has on-hand quantity, with pallet and container details
PalletsPallets containing this product
AllocatedCurrent inventory reservations and picks for this product
Open POsOpen and historical purchase orders for this product
YTDsYear-to-date usage, receiving, and cost summary
LogFull transaction history: receivings, adjustments, moves, usage, shipments
VendorsApproved vendors for this product with per-vendor tiered pricing
Replenishment RulesAuto-replenishment rules by location
AttachmentsFiles and documents attached to this product
BarcodesBarcode values assigned to this product
CustomersCustomers associated with this product (customer-specific pricing or codes)
Units of MeasureUnits of measure defined for this product

Actions dropdown (top right of View screen):

  • Edit Product — Navigate to the edit form

Navigation: Inventory → Purchase Orders

Columns:

ColumnDescription
PO NumberPurchase order number
VendorVendor name
PO DateDate the PO was created
Due DateRequired delivery date
BuyerName of the buyer who created the PO
Total QuantitySum of all line item quantities
Total AmountTotal dollar value of the PO
  • Use the Open / Closed radio buttons to toggle between open and closed/cancelled POs.
  • Type in the search field to filter by PO Number, vendor name, or purchase address.
  • Click any row to open the PO’s View screen in a new tab.
  • Click Edit to modify the PO (requires update permission).
  • Click Delete to delete the PO after confirmation (requires delete permission).
  • Click + in the header to create a new PO (requires create permission).

FieldRequiredDescription
PO NumberNoPurchase order reference number (max 255 characters; auto-assigned if blank)
VendorYesSelect the vendor for this order
Ship ToYesThe receiving warehouse/building
TermsYesPayment terms (e.g., Net 30)
Purchase AddressYesThe vendor’s ship-from address on file
PO DateNoDate of the purchase order (defaults to today)
Due DateNoExpected delivery date
Cancellation DateNoDate the PO was/will be cancelled
Cancellation ReasonNoReason for cancellation
BuyerNoBuyer name (defaults to current user)
Ship ViaNoShipping method (defaults to “Best Way”)
Free On BoardNoFOB terms
Freight TermsNoFreight payment terms
TaxableNoWhether the order is subject to tax
Confirm ToNoContact name for order confirmation
RemarksNoGeneral remarks printed on the PO
Work OrderNoLink this PO to a work order
JobNoLink this PO to a job
External NotesNoNotes printed on the external document
NotesNoInternal notes
FieldRequiredDescription
Purchase NameNoPrimary name line
Purchase Name 2NoSecondary name line
AddressNoStreet address (via address autocomplete)
Address 2NoSuite/unit
CityNoCity
StateConditionalRequired for US addresses
CountryNoCountry
ZIPNoPostal code
FieldRequiredDescription
Ship-To NameNoPrimary ship-to name
Ship-To Name 2NoSecondary ship-to name

Each line item row contains:

ColumnRequiredDescription
ProductConditionalRequired if a quantity or description is entered
DescriptionNoLine item description. Entering a description requires a Product on the line; lines without a Product are discarded on save (text-only lines are not supported).
Due DateNoLine-level due date
QuantityConditionalRequired and must be > 0 if a product is selected
Quantity UOMConditionalRequired if product is selected
Price UOMConditionalRequired if product is selected
Unit CostNoPer-unit cost
Freight CostNoFreight component of cost
Duty CostNoDuty/tariff component
Insurance CostNoInsurance component
Other CostNoOther cost component
Vendor ProductNoVendor-specific product code/record
Ledger AccountNoOverride GL account for this line

Acknowledge-related columns (visible in edit/view mode):

  • Acknowledged Date, Vendor Ship Date, Due to Dock Date, Received Date, Received Quantity, Back-Ordered Quantity

A new blank row is added automatically as you focus on the last line.

TabDescription
ItemsThe line items grid (above)
NotesThe PO’s internal Notes and External Notes
ReceivingsIndividual receiving records for this PO, showing the ‘Received To’ location and cost details
AttachmentsFiles attached to this PO (only shown if you have the View Attachments permission)

Receiving History and Product Log are not tabs — they are per-line dialogs opened from the actions menu on an individual line item.

The Actions dropdown on the View PO screen contains:

  • Audit Purchase Order — View the change history (audit log) for this PO
  • Acknowledge Purchase Order — Navigate to the Acknowledge Purchase Order screen
  • Edit Purchase Order — Go to the edit form
  • Receive Purchase Order — Navigate to the Receive Purchase Order screen pre-loaded with this PO
  • View Purchase Order — Open the PO document (PDF) in a new tab
  • Email Purchase Order — Send the PO document by email

Suggested Order: On the Create Purchase Order screen, after selecting a vendor, click Suggested Order. You can optionally filter by product categories before clicking Order. The system adds order lines for that vendor’s products whose on-hand quantity has fallen to or below their reorder point, choosing a quantity that brings stock back up to the product’s maximum on-hand level (rounded up to the product/vendor minimum pack quantity). It does not pick quantities to optimize pricing tiers.


Navigation: Inventory → Receive Purchase Order

This screen processes the physical receipt of goods against an existing purchase order.

FieldRequiredDescription
LocationYesWarehouse location where goods are being received
Purchase OrderYesThe PO being received (can be pre-loaded from the PO Actions menu)
Create BackordersNoCheckbox, checked by default. When checked, the system computes a back-ordered quantity (ordered minus received) for each line and creates backorder rows for any line whose back-ordered quantity is not zero. Unchecking it sets all back-ordered quantities to zero.
Receive by ExceptionNoCheckbox, checked by default. When checked, each line’s Received quantity is pre-filled with the full ordered quantity, so you only adjust the exceptions. When unchecked, all Received quantities start at zero and you enter what was received line by line.

Each PO detail line shows:

ColumnRequiredDescription
Product IDThe product being received (links to the product)
DescriptionProduct description
OrderedQuantity ordered on the PO line, with its unit of measure
ReceivedYesQuantity actually received (min 0)
BackorderedYesQuantity still outstanding (min 0)
Unit CostYesCost per unit for this receipt (min 0)

Serialized Products: If the product requires serialization, a dialog opens to enter individual serial numbers for each unit received.

Containers: If the product uses containers, a dialog opens to define container sizes and quantities.

Click Receive to commit the receiving. The system posts inventory to the selected location and creates the appropriate GL entries.

A PO receiving can be reversed to undo the receipt of goods. This is used when goods were received in error, returned to the vendor, or quantities were entered incorrectly.

Navigation: On the Purchase Order view screen, scroll to the Receivings section and click the Reverse button (restore icon) on the receiving row.

FieldRequiredDescription
Posting DateYesDate for the reversal GL entries

The dialog displays all line items from the original receiving. For each line:

ColumnDescription
Product IDProduct received
DescriptionProduct name
LocationLocation received to
Serial NumberSerial number (if serialized)
Container SizeContainer dimensions
Container QuantityOriginal containers received
Containers AvailableContainers still available to reverse (after prior reversals)
Ctns to ReverseNumber of containers to reverse (editable)
  • A receiving can only be reversed if it has not yet been invoiced (total invoiced amount must be zero).
  • The reversal quantity cannot exceed the available container count.
  • Partial reversals are supported — you can reverse some containers and leave others.

The reversal creates offsetting GL entries (debit the product’s Suspense Ledger account, credit the product’s Stock Ledger account) that reverse the original receiving posting. Inventory quantities at the receiving location are reduced accordingly.


Navigation: Inventory → Acknowledge Purchase Order

Use this screen to record vendor-confirmed ship and delivery dates for purchase order lines.

FieldRequiredDescription
Purchase OrderYesThe PO to acknowledge
Update AllNoIf checked, the default dates below are applied to all detail lines
Default Vendor Ship DateNoApplied to all lines when Update All is checked
Default Due to Dock DateNoApplied to all lines when Update All is checked

For each PO line:

ColumnRequiredDescription
Product / DescriptionDisplay only
QuantityDisplay only
Acknowledged DateConditionalRequired if Vendor Ship Date or Due to Dock Date is filled in
Vendor Ship DateNoDate vendor confirms they will ship
Due to Dock DateNoDate product is expected at the dock

Click Submit to record the acknowledgement dates on the PO.


Navigation: Inventory → Post Inventory Receiving

Use this screen to receive inventory without a purchase order (standalone receiving).

FieldRequiredDescription
ProductYesThe product being received
VendorNoOptional vendor associated with this receipt
LocationYesWarehouse location to receive into
Serial NumberConditionalRequired if the product has Serialization Required checked
Received DateYesDate of receipt
Unit CostYesPer-unit cost
Container QuantityYesNumber of containers being received (min > 0)
Container SizeYesUnits per container (min > 0)
QuantityComputedTotal quantity = Container Quantity × Container Size (read-only display)
Variance LedgerYesGL account to use for cost variance

Click Post to commit. The system creates inventory at the specified location and posts to GL.


Navigation: Inventory → Post Inventory Adjustment

Use this screen to make ad hoc corrections to inventory quantities or costs.

FieldRequiredDescription
ProductYesProduct being adjusted
Serialized ProductNoIf the product is serialized, select the specific unit
LotNoLot number (if applicable)
LocationConditionalRequired unless Tracking Disabled is set on the product
PalletNoPallet containing the inventory
Container SizeYesSize of the container being adjusted (min > 0)
QuantityYesAdjustment quantity (positive = add, negative = remove)
Transaction DateYesDate of the adjustment
Unit CostYesCost per unit
Variance LedgerYesGL account for the variance
DescriptionNoFree-text description of the adjustment
Post Adjustment ReasonYesReason code (from the reference list in Settings)
BucketYesInventory bucket: Received, Manufactured, Used, or Destroyed
Attempt Promote Ctn SizeNoAttempts to promote (consolidate) the adjusted quantity into a full container size. Only available when the product uses containers.
Update CostsNoWhether to update the product’s cost based on this adjustment. Only affects cost when Bucket is Received.

Click Post to commit the adjustment. GL entries are created for the variance amount.


Navigation: Inventory → Manage Inventory Counts

This screen manages physical inventory count sessions. A count session defines the scope of the count (which products, categories, or locations to count).

The list shows open count sessions, each row with three actions: Post Adjustment, Edit, and Delete.

FieldRequiredDescription
DescriptionYesName or description of this count session
ProductNoLimit the count to a specific product
CategoryNoLimit the count to a specific product category
BuildingNoLimit the count to a specific building
Start LocationNoFirst location in the range to count
End LocationNoLast location in the range to count
Variance LedgerYesGL account to use for inventory variances discovered during the count

After creating a count, navigate to Post Inventory Counts to enter and post the actual counted quantities.


Navigation: Inventory → Post Counts (the screen title reads “Post Inventory Counts”)

This screen is used to record the actual physical quantities counted during an inventory count session and save them as count tags. It does not itself post variance adjustments — variances are posted separately (see the count-to-adjustment workflow).

FieldRequiredDescription
Inventory CountYesSelect the count session to post
Inventory Count SheetNoOptional sub-sheet within the count session

Each row in the grid represents a count tag (a physical count record):

ColumnRequiredDescription
Tag IDNoTag identifier (humanId)
ProductNoProduct being counted
LocationConditionalRequired if a product is selected
PalletNoPallet where inventory is located
Container SizeConditionalRequired if a product is selected (min > 0)
UOMRead-only stock unit of measure for the selected product
Container QuantityNoNumber of containers counted (min 0)

New rows are added automatically as you enter data in the last row (a Create New Sheet button is also available when working with count sheets). To remove a row, use the per-row remove icon at the end of the row.

Click Post to save the entered count tags to the selected count session (or sheet). This only records the counted quantities — it does not yet calculate variances. The system compares counted quantities against on-hand quantities and posts variance adjustment entries to the count’s Variance Ledger later, during the separate count-adjustment posting step (Post Inventory Adjustment).


Navigation: Inventory → Allocate Inventory

Use this screen to reserve (reserve mode) or pick (pick mode) inventory for a specific demand source.

Select one of the following demand sources:

FieldDescription
Sales OrderReserve or pick inventory for a sales order
Work OrderReserve or pick inventory for a work order
JobReserve or pick inventory for a job

At least one source must be selected.

The mode is typically set by how you navigate to this screen:

ModeDescription
ReserveReserves (soft-allocates) inventory without physically moving it. Prevents the quantity from being used elsewhere.
PickPhysically picks and stages inventory. Records the specific location being emptied.

After selecting the demand source, the screen shows the items to be allocated. For each item:

  • Current on-hand and already-allocated quantities are shown.
  • For manufactured items, ingredient picks are shown.
  • You can select which location and container to pick from.

Click Post to commit the allocation or pick.


Navigation: Inventory → Manage Allocations

This screen displays all current inventory allocations across all demand sources. Use it to:

  • Review existing reservations and picks
  • Edit allocation quantities
  • Delete (release) allocations that are no longer needed

The grid shows all allocations with their associated product, quantity, location, and demand source (sales order, work order, or job).


Navigation: Inventory → Move Inventory

Use this screen to transfer inventory from one location to another.

FieldRequiredDescription
From LocationYesThe location the inventory is moving out of
To LocationYesThe destination location
Lock FromNoIf checked, the From Location field stays locked after the move (useful for scanning workflows)
Lock ToNoIf checked, the To Location field stays locked after the move
PalletNoIf moving a pallet’s contents, select the pallet
DescriptionNoOptional note about this move
ProductYesThe product being moved
ContainerYesThe specific container of inventory to move
QuantityYesQuantity to move
Allocation OwnerNoIf the moved inventory is allocated, select the allocation owner

When a pallet is selected, its contents load into the move grid (columns: Product ID, Product Description, Container Qty, Container Size, UOM, Quantity).


Navigation: Inventory → Replenishment

The Replenishment screen is an interactive console for rebalancing stock between locations. It evaluates each location’s replenishment rules against current availability, groups products by how far they are from their rule limits, and lets you stage moves that pull stock from other locations to bring a location back up to its target. Staged moves are posted as inter-location inventory moves when you click Process Replenishments.

The grid and its candidate sources are loaded from the live inventory snapshot; processing the staged moves posts a single batched inventory transaction across all destinations.

The filter bar at the top controls which rows are loaded. After changing any filter, click Apply to reload.

FieldDescription
LocationsLimit results to specific locations. Leave empty to include all.
Location TypesLimit results to specific location types. Leave empty to include all.
Product CategoriesLimit results to specific product categories. Leave empty to include all.
Usage From / Usage ToThe date range used to calculate the Usage (period) figure shown per row. Defaults to the last 30 days.
Approaching %The threshold (in percent) that defines the Approaching status bucket. Defaults to 20. Editing it re-buckets rows immediately without a reload.

A left-hand rail lists every location returned by the filters, sorted by Human ID. Each tab shows the location’s Human ID and description, a colored status dot for its worst-case row, and per-bucket counts.

The status dot reflects the most severe status present at that location, and its color follows that status:

Dot colorWorst-case status at the location
RedAt least one Below Min row (most severe)
AmberNo Below Min rows, but at least one Approaching row
BlueNo Below Min or Approaching rows, but at least one Above Max row
GreenAll rows are OK

Severity is ordered Below Min, then Approaching, then Above Max, then OK.

Alongside the dot, each tab shows up to three count badges:

BadgeMeaning
Red countNumber of Below Min rows
Amber countNumber of Approaching rows
Green countNumber of OK and Above Max rows combined

Select a tab to load that location’s rows into the grid.

Each row is assigned a status by comparing its planned availability against the rule’s Min and Max:

StatusCondition
Below MinAvailable (planned) is below the rule’s minimum on-hand quantity
ApproachingAvailable (planned) is below the minimum plus the Approaching % margin
OKAvailable (planned) is at or above the approaching margin and not over the maximum
Above MaxAvailable (planned) is above the rule’s maximum on-hand quantity
ColumnDescription
StatusThe row’s current status bucket (recomputes as you stage takes)
ProductProduct Human ID and description (opens the product in a new tab)
Location TypeThe location’s type
UoMStock unit of measure
Min / MaxThe rule’s minimum and maximum on-hand quantities
PackThe rule’s pack size; suggested quantities are rounded up to a multiple of this
On HandCurrent on-hand quantity at the location
AllocatedQuantity allocated at the location
AvailableCurrent available quantity at the location
Available (planned)Available after applying your staged moves — inflows to this location minus outflows pulled from it as a source. This figure drives the Status column.
On OrderQuantity on order. This is a global product-level figure, not per-location.
Usage (period)Quantity used over the selected Usage date range
Last ReplenishedDate the location was last replenished, or a dash if never
SuggestedThe remaining gap to bring the row up to its target after on-order and any staged takes are applied. Derived live; not editable.

Expand a row to open its Source Picker, a detail table listing other locations and containers that hold stock of the same product. If no other location has the product, the panel shows “No other locations have stock of this product.”

ColumnDescription
SourceThe source location and a descriptor for the specific stock (pallet, serial number, container size/quantity, or “Loose”)
On HandOn-hand quantity at the source
AllocatedQuantity allocated at the source
AvailableAvailable quantity at the source
Claimed (others)Quantity other rows have already staged to pull from the same source container
TakeThe quantity to pull. Enter a value here to stage a move.

When you leave the Take field, the value is clamped to what the source container physically has available after other rows’ claims. If pulling that quantity would drop the source location below its own replenishment rule’s minimum, a tooltip warns you, but manual entry is still allowed to exceed that guideline.

To fill takes automatically, choose a Source Location (for Auto-select) above the grid. This enables:

  • The Auto-select button on each row (the auto-mode icon in the Actions column), which fills that row’s takes from the chosen source location only.
  • The Auto-fill all button, which runs Auto-select for every row currently shown for the selected location tab.

Auto-select pulls only from candidates at the chosen source location, respects quantities other rows have already claimed, and will not draw a source below its own replenishment rule’s minimum. (Manual Take entry can still exceed that minimum; only Auto-select enforces it.)

  1. Set the filters and click Apply to load the snapshot.

  2. Select a location tab to review its rows, adjusting Approaching % if you want a different at-risk margin.

  3. Expand the rows you want to replenish and stage takes — either by typing quantities in the Source Picker’s Take column, or by choosing a Source Location and using Auto-select / Auto-fill all.

  4. Confirm the Available (planned) and Suggested columns reflect the result you want.

  5. Click Process Replenishments to post the staged moves.

Process Replenishments submits every staged take across all location tabs, not just the one currently shown. If nothing is staged, the screen reports that no takes were entered. On success, the staged takes are posted as a single batched inventory move and the snapshot reloads.


Navigation: Inventory → Manage Pallets (a separate View Pallet menu item opens a single pallet’s details)

Pallets are logical groupings of inventory containers. They allow you to move or track multiple containers of product as a single unit.

You can create a new pallet or edit an existing one.

FieldRequiredDescription
PalletNoSelect an existing pallet to add to, or leave blank to create a new pallet
Pallet LocationYesLocation of the pallet itself
Product LocationYesLocation of the product inventory being added to the pallet
DescriptionNoPallet description
ProductYesProduct being placed on the pallet
ContainerYesContainer of the product to add
QuantityYesQuantity to place on the pallet

The grid shows the current contents of the pallet (Product ID, Product Description, Container Qty, Container Size, UOM, Quantity). Each row has a Remove From Pallet button, and an Add Item action lets you add containers to the pallet.

Click a pallet to view its details:

  • Pallet header information (ID, location)
  • Contents grid: Product ID (clickable), Description, Serial Number (clickable if serialized), Quantity, UOM
  • Expand a row to see Container Size, Container Quantity, Total Quantity

Actions:

  • Audit Pallet — View the audit record for this pallet
  • Print Label — Print a label for this pallet
  • Preview Pallet Label — Preview the pallet label in a new tab
  • Manage Pallet — Open the Manage Pallet screen to add or remove containers (and break the pallet)

On the Manage Pallet screen, the Break Pallet button dissolves the pallet, releasing all containers back to their individual locations. The pallet record is removed and the inventory stays at the pallet’s current location.


Navigation: Inventory → Manage Intra-Co Shipments (the screen title reads “Manage Intra-Company Shipments”)

Shipments track the movement of inventory in transit between locations (typically intra-company transfers between warehouses or buildings). A shipment ties a set of inventory containers to a trailer or truck and records the from/to journey.

This shipment grid is the list shown in the View Location screen’s shipments view (for a trailer/truck location). The standalone Manage Intra-Company Shipments screen instead selects a shipment through the Shipment search box rather than from a column list.

ColumnDescription
Shipment IDShipment identifier
DescriptionShipment description
From LocationOrigin location (clickable)
To LocationDestination location (clickable)
ClosedWhether the shipment is closed
Closed AtDate/time the shipment was closed
CompletedWhether the shipment is complete
Completed AtDate/time the shipment was completed (unloaded)

Use the Shipment search box at the top of the form: leave it blank to create a new shipment (the field shows Creating New), or select an existing shipment to load it for editing.

FieldRequiredDescription
TrailerYesThe trailer or truck carrying the inventory
From LocationYesOrigin warehouse location
To LocationYesDestination warehouse location
DescriptionNoFree-text description of the shipment

Add pallets to the shipment using the Pallet field at the bottom of the form: select a pallet located at the From Location and click Add Item to add it to the shipment grid (use the row’s remove button to take a pallet off). When you Post the shipment, the added pallets and their inventory are moved from the From Location to the trailer location; any pallets removed from the shipment are returned to the From Location.

Shipments are tracked with two flags: Closed and Completed.

StateClosedCompletedMeaning
LoadingNoNoPallets can be added or removed. Inventory is at the trailer location.
In TransitYesNoShipment is sealed. Toggle Closed back to No to reopen if needed.
DeliveredYesYesShipment has been unloaded at the destination. This state is final.

Actions:

  • Toggle Closed — Flip the Closed flag on or off. When closed, the shipment is considered in transit. Toggle back to open if you need to modify contents before unloading.
  • Unload Shipment — Move all pallets (and their inventory) from the trailer to the destination (To Location) and mark the shipment as completed. Requires the shipment to be closed first. Once unloaded, the shipment cannot be reopened.

The Inventory → Manage Intra-Co Shipments screen is for intra-company transfers and does not print a Bill of Lading. A BOL applies to outbound customer shipments and is printed from the sales-order shipment in Accounts Receivable (Print Sales Order Shipment Documents), where you can also print the packing list and shipping labels.


Navigation: Inventory → Serialized Products

Serialized products are individual units of a product that each carry a unique serial number, enabling tracking of individual items throughout their lifecycle.

  • Type in the search field to find serialized products.
  • Click a row to view the serialized product detail.
  • Click + to create a new serialized product record.

Key fields include:

  • Product — The parent product this unit belongs to (required; locked after the record is created)
  • Vendor — Vendor it was purchased from (required)
  • Customer — Customer it belongs to (if applicable)
  • Serial Number — Unique identifier for this unit
  • Purchase Order — The purchase order it was received on (optional; selecting one fills in the Vendor)
  • Purchase Order Date — Date of the purchase order
  • Received Date Time — Date and time received into inventory
  • Product Cost — Cost of this specific unit
  • Other Cost — Additional cost associated with the unit
  • Tax — Tax amount
  • Discount — Discount amount
TabDescription
LocationsCurrent location(s) of this serialized unit
AllocatedAny current allocations for this unit
LogFull transaction history for this specific unit

Navigation: Inventory → Bulk Update Product Costs

This screen allows updating material and other costs for many products at once using an inline-editable grid.

ColumnDescription
IDProduct ID (clickable — opens product view in a new tab)
DescriptionProduct name
CategoryProduct category hierarchy
Material CostEditable material cost per unit (up to 7 decimal places)
Other CostEditable other cost per unit (up to 7 decimal places)

Click any Material Cost or Other Cost cell to edit it directly. The Total Cost column (Material Cost + Other Cost) updates automatically as you type.

  1. Use the grid’s Filters side panel (or the per-column filter on the Category column) to narrow the product list.
  2. Click into Material Cost or Other Cost cells and enter updated values (up to 7 decimal places).
  3. Changed rows are highlighted. Use Undo / Redo to correct mistakes before saving.
  4. Click Save All Changes to commit all changes in a single batch.

Navigation: Inventory → (click a location link from anywhere in the module)

This screen shows what is currently stored at a specific warehouse location.

Displays the location code, description, type, and building.

Lists all products and containers currently at this location:

ColumnDescription
Product IDProduct code (clickable — opens product view in a new tab)
Product DescriptionProduct name
Pallet IDPallet the inventory is on (if applicable)
Serial NumberSerial number if the product is serialized
QuantityTotal quantity at this location
UOMStock unit of measure

Expand a row to see Container Size, Container Quantity, and Total Quantity.

The default view. Shows all products, containers, and quantities currently stored at this location (the Product Locations Grid with Product ID, Product Description, Pallet ID, Serial Number, Quantity, and UOM columns).

Displays all inventory allocations tied to this location (reservations and picks for sales orders, work orders, or jobs). Columns include Job ID, Work Order ID, Sales Order ID, Sales Order Shipment ID, Product, Location, Pallet, Serial Number, Container Size, Quantity, and UOM. The demand source for each allocation is conveyed by the Job ID, Work Order ID, and Sales Order ID columns.

Lists replenishment rules configured for this location. Each rule specifies a product, minimum on-hand quantity, maximum on-hand quantity, and minimum pack quantity. When on-hand quantity falls below the minimum, the system generates a replenishment suggestion.

Shows the full transaction history for this location — every receiving, movement, adjustment, and allocation event. Each row shows the transaction date, transaction type, product, and user, along with the quantity fields Container Size, Container Quantity, and Total Quantity.

For locations that represent a truck or trailer, a View Shipments action is available. This opens a dialog listing all shipments associated with the location (as origin or destination), showing Shipment ID, Description, From Location, To Location, Closed (and Closed At), and Completed (and Completed At).


Navigation: Inventory → (click a pallet link from anywhere in the module)

This screen shows the contents of a single pallet.

ColumnDescription
Product IDClickable — opens the product view
DescriptionProduct name
Serial NumberClickable — opens the serialized product view (if applicable)
QuantityTotal quantity on this pallet
UOMUnit of measure

Expand a row to see Container Size, Container Quantity, and Total Quantity.

  • Audit Pallet — Open the audit record for this pallet
  • Print Label — Print a label for this pallet
  • Preview Pallet Label — Open a preview of the pallet label
  • Manage Pallet — Open the Manage Pallets screen for this pallet (where the pallet can be moved to a different location)

Navigation: Inventory → (click a transaction link from a Product Log tab)

This screen shows the details of a single inventory transaction — a receiving, adjustment, movement, count posting, or allocation event.

FieldDescription
Transaction IDUnique transaction identifier
UserThe user who performed the transaction
DateDate and time of the transaction
Transaction TypeTransaction type (Receiving, Adjustment, Movement, Count, Allocation, etc.)
Purchase OrderLink to the associated PO (if the transaction was a PO receiving)

The grid shows every product line affected by this transaction:

ColumnDescription
Product IDProduct identifier (clickable — opens the product view)
Location IDLocation where the change occurred (clickable)
Pallet IDPallet involved (if applicable, clickable)
Serial NumberSerial number of the unit (if serialized)
Container SizeSize of the container
Container QtyNumber of containers
Total QtyTotal quantity affected (Container Size × Container Qty)

PermissionActionsDescription
productcreate, read, update, deleteManage product catalog
productCategorycreate, read, update, deleteManage product categories (Inventory Settings)
productTypecreate, read, update, deleteManage product types (Inventory Settings)
unitOfMeasurecreate, read, update, deleteManage units of measure (Inventory Settings)
stockCodecreate, read, update, deleteManage stock codes (Inventory Settings)
buildingcreate, read, update, deleteManage buildings (Inventory Settings)
locationcreate, update, deleteManage locations (Inventory Settings; create/update require Human ID, Building, and Location Type)
locationTypecreate, read, update, deleteManage location types (Inventory Settings)
nmfcClassificationcreate, read, update, deleteManage NMFC codes (Inventory Settings)
purchaseOrdercreate, read, update, deleteManage purchase orders
productMarkupMatrixEntrycreate, read, update, deleteManage the product pricing/markup matrix (Manage Product Pricing Matrix)
postInventoryAdjustmentReasoncreate, read, update, deleteManage inventory adjustment reasons (Inventory Settings)
productCatalogItemcreate, update, deleteManage product catalog items
inventoryCount (in the Manage Inventory Counts permission set)read, updateCreate, delete, and post inventory count sessions and adjustments
locationReplenishmentRulecreate, read, update, deleteManage replenishment rules
Manage Replenishment (permission set)Access the Replenishment screen to evaluate rules and act on suggested moves
Manage Allocations (manageAllocations)Misc permission: update, unallocate, and unpick any allocation
bulkUpdateProductCosts (Bulk Update Product Costs permission set)read, update (product); read (productCategory)Access the Bulk Update Product Costs screen
reversePurchaseOrderReceivingMisc permission: reverse a posted PO receiving
manageShipments (Manage Intra-Co Shipments permission set)read (shipment)Create, close (toggle closed), and unload intra-company shipments

Example 1: Purchase Order through Receiving

Section titled “Example 1: Purchase Order through Receiving”

Scenario: Precision Mechanical orders plumbing fittings from FastPipe Supply: 100 copper elbows at $3.25 each and 50 copper tees at $4.50 each. Total PO value = $550.00.

Step 1 — Create the purchase order:

  1. Navigate to Inventory → Purchase Orders and click +.
  2. Select Vendor = FastPipe Supply, Building = Main Warehouse, Vendor Terms = Net 30.
  3. Add line items:
    • Line 1: Product = 3/4-in Copper Elbow, Qty = 100, UOM = Each, Unit Cost = $3.25 → Line Total = $325.00
    • Line 2: Product = 3/4-in Copper Tee, Qty = 50, UOM = Each, Unit Cost = $4.50 → Line Total = $225.00
  4. PO Total = $550.00. Click Save. PO PO-4210 is created.

Step 2 — Receive the shipment:

  1. FastPipe delivers the goods on 02/10/2026.
  2. Navigate to Inventory → Receive Purchase Order (or from PO-4210 Actions → Receive Purchase Order).
  3. Select Location = BIN-A12, Freight = $35.00.
  4. Verify received quantities:
    • Copper Elbow: Received Qty = 100, Unit Cost = $3.25
    • Copper Tee: Received Qty = 50, Unit Cost = $4.50
  5. Click Post.

GL posting:

AccountDebitCredit
Stock Ledger (per product)$550.00
Suspense Ledger (per product)$550.00

Result: 100 copper elbows and 50 copper tees are now at location BIN-A12. PO-4210 is closed. The vendor invoice can now be recorded in Accounts Payable.


Example 2: Physical Inventory Count with Variance

Section titled “Example 2: Physical Inventory Count with Variance”

Scenario: During the quarterly physical count, staff counts only 87 copper elbows at location BIN-A12, but the system shows 100 on hand. The unit cost is $3.25 per elbow, so the variance is 13 × $3.25 = $42.25.

Step 1 — Create the count session:

  1. Navigate to Inventory → Manage Inventory Counts and click +.
  2. Set Description = Q1 2026 Quarterly Count, Building = Main Warehouse, Variance Ledger = (select the appropriate Variance Ledger account).
  3. Click Save.

Step 2 — Enter count results:

  1. Navigate to Inventory → Post Inventory Counts.
  2. Select Inventory Count = Q1 2026 Quarterly Count.
  3. Add count tag rows:
    • Tag 1: Product = 3/4-in Copper Elbow, Location = BIN-A12, Container Size = 1, Container Qty = 87
    • Tag 2: Product = 3/4-in Copper Tee, Location = BIN-A12, Container Size = 1, Container Qty = 50 (matches system — no variance)
  4. Click Post.

System comparison:

ProductSystem QtyCounted QtyVarianceVariance $
3/4-in Copper Elbow10087-13-$42.25
3/4-in Copper Tee50500$0.00

GL posting for variance:

AccountDebitCredit
Variance Ledger (per product)$42.25
Stock Ledger (per product)$42.25

Result: Elbow on-hand is adjusted from 100 to 87. The $42.25 variance is posted to the Inventory Variance account for investigation.


Example 3: Allocating and Moving Inventory for a Work Order

Section titled “Example 3: Allocating and Moving Inventory for a Work Order”

Scenario: Service Manager Tom needs 5 copper elbows and 3 copper tees for Work Order WO-2201 (a residential repair). The parts are at BIN-A12 and need to be moved to the technician’s truck stock location.

Step 1 — Reserve inventory:

  1. Navigate to Inventory → Allocate Inventory.
  2. Select Work Order = WO-2201. The required materials appear:
    • 3/4-in Copper Elbow: Needed = 5, Available at BIN-A12 = 87
    • 3/4-in Copper Tee: Needed = 3, Available at BIN-A12 = 50
  3. Set mode = Reserve. Click Post.
  4. Both products now show Reserved Qty on the Manage Allocations screen.

Step 2 — Pick inventory:

  1. Return to Allocate Inventory for WO-2201.
  2. Set mode = Pick. The reserved quantities are shown.
  3. Select location BIN-A12 for both products. Click Post.
  4. Inventory is now picked and staged.

Step 3 — Move to truck stock:

  1. Navigate to Inventory → Move Inventory.
  2. From Location = BIN-A12, To Location = TRUCK-MT01 (Mike Torres’s truck).
  3. Product = 3/4-in Copper Elbow, Quantity = 5. Submit.
  4. Repeat for 3/4-in Copper Tee, Quantity = 3.

Result:

  • BIN-A12: Elbows = 82, Tees = 47
  • TRUCK-MT01: Elbows = 5, Tees = 3 (allocated to WO-2201)

Rules are grouped by category. Each rule has an ID for cross-referencing.

  • BR-INV-C1: Sufficient Quantity for Movement — Inventory can only be moved between locations if the source location has sufficient on-hand quantity.
  • BR-INV-C2: Allocation Before Pick — Reserving before picking is optional; picking can proceed based on raw availability without prior reservation.
  • BR-INV-C3: Cost Method — The Inventory Settings Cost Method (Average, Last, or Stated) is a single organization-wide setting that determines which stored cost (average, last, or stated) is used for product cost and COGS across all products.
  • BR-INV-C4: Reverse Receiving Lock — PO receiving can only be reversed if it has not yet been invoiced (total invoiced amount must be zero).
  • BR-INV-A1: Receiving GL Post — Receiving against a PO auto-posts GL entries: debit the product’s Stock Ledger account, credit the product’s Suspense Ledger account. Standalone receiving credits the product’s Variance Ledger account instead.
  • BR-INV-A2: Adjustment Variance Post — Inventory adjustments auto-post the difference to the product’s Variance Ledger account.
  • BR-INV-A3: Backorder Creation — During PO receiving, backorder lines are created automatically for any unfulfilled quantities (where back-ordered quantity is not zero).
  • BR-INV-A4: Replenishment Trigger — The generate-suggested-order process uses the product’s reorder quantity and max on-hand quantity to calculate suggested orders when stock falls below the reorder point.
  • BR-INV-A5: Reverse Receiving GL — Reversing a PO receiving auto-posts reversing GL entries: credit the product’s Stock Ledger account, debit the product’s Suspense Ledger account — the mirror image of the original receiving post.
  • BR-INV-W1: PO Lifecycle — Create PO → Acknowledge / Email PO to vendor → Receive PO. Receiving posts the GL automatically in one step, and the PO closes automatically once it is fully received.
  • BR-INV-W2: Count-to-Adjustment — Create Count Session → Count Tags → Enter Counts → Post Variance as Adjustment.
  • BR-INV-W3: Shipment Lifecycle — Create Shipment → Add Item (add pallets) → Post (closes the shipment / in transit) → Unload Shipment (moves pallets to the destination location, marks the shipment completed). A closed shipment can be reopened with Open until it is unloaded; once unloaded (completed), it cannot be reopened.
  • BR-INV-X1: PO to AP — PO receipts generate vendor invoice references in AP; received cost flows to the invoice distribution.
  • BR-INV-X2: Sales Order Fulfillment — Sales orders create demand that drives allocation; shipments draw from allocated stock and post COGS.
  • BR-INV-X3: WO Material Consumption — Work order material line items reserve and pick from warehouse locations; invoicing posts to GL.
  • BR-INV-X4: Job Material Draw — Job material expenses draw from inventory, reducing on-hand and creating cost entries in Job Costing.

Q: I can’t move inventory — “insufficient quantity at source location.” The source location must have enough on-hand quantity to complete the move (BR-INV-C1). Check the location’s current on-hand in View Location and adjust the move quantity, or receive additional stock first.

Q: Picking fails — insufficient available quantity. Picking requires sufficient on-hand quantity at the source location (BR-INV-C2). Verify available stock at the location in View Location. Reservation before picking is optional — picking can proceed directly if inventory is available.

Q: My physical count posted a large variance — can I reverse it? Posted count variances cannot be reversed directly. If the count was entered incorrectly, post an Inventory Adjustment to correct the quantity back, using an appropriate reason code. Investigate the root cause of the variance (shrinkage, miscounting, unreported movement) before adjusting.

Q: A PO shows as received but the vendor invoice hasn’t been recorded. PO receiving and AP invoicing are separate steps. After receiving, the GL posts debit Stock Ledger / credit Suspense Ledger (BR-INV-A1). The suspense balance clears when the vendor invoice is recorded in AP. Navigate to Accounts Payable → Post Invoice and reference the PO.

Q: Products aren’t showing as available for allocation even though they were received. Verify the receiving was posted (not just saved as draft). Check the specific Location where goods were received — allocation looks at location-level quantities. Also check whether the stock is already reserved for another order.

Q: Backorders weren’t created after a partial PO receiving. Backorders are created automatically for any line where the back-ordered quantity is not zero (BR-INV-A3). If backorders were not created, verify that the back-ordered quantity field was populated correctly during receiving.

Q: My product cost seems wrong after receiving. Check the product’s Cost Method (BR-INV-C3). Average cost blends the new receipt cost with existing on-hand cost. Last cost updates to the most recent receipt. Stated cost doesn’t change on receiving — use Bulk Update Product Costs to update it manually.

Q: Replenishment isn’t triggering even though stock is low. Verify the product has Reorder Quantity and Max On-Hand Quantity configured. The suggested order process uses these product-level fields to determine when and how much to reorder. The trigger fires when on-hand falls below the reorder quantity (BR-INV-A4).

Q: How do I reverse a PO receiving? Open the purchase order, go to the Receivings tab, and click the Reverse Receiving icon (restore icon) on the receiving row to open the reversal dialog. The dialog shows each line with the containers available to reverse (Ctn Avail) and a Ctns to Reverse field. The receiving can only be reversed if it has not yet been invoiced (BR-INV-C4). The reversal posts mirror GL entries that credit the product’s Stock Ledger and debit the product’s Suspense Ledger (BR-INV-A5).

Q: How do I print a Bill of Lading for a shipment? A Bill of Lading is printed for outbound customer shipments, not intra-company inventory transfers. Open the sales-order shipment under Accounts Receivable and use Print Sales Order Shipment Documents, which lets you print the Bill of Lading (along with the packing list and shipping labels). The Inventory → Manage Intra-Co Shipments screen has no BOL action.

Q: Can I reopen a closed shipment? Yes, as long as the shipment has not been completed (unloaded). Toggle the Closed flag back to off to reopen the shipment and modify its contents. Once a shipment has been unloaded, it cannot be reopened (BR-INV-W3).

Q: What is a product log transaction? A product log transaction is a record of any inventory event — receiving, movement, adjustment, count posting, or allocation. You can view the full detail of any transaction by clicking it from a Product Log tab in a product, location, or serialized product view.


The most common receiving workflow:

  1. Open the PO from Purchase Orders and use the Actions → Receive Purchase Order shortcut.
  2. Select the receiving Location.
  3. Verify or enter the Freight cost.
  4. For each line, enter the Received Quantity and confirm Unit Cost.
  5. Click Post. The system creates inventory and GL entries.
  1. Navigate to Inventory Counts and create a new count session with the scope you want (all products, a specific category, or a location range). Set the Variance Ledger.
  2. Print or distribute count sheets to floor staff.
  3. As staff report counts, go to Post Inventory Counts, select the count session, and enter quantities in the Count Tags grid.
  4. Click Post to commit. Discrepancies are automatically posted to the Variance Ledger.
  • Average — Best for commodities where individual unit costs blur together over time. Most common default.
  • Last — Best for environments where the most recent cost is the most meaningful (rapidly changing prices).
  • Stated — Best when you manually control costs (e.g., standard costing). Use Bulk Update Product Costs to update stated costs en masse.
  1. Create the product with the required fields (Description, Category, Stock Code, all three UOMs, Weight UOM, Stock/Suspense/Variance Ledgers).
  2. Check Is Purchased or Is Sold as appropriate.
  3. Navigate to the Vendors tab and add approved vendors with tiered pricing.
  4. Set Reorder Quantity and Max On-Hand Quantity to enable suggested order generation.
  5. If the product requires serialization, check Serialization Required.
  1. From the work order, use the allocate action, or go to Allocate Inventory and select the work order.
  2. Choose Reserve to soft-reserve stock, or Pick to record the physical pick.
  3. For manufactured items, the system shows required ingredients and their current availability.
  4. Review and post the allocation.

Use Move Inventory for any transfer:

  • Use the Lock From or Lock To options when scanning multiple items into the same destination — the locked field remains populated between moves to speed up the workflow.
  • Select the pallet first to see all containers on it; then pick the container to move.
  1. Open the purchase order in Inventory → Purchase Orders and go to the Receivings tab.
  2. Click the Reverse Receiving icon (restore icon) on the receiving row to open the Reverse Purchase Order Receiving dialog.
  3. Select a Posting Date for the reversal.
  4. Review the line items — each shows Ctn Size, Ctn Qty, and Ctn Avail, with a Ctns to Reverse field pre-filled to the full available quantity.
  5. Set a line’s Ctns to Reverse to 0 to skip it.
  6. Click Reverse. The system removes the containers from the receiving location and posts reversing GL entries.

A Bill of Lading is generated for outbound customer (sales-order) shipments, not for intra-company inventory transfers.

  1. Open the sales-order shipment under Accounts Receivable.
  2. Verify the shipment lines, freight terms, and customer/destination address are correct.
  3. Use Print Sales Order Shipment Documents and enable Bill of Lading, then print (you can also print the packing list and shipping labels from the same dialog).