For inventory products, cost and sell price come from the Purchase Order (PO) that brought the stock into Floorzap — not from the Product List. This is by design, and it means the cost and price fields are intentionally read-only at the product level.
Why the Fields Are Read-Only
When a product is set up as an inventory item in Floorzap, its cost and sell price are locked at the product level. This is because Floorzap pulls that pricing information directly from the Purchase Order used to receive the stock — not from the Product List record. The Product List stores the product's identity (name, SKU, unit of measure), but pricing is owned by the PO.
How Per-PO Pricing Works
Each Purchase Order acts as a price snapshot for the stock it brings in. All materials on a given PO are costed and sold at the price recorded on that PO at the time it was created. If you re-order the same product on a new PO next week and the vendor price has changed, those new units will automatically carry the updated cost and sell price — without affecting any stock already on hand from the original PO.
This means two batches of the same product can exist in your inventory at different costs, each tied to the PO that received them. Floorzap uses the PO cost to ensure margin accuracy on every job, regardless of when the stock was ordered.
How to View the Cost on a Stock Item
To see the per-PO cost tied to a specific batch of inventory stock, navigate to the product's inventory stock record. Each stock entry will show the Purchase Order it came from, and you can open that PO to review the cost and sell price recorded at the time of receipt.
What to Do If a Price Needs to Change
Because pricing is tied to the originating PO, there is no way to retroactively edit the cost or price of stock already received. If a pricing correction is needed, the options are:
Create a new PO — for future stock, simply create a new Purchase Order at the correct price. New stock received on that PO will carry the updated pricing automatically.
Adjustment PO — if the cost of existing stock needs to be corrected, contact your Floorzap administrator or support for guidance on the appropriate adjustment workflow for your setup.
Do not attempt to convert an inventory product back to non-inventory to edit the price. This can affect existing stock records and job costing history.
Why Other Fields Are Locked on an Inventory Product That Has Stock
Once an inventory product has stock, several fields on the product are locked on purpose, not only cost and price. These include the product category, the rolled good checkbox, the unit and the unit of measure (UOM).
Floorzap locks these fields because changing the product list while stock exists across historical and old work orders can change product costs downstream. It can also cause confusion, such as one person quoting at one price today and someone else updating the price tomorrow. Floorzap relies on the cost on the purchase order (PO) instead, which keeps costs consistent. Changing the unit of measure once there is stock is also confusing.
Allowing Some Product-Level Edits With the Consider Base Price Setting
Floorzap has a company setting, Consider Base Price For Inventory Product For Quotes/Invoices, that allows some edits at the product level even when the product has stock. It is a checkbox in the Product Option section of Company Information, and it is off by default.
With the setting on, you can change the product cost, selling price and margin on an inventory product that has stock. Not every field becomes editable. Fields such as the product category and the unit of measure stay locked either way.
When the Consider Base Price For Inventory Product For Quotes/Invoices setting is on, Floorzap always takes prices from the product list and not from the purchase order. Customers usually enter special pricing on purchase orders, so that special pricing is not used on quotes and invoices. Turn this setting on with caution.
Changing a Locked Field by Duplicating the Product
The easiest way to change a locked field on an inventory product that has stock is to duplicate the product, make the changes on the copy, and move the stock to the copy.
In the product list, duplicate the product.
Make your updates on the duplicate.
On the original product, add an inventory adjustment that reduces its stock to zero.
Add that stock to the new product.
These are the same steps as the workaround in "How to Change the Unit of Measure (UOM) on an Inventory Item", which covers the same workaround for a unit of measure change.
Why the Product List View May Not Show Updated Pricing Yet
If you're looking at a product in the Product List and the cost or price appears outdated or blank, it may be because no inventory has been received against a PO yet for that product. The Product List reflects the pricing from the most recently received PO. Until stock is received, those fields may not reflect a current price.
