Inventory
1. Overview
Section titled “1. Overview”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
2. Key Concepts
Section titled “2. Key Concepts”-
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.
3. How It Connects
Section titled “3. How It Connects”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.
4. Inventory Dashboard
Section titled “4. Inventory Dashboard”Navigation: Inventory → Dashboard
The dashboard provides a visual summary of inventory activity and value using nine charts and metrics.
| Chart | Type | Description |
|---|---|---|
| Inventory Value | Metric (number) | Total current dollar value of all inventory on hand |
| PO Value Trend ($) | Line chart | Dollar value of purchase order receivings over time, by received date. Zoom and navigator controls enabled. |
| Inventory Adjustment Reasons | Bar chart | Count of adjustments grouped by reason code |
| Top 10 Used Products by Cost | Horizontal bar | The 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 Count | Horizontal bar | The ten products with the highest usage quantity (work orders + jobs) |
| Top 10 Received Products by Cost | Horizontal bar | The ten most-received products by dollar cost |
| Top 10 Received Products by Count | Horizontal bar | The ten most-received products by quantity |
| Received Products by Category | Pie chart | Dollar cost of received products broken down by product category |
| Aged Inventory | Treemap | Inventory age (in days) over the last 365 days, grouped by category. Larger areas represent older stock. |
5. Inventory Settings
Section titled “5. Inventory Settings”Navigation: Inventory → Settings (the menu item is labeled “Settings” under the Inventory category; the screen title is “Inventory Settings”)
Global Settings
Section titled “Global Settings”All fields auto-save when you leave the field.
| Field | Required | Description |
|---|---|---|
| Cost Method | Yes | How product costs are calculated: Average (weighted average of all purchases), Last (most recent purchase cost), or Stated (manually entered cost) |
| Default Ship From Building | Yes | The default warehouse/building used when shipping inventory |
| Misc. Costs Suspense Ledger Account | Yes | GL account for miscellaneous cost suspense entries during receiving |
| Misc. Costs Variance Ledger Account | Yes | GL account for miscellaneous cost variance entries |
Reference Data Tabs
Section titled “Reference Data Tabs”The lower card contains tabs for managing the reference data used throughout the module. Visible tabs depend on your permissions.
| Tab | Description |
|---|---|
| Product Categories | Hierarchical product category tree (used for reporting and filtering) |
| Product Types | Product type classifications |
| Units of Measure | Unit of measure definitions including type (Discrete, Volume, Weight) and conversion factors |
| Pricing Matrix | Product markup matrix entries for sale pricing |
| Post Adjustment Reasons | Reason codes required when posting inventory adjustments |
| Locations | Warehouse bin/shelf/location definitions |
| Location Types | Categories of locations (e.g., Rack, Bin, Floor) |
| Stock Codes | Stock status codes assigned to products |
| Buildings | Warehouse building definitions |
| NMFC Classifications | National Motor Freight Classification codes for shipping |
6. Products
Section titled “6. Products”Navigation: Inventory → Products
Search Products
Section titled “Search Products”The search screen displays all products in a searchable, paginated list.
Columns:
| Column | Description |
|---|---|
| Product ID | The system-assigned product code (humanId) |
| Description | Product 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.
Create / Edit Product
Section titled “Create / Edit Product”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.)
Identification & Classification
Section titled “Identification & Classification”| Field | Required | Description |
|---|---|---|
| Product ID | Yes (on create) | The product code (humanId). Entered manually when creating a product and must be unique; read-only on edit. |
| Description | Yes | Product name (no enforced character limit found in the form) |
| Product Type | No | Optional classification type |
| Category | Yes | Hierarchical product category (nested path displayed) |
| Stock Code | Yes | The stock status code for this product |
Units of Measure
Section titled “Units of Measure”| Field | Required | Description |
|---|---|---|
| Stock Unit of Measure | Yes | The base unit in which on-hand quantity is tracked |
| Purchase Unit of Measure | Yes | Unit used on purchase orders (must match Stock UOM type). Requires Stock UOM to be set first. |
| Sale Unit of Measure | Yes | Unit used on sales orders (must match Stock UOM type). Requires Stock UOM to be set first. |
| Weight Unit of Measure | Yes | Unit for weight measurement (must be a Weight-type UOM) |
Physical Properties
Section titled “Physical Properties”| Field | Required | Description |
|---|---|---|
| Weight | No | Product weight (min 0) |
| Density | No | Product density (min 0) |
Inventory Controls
Section titled “Inventory Controls”| Field | Required | Description |
|---|---|---|
| Reorder Point | No | Quantity 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 Hand | No | Maximum 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 Pack | No | Minimum order pack size; suggested order quantities are rounded up to whole multiples of this value (min 0) |
| Lead Time Days | No | Number of days from order to receipt (min 0) |
| Safety Days | No | Number of buffer days of stock to maintain (min 0) |
Costing
Section titled “Costing”| Field | Required | Description |
|---|---|---|
| Material Cost | No | Material component of unit cost (min 0) |
| Packaging Cost | No | Packaging component of unit cost (min 0) |
| Computed Cost | No | Total 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. |
| Field | Required | Description |
|---|---|---|
| Commission Rate | No | Sales commission percentage for this product (min 0) |
Additional Details
Section titled “Additional Details”| Field | Required | Description |
|---|---|---|
| Manufacturing Process | No | Free-text description of how the product is made |
| Origin | No | Country or region of origin |
| Usages | No | Description of common applications or uses |
GL Accounts
Section titled “GL Accounts”| Field | Required | Description |
|---|---|---|
| Inventory Ledger Account | Yes | GL account for on-hand inventory value (the product’s Stock Ledger) |
| Suspense Ledger | Yes | GL account for in-transit / suspense entries |
| Variance Ledger | Yes | GL account for cost variances |
| Override Sale Ledger | No | If set, overrides the default GL sales account for this product |
| Override Cost Ledger | No | If set, overrides the default GL cost account for this product |
Checkboxes
Section titled “Checkboxes”| Field | Description |
|---|---|
| Is Purchased | Product can be purchased from vendors |
| Is Sold | Product can be sold to customers |
| Use Containers | Product is received/stored in containers (enables container quantity tracking) |
| Requires Serialization | Each unit requires a unique serial number |
| Tracking Disabled | Disables location-level inventory tracking for this product |
| Enforce Limited Purchasing | Restricts purchasing to approved vendors only |
| Enforce Limited Selling | Restricts selling to approved customers only |
| Product Catalog Enabled | Makes this product visible in the customer-facing product catalog |
| Product Catalog Category | (Required if catalog is enabled) Catalog category for this product |
| Field | Description |
|---|---|
| Notes | General internal notes about the product |
| Purchasing Notes | Notes specific to the purchasing process |
Custom fields (configured per your site) appear at the bottom of the form.
View Product Tabs
Section titled “View Product Tabs”When viewing an existing product, the lower section shows the following tabs:
| Tab | Description |
|---|---|
| Locations | All warehouse locations where this product currently has on-hand quantity, with pallet and container details |
| Pallets | Pallets containing this product |
| Allocated | Current inventory reservations and picks for this product |
| Open POs | Open and historical purchase orders for this product |
| YTDs | Year-to-date usage, receiving, and cost summary |
| Log | Full transaction history: receivings, adjustments, moves, usage, shipments |
| Vendors | Approved vendors for this product with per-vendor tiered pricing |
| Replenishment Rules | Auto-replenishment rules by location |
| Attachments | Files and documents attached to this product |
| Barcodes | Barcode values assigned to this product |
| Customers | Customers associated with this product (customer-specific pricing or codes) |
| Units of Measure | Units of measure defined for this product |
Actions dropdown (top right of View screen):
- Edit Product — Navigate to the edit form
7. Purchase Orders
Section titled “7. Purchase Orders”Navigation: Inventory → Purchase Orders
Search Purchase Orders
Section titled “Search Purchase Orders”Columns:
| Column | Description |
|---|---|
| PO Number | Purchase order number |
| Vendor | Vendor name |
| PO Date | Date the PO was created |
| Due Date | Required delivery date |
| Buyer | Name of the buyer who created the PO |
| Total Quantity | Sum of all line item quantities |
| Total Amount | Total 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).
Create / Edit Purchase Order
Section titled “Create / Edit Purchase Order”PO Header Fields
Section titled “PO Header Fields”| Field | Required | Description |
|---|---|---|
| PO Number | No | Purchase order reference number (max 255 characters; auto-assigned if blank) |
| Vendor | Yes | Select the vendor for this order |
| Ship To | Yes | The receiving warehouse/building |
| Terms | Yes | Payment terms (e.g., Net 30) |
| Purchase Address | Yes | The vendor’s ship-from address on file |
| PO Date | No | Date of the purchase order (defaults to today) |
| Due Date | No | Expected delivery date |
| Cancellation Date | No | Date the PO was/will be cancelled |
| Cancellation Reason | No | Reason for cancellation |
| Buyer | No | Buyer name (defaults to current user) |
| Ship Via | No | Shipping method (defaults to “Best Way”) |
| Free On Board | No | FOB terms |
| Freight Terms | No | Freight payment terms |
| Taxable | No | Whether the order is subject to tax |
| Confirm To | No | Contact name for order confirmation |
| Remarks | No | General remarks printed on the PO |
| Work Order | No | Link this PO to a work order |
| Job | No | Link this PO to a job |
| External Notes | No | Notes printed on the external document |
| Notes | No | Internal notes |
Purchase Address (Bill-To)
Section titled “Purchase Address (Bill-To)”| Field | Required | Description |
|---|---|---|
| Purchase Name | No | Primary name line |
| Purchase Name 2 | No | Secondary name line |
| Address | No | Street address (via address autocomplete) |
| Address 2 | No | Suite/unit |
| City | No | City |
| State | Conditional | Required for US addresses |
| Country | No | Country |
| ZIP | No | Postal code |
Ship-To
Section titled “Ship-To”| Field | Required | Description |
|---|---|---|
| Ship-To Name | No | Primary ship-to name |
| Ship-To Name 2 | No | Secondary ship-to name |
Line Items (Details)
Section titled “Line Items (Details)”Each line item row contains:
| Column | Required | Description |
|---|---|---|
| Product | Conditional | Required if a quantity or description is entered |
| Description | No | Line 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 Date | No | Line-level due date |
| Quantity | Conditional | Required and must be > 0 if a product is selected |
| Quantity UOM | Conditional | Required if product is selected |
| Price UOM | Conditional | Required if product is selected |
| Unit Cost | No | Per-unit cost |
| Freight Cost | No | Freight component of cost |
| Duty Cost | No | Duty/tariff component |
| Insurance Cost | No | Insurance component |
| Other Cost | No | Other cost component |
| Vendor Product | No | Vendor-specific product code/record |
| Ledger Account | No | Override 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.
PO Tabs
Section titled “PO Tabs”| Tab | Description |
|---|---|
| Items | The line items grid (above) |
| Notes | The PO’s internal Notes and External Notes |
| Receivings | Individual receiving records for this PO, showing the ‘Received To’ location and cost details |
| Attachments | Files 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.
PO Actions
Section titled “PO Actions”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.
8. Receive Purchase Order
Section titled “8. Receive Purchase Order”Navigation: Inventory → Receive Purchase Order
This screen processes the physical receipt of goods against an existing purchase order.
Header Fields
Section titled “Header Fields”| Field | Required | Description |
|---|---|---|
| Location | Yes | Warehouse location where goods are being received |
| Purchase Order | Yes | The PO being received (can be pre-loaded from the PO Actions menu) |
| Create Backorders | No | Checkbox, 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 Exception | No | Checkbox, 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. |
Detail Lines
Section titled “Detail Lines”Each PO detail line shows:
| Column | Required | Description |
|---|---|---|
| Product ID | — | The product being received (links to the product) |
| Description | — | Product description |
| Ordered | — | Quantity ordered on the PO line, with its unit of measure |
| Received | Yes | Quantity actually received (min 0) |
| Backordered | Yes | Quantity still outstanding (min 0) |
| Unit Cost | Yes | Cost 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.
Reverse PO Receiving
Section titled “Reverse PO Receiving”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.
Reversal Dialog
Section titled “Reversal Dialog”| Field | Required | Description |
|---|---|---|
| Posting Date | Yes | Date for the reversal GL entries |
The dialog displays all line items from the original receiving. For each line:
| Column | Description |
|---|---|
| Product ID | Product received |
| Description | Product name |
| Location | Location received to |
| Serial Number | Serial number (if serialized) |
| Container Size | Container dimensions |
| Container Quantity | Original containers received |
| Containers Available | Containers still available to reverse (after prior reversals) |
| Ctns to Reverse | Number of containers to reverse (editable) |
Prerequisites
Section titled “Prerequisites”- 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.
GL Impact
Section titled “GL Impact”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.
9. Acknowledge Purchase Order
Section titled “9. Acknowledge Purchase Order”Navigation: Inventory → Acknowledge Purchase Order
Use this screen to record vendor-confirmed ship and delivery dates for purchase order lines.
Header Fields
Section titled “Header Fields”| Field | Required | Description |
|---|---|---|
| Purchase Order | Yes | The PO to acknowledge |
| Update All | No | If checked, the default dates below are applied to all detail lines |
| Default Vendor Ship Date | No | Applied to all lines when Update All is checked |
| Default Due to Dock Date | No | Applied to all lines when Update All is checked |
Detail Lines
Section titled “Detail Lines”For each PO line:
| Column | Required | Description |
|---|---|---|
| Product / Description | — | Display only |
| Quantity | — | Display only |
| Acknowledged Date | Conditional | Required if Vendor Ship Date or Due to Dock Date is filled in |
| Vendor Ship Date | No | Date vendor confirms they will ship |
| Due to Dock Date | No | Date product is expected at the dock |
Click Submit to record the acknowledgement dates on the PO.
10. Post Inventory Receiving
Section titled “10. Post Inventory Receiving”Navigation: Inventory → Post Inventory Receiving
Use this screen to receive inventory without a purchase order (standalone receiving).
Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
| Product | Yes | The product being received |
| Vendor | No | Optional vendor associated with this receipt |
| Location | Yes | Warehouse location to receive into |
| Serial Number | Conditional | Required if the product has Serialization Required checked |
| Received Date | Yes | Date of receipt |
| Unit Cost | Yes | Per-unit cost |
| Container Quantity | Yes | Number of containers being received (min > 0) |
| Container Size | Yes | Units per container (min > 0) |
| Quantity | Computed | Total quantity = Container Quantity × Container Size (read-only display) |
| Variance Ledger | Yes | GL account to use for cost variance |
Click Post to commit. The system creates inventory at the specified location and posts to GL.
11. Post Inventory Adjustment
Section titled “11. Post Inventory Adjustment”Navigation: Inventory → Post Inventory Adjustment
Use this screen to make ad hoc corrections to inventory quantities or costs.
Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
| Product | Yes | Product being adjusted |
| Serialized Product | No | If the product is serialized, select the specific unit |
| Lot | No | Lot number (if applicable) |
| Location | Conditional | Required unless Tracking Disabled is set on the product |
| Pallet | No | Pallet containing the inventory |
| Container Size | Yes | Size of the container being adjusted (min > 0) |
| Quantity | Yes | Adjustment quantity (positive = add, negative = remove) |
| Transaction Date | Yes | Date of the adjustment |
| Unit Cost | Yes | Cost per unit |
| Variance Ledger | Yes | GL account for the variance |
| Description | No | Free-text description of the adjustment |
| Post Adjustment Reason | Yes | Reason code (from the reference list in Settings) |
| Bucket | Yes | Inventory bucket: Received, Manufactured, Used, or Destroyed |
| Attempt Promote Ctn Size | No | Attempts to promote (consolidate) the adjusted quantity into a full container size. Only available when the product uses containers. |
| Update Costs | No | Whether 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.
12. Inventory Counts
Section titled “12. Inventory Counts”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).
Count List
Section titled “Count List”The list shows open count sessions, each row with three actions: Post Adjustment, Edit, and Delete.
Create / Edit Inventory Count
Section titled “Create / Edit Inventory Count”| Field | Required | Description |
|---|---|---|
| Description | Yes | Name or description of this count session |
| Product | No | Limit the count to a specific product |
| Category | No | Limit the count to a specific product category |
| Building | No | Limit the count to a specific building |
| Start Location | No | First location in the range to count |
| End Location | No | Last location in the range to count |
| Variance Ledger | Yes | GL 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.
13. Post Inventory Counts
Section titled “13. Post Inventory Counts”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).
Header Fields
Section titled “Header Fields”| Field | Required | Description |
|---|---|---|
| Inventory Count | Yes | Select the count session to post |
| Inventory Count Sheet | No | Optional sub-sheet within the count session |
Count Tags Grid
Section titled “Count Tags Grid”Each row in the grid represents a count tag (a physical count record):
| Column | Required | Description |
|---|---|---|
| Tag ID | No | Tag identifier (humanId) |
| Product | No | Product being counted |
| Location | Conditional | Required if a product is selected |
| Pallet | No | Pallet where inventory is located |
| Container Size | Conditional | Required if a product is selected (min > 0) |
| UOM | — | Read-only stock unit of measure for the selected product |
| Container Quantity | No | Number 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).
14. Allocate Inventory
Section titled “14. Allocate Inventory”Navigation: Inventory → Allocate Inventory
Use this screen to reserve (reserve mode) or pick (pick mode) inventory for a specific demand source.
Source Selection
Section titled “Source Selection”Select one of the following demand sources:
| Field | Description |
|---|---|
| Sales Order | Reserve or pick inventory for a sales order |
| Work Order | Reserve or pick inventory for a work order |
| Job | Reserve or pick inventory for a job |
At least one source must be selected.
Allocation Mode
Section titled “Allocation Mode”The mode is typically set by how you navigate to this screen:
| Mode | Description |
|---|---|
| Reserve | Reserves (soft-allocates) inventory without physically moving it. Prevents the quantity from being used elsewhere. |
| Pick | Physically picks and stages inventory. Records the specific location being emptied. |
Allocation Details
Section titled “Allocation Details”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.
15. Manage Allocations
Section titled “15. Manage Allocations”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).
16. Move Inventory
Section titled “16. Move Inventory”Navigation: Inventory → Move Inventory
Use this screen to transfer inventory from one location to another.
Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
| From Location | Yes | The location the inventory is moving out of |
| To Location | Yes | The destination location |
| Lock From | No | If checked, the From Location field stays locked after the move (useful for scanning workflows) |
| Lock To | No | If checked, the To Location field stays locked after the move |
| Pallet | No | If moving a pallet’s contents, select the pallet |
| Description | No | Optional note about this move |
| Product | Yes | The product being moved |
| Container | Yes | The specific container of inventory to move |
| Quantity | Yes | Quantity to move |
| Allocation Owner | No | If 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).
16a. Replenishment
Section titled “16a. Replenishment”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.
Filters
Section titled “Filters”The filter bar at the top controls which rows are loaded. After changing any filter, click Apply to reload.
| Field | Description |
|---|---|
| Locations | Limit results to specific locations. Leave empty to include all. |
| Location Types | Limit results to specific location types. Leave empty to include all. |
| Product Categories | Limit results to specific product categories. Leave empty to include all. |
| Usage From / Usage To | The 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. |
Location Tabs
Section titled “Location Tabs”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 color | Worst-case status at the location |
|---|---|
| Red | At least one Below Min row (most severe) |
| Amber | No Below Min rows, but at least one Approaching row |
| Blue | No Below Min or Approaching rows, but at least one Above Max row |
| Green | All 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:
| Badge | Meaning |
|---|---|
| Red count | Number of Below Min rows |
| Amber count | Number of Approaching rows |
| Green count | Number of OK and Above Max rows combined |
Select a tab to load that location’s rows into the grid.
Status Buckets
Section titled “Status Buckets”Each row is assigned a status by comparing its planned availability against the rule’s Min and Max:
| Status | Condition |
|---|---|
| Below Min | Available (planned) is below the rule’s minimum on-hand quantity |
| Approaching | Available (planned) is below the minimum plus the Approaching % margin |
| OK | Available (planned) is at or above the approaching margin and not over the maximum |
| Above Max | Available (planned) is above the rule’s maximum on-hand quantity |
Grid Columns
Section titled “Grid Columns”| Column | Description |
|---|---|
| Status | The row’s current status bucket (recomputes as you stage takes) |
| Product | Product Human ID and description (opens the product in a new tab) |
| Location Type | The location’s type |
| UoM | Stock unit of measure |
| Min / Max | The rule’s minimum and maximum on-hand quantities |
| Pack | The rule’s pack size; suggested quantities are rounded up to a multiple of this |
| On Hand | Current on-hand quantity at the location |
| Allocated | Quantity allocated at the location |
| Available | Current 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 Order | Quantity on order. This is a global product-level figure, not per-location. |
| Usage (period) | Quantity used over the selected Usage date range |
| Last Replenished | Date the location was last replenished, or a dash if never |
| Suggested | The remaining gap to bring the row up to its target after on-order and any staged takes are applied. Derived live; not editable. |
Source Picker
Section titled “Source Picker”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.”
| Column | Description |
|---|---|
| Source | The source location and a descriptor for the specific stock (pallet, serial number, container size/quantity, or “Loose”) |
| On Hand | On-hand quantity at the source |
| Allocated | Quantity allocated at the source |
| Available | Available quantity at the source |
| Claimed (others) | Quantity other rows have already staged to pull from the same source container |
| Take | The 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.
Auto-select
Section titled “Auto-select”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.)
Processing Replenishments
Section titled “Processing Replenishments”-
Set the filters and click Apply to load the snapshot.
-
Select a location tab to review its rows, adjusting Approaching % if you want a different at-risk margin.
-
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.
-
Confirm the Available (planned) and Suggested columns reflect the result you want.
-
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.
17. Pallets
Section titled “17. Pallets”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.
Manage Pallet Screen
Section titled “Manage Pallet Screen”You can create a new pallet or edit an existing one.
| Field | Required | Description |
|---|---|---|
| Pallet | No | Select an existing pallet to add to, or leave blank to create a new pallet |
| Pallet Location | Yes | Location of the pallet itself |
| Product Location | Yes | Location of the product inventory being added to the pallet |
| Description | No | Pallet description |
| Product | Yes | Product being placed on the pallet |
| Container | Yes | Container of the product to add |
| Quantity | Yes | Quantity 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.
View Pallet
Section titled “View 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.
18. Shipments
Section titled “18. Shipments”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.
Shipment List
Section titled “Shipment List”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.
| Column | Description |
|---|---|
| Shipment ID | Shipment identifier |
| Description | Shipment description |
| From Location | Origin location (clickable) |
| To Location | Destination location (clickable) |
| Closed | Whether the shipment is closed |
| Closed At | Date/time the shipment was closed |
| Completed | Whether the shipment is complete |
| Completed At | Date/time the shipment was completed (unloaded) |
Create / Edit Shipment
Section titled “Create / Edit Shipment”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.
| Field | Required | Description |
|---|---|---|
| Trailer | Yes | The trailer or truck carrying the inventory |
| From Location | Yes | Origin warehouse location |
| To Location | Yes | Destination warehouse location |
| Description | No | Free-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.
Shipment Lifecycle
Section titled “Shipment Lifecycle”Shipments are tracked with two flags: Closed and Completed.
| State | Closed | Completed | Meaning |
|---|---|---|---|
| Loading | No | No | Pallets can be added or removed. Inventory is at the trailer location. |
| In Transit | Yes | No | Shipment is sealed. Toggle Closed back to No to reopen if needed. |
| Delivered | Yes | Yes | Shipment 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.
Shipment Documents
Section titled “Shipment Documents”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.
19. Serialized Products
Section titled “19. Serialized Products”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.
Search Serialized Products
Section titled “Search Serialized Products”- 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.
Create / Edit Serialized Product
Section titled “Create / Edit Serialized Product”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
View Serialized Product Tabs
Section titled “View Serialized Product Tabs”| Tab | Description |
|---|---|
| Locations | Current location(s) of this serialized unit |
| Allocated | Any current allocations for this unit |
| Log | Full transaction history for this specific unit |
20. Bulk Update Product Costs
Section titled “20. Bulk Update Product Costs”Navigation: Inventory → Bulk Update Product Costs
This screen allows updating material and other costs for many products at once using an inline-editable grid.
Grid Columns
Section titled “Grid Columns”| Column | Description |
|---|---|
| ID | Product ID (clickable — opens product view in a new tab) |
| Description | Product name |
| Category | Product category hierarchy |
| Material Cost | Editable material cost per unit (up to 7 decimal places) |
| Other Cost | Editable 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.
Workflow
Section titled “Workflow”- Use the grid’s Filters side panel (or the per-column filter on the Category column) to narrow the product list.
- Click into Material Cost or Other Cost cells and enter updated values (up to 7 decimal places).
- Changed rows are highlighted. Use Undo / Redo to correct mistakes before saving.
- Click Save All Changes to commit all changes in a single batch.
21. View Location
Section titled “21. View Location”Navigation: Inventory → (click a location link from anywhere in the module)
This screen shows what is currently stored at a specific warehouse location.
Location Details
Section titled “Location Details”Displays the location code, description, type, and building.
Product Locations Grid
Section titled “Product Locations Grid”Lists all products and containers currently at this location:
| Column | Description |
|---|---|
| Product ID | Product code (clickable — opens product view in a new tab) |
| Product Description | Product name |
| Pallet ID | Pallet the inventory is on (if applicable) |
| Serial Number | Serial number if the product is serialized |
| Quantity | Total quantity at this location |
| UOM | Stock unit of measure |
Expand a row to see Container Size, Container Quantity, and Total Quantity.
Additional Tabs
Section titled “Additional Tabs”Products Tab
Section titled “Products Tab”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).
Allocations Tab
Section titled “Allocations Tab”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.
Replenishment Rules Tab
Section titled “Replenishment Rules Tab”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.
Product Log Tab
Section titled “Product Log Tab”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.
Shipments (Truck/Trailer Locations)
Section titled “Shipments (Truck/Trailer Locations)”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).
22. View Pallet
Section titled “22. View Pallet”Navigation: Inventory → (click a pallet link from anywhere in the module)
This screen shows the contents of a single pallet.
Pallet Contents Grid
Section titled “Pallet Contents Grid”| Column | Description |
|---|---|
| Product ID | Clickable — opens the product view |
| Description | Product name |
| Serial Number | Clickable — opens the serialized product view (if applicable) |
| Quantity | Total quantity on this pallet |
| UOM | Unit of measure |
Expand a row to see Container Size, Container Quantity, and Total Quantity.
Actions
Section titled “Actions”- 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)
23. View Product Log Transaction
Section titled “23. View Product Log Transaction”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.
Transaction Header
Section titled “Transaction Header”| Field | Description |
|---|---|
| Transaction ID | Unique transaction identifier |
| User | The user who performed the transaction |
| Date | Date and time of the transaction |
| Transaction Type | Transaction type (Receiving, Adjustment, Movement, Count, Allocation, etc.) |
| Purchase Order | Link to the associated PO (if the transaction was a PO receiving) |
Product Log Grid
Section titled “Product Log Grid”The grid shows every product line affected by this transaction:
| Column | Description |
|---|---|
| Product ID | Product identifier (clickable — opens the product view) |
| Location ID | Location where the change occurred (clickable) |
| Pallet ID | Pallet involved (if applicable, clickable) |
| Serial Number | Serial number of the unit (if serialized) |
| Container Size | Size of the container |
| Container Qty | Number of containers |
| Total Qty | Total quantity affected (Container Size × Container Qty) |
24. Permissions
Section titled “24. Permissions”| Permission | Actions | Description |
|---|---|---|
| product | create, read, update, delete | Manage product catalog |
| productCategory | create, read, update, delete | Manage product categories (Inventory Settings) |
| productType | create, read, update, delete | Manage product types (Inventory Settings) |
| unitOfMeasure | create, read, update, delete | Manage units of measure (Inventory Settings) |
| stockCode | create, read, update, delete | Manage stock codes (Inventory Settings) |
| building | create, read, update, delete | Manage buildings (Inventory Settings) |
| location | create, update, delete | Manage locations (Inventory Settings; create/update require Human ID, Building, and Location Type) |
| locationType | create, read, update, delete | Manage location types (Inventory Settings) |
| nmfcClassification | create, read, update, delete | Manage NMFC codes (Inventory Settings) |
| purchaseOrder | create, read, update, delete | Manage purchase orders |
| productMarkupMatrixEntry | create, read, update, delete | Manage the product pricing/markup matrix (Manage Product Pricing Matrix) |
| postInventoryAdjustmentReason | create, read, update, delete | Manage inventory adjustment reasons (Inventory Settings) |
| productCatalogItem | create, update, delete | Manage product catalog items |
| inventoryCount (in the Manage Inventory Counts permission set) | read, update | Create, delete, and post inventory count sessions and adjustments |
| locationReplenishmentRule | create, read, update, delete | Manage 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 |
| reversePurchaseOrderReceiving | — | Misc permission: reverse a posted PO receiving |
| manageShipments (Manage Intra-Co Shipments permission set) | read (shipment) | Create, close (toggle closed), and unload intra-company shipments |
25. Worked Examples
Section titled “25. Worked Examples”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:
- Navigate to Inventory → Purchase Orders and click +.
- Select Vendor = FastPipe Supply, Building = Main Warehouse, Vendor Terms = Net 30.
- 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
- PO Total = $550.00. Click Save. PO PO-4210 is created.
Step 2 — Receive the shipment:
- FastPipe delivers the goods on 02/10/2026.
- Navigate to Inventory → Receive Purchase Order (or from PO-4210 Actions → Receive Purchase Order).
- Select Location = BIN-A12, Freight = $35.00.
- Verify received quantities:
- Copper Elbow: Received Qty = 100, Unit Cost = $3.25
- Copper Tee: Received Qty = 50, Unit Cost = $4.50
- Click Post.
GL posting:
| Account | Debit | Credit |
|---|---|---|
| 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:
- Navigate to Inventory → Manage Inventory Counts and click +.
- Set Description =
Q1 2026 Quarterly Count, Building = Main Warehouse, Variance Ledger = (select the appropriate Variance Ledger account). - Click Save.
Step 2 — Enter count results:
- Navigate to Inventory → Post Inventory Counts.
- Select Inventory Count =
Q1 2026 Quarterly Count. - 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)
- Click Post.
System comparison:
| Product | System Qty | Counted Qty | Variance | Variance $ |
|---|---|---|---|---|
| 3/4-in Copper Elbow | 100 | 87 | -13 | -$42.25 |
| 3/4-in Copper Tee | 50 | 50 | 0 | $0.00 |
GL posting for variance:
| Account | Debit | Credit |
|---|---|---|
| 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:
- Navigate to Inventory → Allocate Inventory.
- 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
- Set mode = Reserve. Click Post.
- Both products now show Reserved Qty on the Manage Allocations screen.
Step 2 — Pick inventory:
- Return to Allocate Inventory for WO-2201.
- Set mode = Pick. The reserved quantities are shown.
- Select location BIN-A12 for both products. Click Post.
- Inventory is now picked and staged.
Step 3 — Move to truck stock:
- Navigate to Inventory → Move Inventory.
- From Location = BIN-A12, To Location = TRUCK-MT01 (Mike Torres’s truck).
- Product = 3/4-in Copper Elbow, Quantity = 5. Submit.
- 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)
26. Business Rules
Section titled “26. Business Rules”Rules are grouped by category. Each rule has an ID for cross-referencing.
Constraints
Section titled “Constraints”- 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).
Automations
Section titled “Automations”- 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.
Workflows
Section titled “Workflows”- 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.
Cross-Module Effects
Section titled “Cross-Module Effects”- 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.
27. Troubleshooting / FAQ
Section titled “27. Troubleshooting / FAQ”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.
28. Tips & Notes
Section titled “28. Tips & Notes”Receiving Against a PO
Section titled “Receiving Against a PO”The most common receiving workflow:
- Open the PO from Purchase Orders and use the Actions → Receive Purchase Order shortcut.
- Select the receiving Location.
- Verify or enter the Freight cost.
- For each line, enter the Received Quantity and confirm Unit Cost.
- Click Post. The system creates inventory and GL entries.
Month-End Inventory Count
Section titled “Month-End Inventory Count”- 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.
- Print or distribute count sheets to floor staff.
- As staff report counts, go to Post Inventory Counts, select the count session, and enter quantities in the Count Tags grid.
- Click Post to commit. Discrepancies are automatically posted to the Variance Ledger.
Cost Method Considerations
Section titled “Cost Method Considerations”- 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.
Setting Up a New Product
Section titled “Setting Up a New Product”- Create the product with the required fields (Description, Category, Stock Code, all three UOMs, Weight UOM, Stock/Suspense/Variance Ledgers).
- Check Is Purchased or Is Sold as appropriate.
- Navigate to the Vendors tab and add approved vendors with tiered pricing.
- Set Reorder Quantity and Max On-Hand Quantity to enable suggested order generation.
- If the product requires serialization, check Serialization Required.
Allocating for a Work Order
Section titled “Allocating for a Work Order”- From the work order, use the allocate action, or go to Allocate Inventory and select the work order.
- Choose Reserve to soft-reserve stock, or Pick to record the physical pick.
- For manufactured items, the system shows required ingredients and their current availability.
- Review and post the allocation.
Moving Inventory Between Locations
Section titled “Moving Inventory Between Locations”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.
Reversing a PO Receiving
Section titled “Reversing a PO Receiving”- Open the purchase order in Inventory → Purchase Orders and go to the Receivings tab.
- Click the Reverse Receiving icon (restore icon) on the receiving row to open the Reverse Purchase Order Receiving dialog.
- Select a Posting Date for the reversal.
- 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.
- Set a line’s Ctns to Reverse to 0 to skip it.
- Click Reverse. The system removes the containers from the receiving location and posts reversing GL entries.
Generating a Bill of Lading
Section titled “Generating a Bill of Lading”A Bill of Lading is generated for outbound customer (sales-order) shipments, not for intra-company inventory transfers.
- Open the sales-order shipment under Accounts Receivable.
- Verify the shipment lines, freight terms, and customer/destination address are correct.
- 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).