> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcuserp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product Types and Costing

> Understand what product type changes affect, when Arcus blocks them, how product inventory value is calculated, and when Recost should be used to repair a bad value.

<Note>
  Product type is a workflow setting, not just a label. It controls which tabs appear,
  whether inventory is tracked on the record, how kits and variants behave, and how
  downstream inventory value can flow into accounting.
</Note>

## Where Product Type Is Managed

Open the product detail page, then use the **More actions** menu in the
header. Physical products, kit products, and variant parents can show **Convert
Type** when your role can edit products. Box and service products do not use this
conversion flow.

<Frame caption={"Use More actions from the product header when you need to duplicate, convert, archive, or delete a product."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/products/product-type-actions-menu.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=fb54af5e3c042aa5d91581582891ca0b" alt="Product detail page with the More actions menu open, showing Duplicate, Convert Type, Archive, and Delete actions" width="1810" height="1040" data-path="images/support/screenshots/products/product-type-actions-menu.png" />
</Frame>

<Warning>
  **Avoid converting records with real history**
  If the product has already been sold, purchased, stocked, fulfilled, or used as a kit
  component, conversion may be blocked. When the old behavior must remain traceable,
  archive the product and create a replacement record with the correct type.
</Warning>

## What Each Product Type Means

* **Physical**: a stocked item that can be bought, received, counted, allocated, packed, shipped, and valued.
* **Kit**: a sellable bundle. The kit line is sold to the customer, but component products drive buildability, cost, inventory availability, and fulfillment.
* **Variant Parent**: the family record for child variants. The parent organizes options such as size or color, while child variants carry the real stock and fulfillment behavior.
* **Box**: a package or container record used by shipping and packing rules, not a normal sales SKU.
* **Service**: labor, fees, subscriptions, installation, or other non-stock lines. Services do not need inventory or FIFO cost layers.

<Tip>
  **Pick the physical reality first**
  If a warehouse can count, receive, pick, or ship the exact item, it is usually Physical.
  If the customer buys one bundle made from other SKUs, it is usually Kit. If the
  customer chooses from a product family such as size or color, use a Variant Parent
  with child variants.
</Tip>

## Product Type Conversion Rules

The Convert product type modal shows the current type, allowed target type, and the
operational effect before anything changes. Select the target type first so the
**What changes** panel matches the action you are about to take.

<Frame caption={"The modal explains the conversion effect before the user commits the product type change."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/products/product-type-convert-modal.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=885514d98ef2eb389340837b29fa0b07" alt="Convert product type modal showing current type, new type, conversion effects, and Convert button" width="1060" height="980" data-path="images/support/screenshots/products/product-type-convert-modal.png" />
</Frame>

* **Physical to Variant Parent**: enables variant setup so option sets and child variants can be added. Arcus blocks this if the original product already has live order history.
* **Physical to Kit**: changes the record into a kit and clears reorder point and safety stock because kits derive availability from components. Arcus blocks this if the product has on-hand inventory.
* **Variant Parent to Physical**: removes variant option sets and child variants when eligible. Arcus blocks this when the parent has more than one variant or live orders.
* **Kit to Physical**: changes the kit back to a physical SKU when it has no remaining components. Arcus blocks this when kit components remain or live order history references the kit.

## Read Conversion Blocks Before You Work Around Them

Conversion blockers usually point to the exact reason the product cannot be
changed safely. Treat that message as an audit clue before deciding whether
the old record should be cleaned up or replaced.

* **Live order references**: the product has open selling or fulfillment activity that depends on its current behavior.
* **On-hand inventory**: physical stock exists, so converting to a kit would hide the stock on a record that should no longer own inventory.
* **Multiple child variants**: the parent still represents a real option family, so collapsing it into one physical product would lose meaning.
* **Kit components exist**: remove the recipe first if the kit truly should become a standalone physical product.

<Tip>
  **Replacement is often cleaner than conversion**
  When history should stay readable, archive the old product after open work is
  handled, then create the new product type with the right setup.
</Tip>

<Warning>
  **Conversion blockers protect history**
  A blocker is not a random error. It usually means Arcus found orders, inventory, variants,
  kit components, or other records that would make the conversion unsafe. Resolve the
  blocker only when the history truly should change; otherwise create a new product.
</Warning>

## How Product Type Affects Tabs

Arcus only shows tabs that make sense for the product. Physical products can show
Purchasing, Inventory, Bin Locations, Shipping, Manufacturing, Listings, and Analytics.
Kits show Components, Pricing, Inventory, Bin Locations, Shipping, Listings, and Analytics,
but not Purchasing or Manufacturing. Variant parents show Variants, and the child
variants carry their own focused editor for baseline pricing, inventory, shipping,
serials, listings, and component behavior. Parent product purchasing setup applies to
variant buying in the current UI.

* **Inventory tab**: appears for stocked products, not for pure service records or variant parents that delegate stock to child variants.
* **Components tab**: appears for kits and variant kits so the team can maintain what the sold item is made from and review cost behavior.
* **Variants tab**: appears for variant parents so operators can generate and maintain child SKUs.
* **Shipping tab**: matters for physical items, kit shipping setup, boxes, package presets, packaging classification, freight rules, hazmat, and customs data.
* **Manufacturing tab**: appears for physical products that can be manufactured. It does not appear on kits, services, boxes, or variant parents.
* **Serials tab**: appears only when a stocked product is serialized.

## Manufacturing Tab Behavior

Use the product **Manufacturing** tab when you need product-specific build context.
The tab can show build recipes, recent work orders, where-used rows, and supply
method controls.

* **Supply method**: choose Purchased, Manufactured, or Both when the product can be made in-house.
* **Build Recipes (BOMs)**: lists BOMs that produce this product, including type, revision, status, component count, active work order count, and the default BOM marker.
* **Build This Product**: appears only when the product has at least one active BOM.
* **Recent Work Orders**: links back to recent work orders for the product.
* **Where Used**: shows other BOMs that use this product as a component.

If the product is not already marked as Manufactured or Both, Arcus prompts you
to mark it for manufacturing before you build recipes and work orders. Kits derive
availability and cost from components, so kits use the Components tab instead of
the Manufacturing tab. Variant parents organize options; the child variants carry
the stock and costing behavior for the exact sellable choice.

## Inventory Value On A Product

Use the product **Inventory** tab when you need product-specific stock and
value context. The tab has its own location filter, so you can review all locations or
one location without depending on the global header location.

<Frame caption={"The Inventory tab combines stock position, location value, demand signals, FIFO context, and repair actions for one product."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/products/product-inventory-costing-tab.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=585405646d84e69cca629c954d2c82ea" alt="Product Inventory tab with all-locations scope, stock cards, run rates, Inventory by Location table, value column, and Recost action" width="1810" height="1040" data-path="images/support/screenshots/products/product-inventory-costing-tab.png" />
</Frame>

* **Available**: stock that can still be promised after allocations.
* **On hand**: physical quantity in the selected scope.
* **Allocated**: quantity reserved for open demand.
* **OPO**: quantity on open purchase orders that has not been received yet.
* **Avg unit value**: average value shown for the balance row, based on the current inventory value and quantity.
* **Value**: inventory value for that location or rollup.

<Note>
  **The product tab is an operating view**
  Operators use it to understand stock and cost health for one SKU. Accounting reports still
  remain the source of truth for financial statements and period-level review.
</Note>

## FIFO Layers

Receiving stocked inventory creates FIFO cost layers. Outbound inventory movement consumes
eligible layers in FIFO order so cost of goods sold and inventory value have a traceable
basis. The product tab can show active layers that still have remaining quantity.

<Frame caption={"Active FIFO layers explain the remaining cost layers available for future outbound inventory movement."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/products/product-active-fifo-layers.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=ca0466166615ba87897aa1a9c5199719" alt="Active FIFO Layers table with location, received quantity, remaining quantity, unit cost, total cost, and received date" width="1536" height="180" data-path="images/support/screenshots/products/product-active-fifo-layers.png" />
</Frame>

* **Received**: original quantity added to the layer.
* **Remaining**: quantity still available on that layer.
* **Unit cost**: cost captured when the layer was created.
* **Total cost**: remaining layer quantity multiplied by unit cost.
* **Received at**: when the layer entered inventory.

<Tip>
  **Use transaction detail for consumed layers**
  The product tab shows active layers. For a shipped, adjusted, or consumed movement, open
  Inventory Transactions and use FIFO Layer Detail to see which layers were consumed by that
  outbound transaction.
</Tip>

## When To Use Recost

Recost appears on a location row only when Arcus detects a negative inventory value and
the user has inventory adjustment permission. It recomputes the balance row from the live
FIFO ledger, refreshing the product value and average unit value.

1. Open the product detail page.
2. Open **Inventory**.
3. Select the affected location, or keep all locations selected when the warning is on the rollup row.
4. Review active FIFO layers and recent transactions.
5. If the row is negative because the balance record is out of sync with FIFO history, click **Recost**.
6. Refresh the row and confirm the value, average unit value, and active layer total now agree.

<Warning>
  **Recost is a repair action, not a costing shortcut**
  Use Recost when the balance row is poisoned by bad historical value data, such as old
  zero-cost layers that left the row negative. Do not use it to change a legitimate cost.
  If a receipt, vendor bill, adjustment, or purchase order cost is wrong, correct that
  source workflow first.
</Warning>

## Troubleshoot A Negative Value

A negative value means the product balance value is below zero for the selected
location or rollup. It can be a stale balance row, but it can also be a real
cost problem that needs source-workflow correction.

* **Recent zero-cost receipt**: correct the receiving or PO cost source if the layer was created at the wrong cost.
* **Outbound before good cost existed**: review FIFO layer detail on the outbound transaction and the receipt that supplied it.
* **Manual adjustment with bad unit cost**: correct the adjustment workflow instead of recosting over the bad source event.
* **Balance row does not match FIFO layers**: use Recost when active layers and transactions look right but the balance value is stale.
* **All-locations warning**: check each location row because one negative location can poison the product rollup.

<Note>
  Recost recomputes the balance from the FIFO ledger. It does not change purchase
  orders, vendor bills, receipts, historical order prices, or the physical
  quantity on hand.
</Note>

## Accounting Impact

Product costing connects to accounting through inventory value, cost of goods sold,
receiving, vendor bills, adjustments, and period review. A product can look operationally
fine and still need accounting review if the cost basis is wrong.

* **Receiving**: creates stock and cost basis. PO receiving should stay tied to the purchase order workflow.
* **Adjustments**: can change quantity and value when used for real corrections with a reason.
* **Fulfillment**: consumes stock and uses FIFO cost behavior for COGS context.
* **Manufacturing**: work order completion can consume components and create FIFO layers for finished goods or recovered components.
* **Kits**: inherit component availability and cost behavior instead of behaving like a standalone stocked SKU.
* **Variant parents**: organize child SKUs, but child variants carry the stock and cost activity.
* **Recost**: repairs the inventory balance row from FIFO layers. It does not edit receipts, adjustments, work orders, vendor bills, or historical transactions.

## Common Blocks

* **Convert Type is missing**: the product may be a service or box, or your role may not allow product edits.
* **Physical to kit is blocked**: remove or clear on-hand inventory before converting, or create a new kit product.
* **Variant parent to physical is blocked**: review child variants and order history before attempting conversion.
* **Kit to physical is blocked**: remove kit components first, unless history means a replacement product is safer.
* **Manufacturing tab is missing**: the product may be a kit, service, box, or variant parent. Use the kit Components tab or child variant record instead.
* **Build This Product is missing**: create and activate a BOM for the product first.
* **Recost is missing**: the selected location row may not be negative, or your role may not allow inventory adjustment.
* **Value is negative**: review receiving, adjustments, and FIFO layers. Use Recost only when the row needs repair from the ledger.
* **Average unit value looks wrong**: check whether the selected location, active FIFO layers, or source receiving costs explain the value.

## Related Articles

<CardGroup cols={2}>
  <Card title="Product Setup" href="/support/products/setup">
    Create physical products, services, and product records.
  </Card>

  <Card title="Product Variants" href="/support/products/variants">
    Generate variants, manage child SKUs, use the variant editor, and set variant kit behavior.
  </Card>

  <Card title="Kits and Assemblies" href="/support/products/kits">
    Create kits, add components, understand kit cost, and sell bundles safely.
  </Card>

  <Card title="Inventory Management" href="/support/products/inventory">
    Track stock, locations, reorder points, and inventory movement history.
  </Card>

  <Card title="Inventory Transactions" href="/support/inventory/transactions">
    Audit stock movement history, movement types, supply and demand rows, and FIFO layer detail.
  </Card>

  <Card title="Receive Inventory" href="/support/inventory/receive">
    Receive standalone stock, choose the right PO receiving path, and protect FIFO cost basis.
  </Card>

  <Card title="Bills of Materials" href="/support/manufacturing/boms">
    Create BOM recipes for assemblies, disassemblies, conversions, revisions, defaults, costs, and availability.
  </Card>

  <Card title="Work Orders" href="/support/manufacturing/work-orders">
    Create, release, start, complete, close, or cancel manufacturing work from active BOMs.
  </Card>
</CardGroup>
