Inventory Value

Understanding inventory valuation methods and how Omnium calculates inventory cost values

Inventory valuation is the process of assigning monetary value to your stock. Accurate inventory valuation is essential for financial reporting, cost of goods sold (COGS) calculations, and understanding the true value of your inventory assets.

Omnium provides pluggable inventory value providers that implement different costing methods to suit various business needs and accounting requirements.


How Inventory Value Works

When inventory changes occur (receiving stock, shipping orders, adjustments), Omnium uses the configured inventory value provider to:

  1. Calculate unit cost - Determine the cost per unit for the inventory change
  2. Update inventory value - Recalculate the total value of inventory on hand
  3. Track cost history - Maintain batch records for providers that support it
  4. Handle multi-currency - Convert costs to the default currency when needed

Inventory Value Flow

Inventory Update Received
        |
        v
+------------------+
| Get configured   |
| value provider   |
+------------------+
        |
        v
+------------------+
| Update default   |
| inventory cost   |
+------------------+
        |
        v
+------------------+
| Process update   |
| (provider logic) |
+------------------+
        |
        v
+------------------+
| Recalculate      |
| batch quantities |
+------------------+
        |
        v
+------------------+
| Save inventory   |
| and transactions |
+------------------+

Available Providers

Omnium includes three built-in inventory value providers, each implementing a different costing methodology:

ProviderKeyBatch TrackingBest For
DefaultDefaultInventoryValueProviderNoSimple inventory, consistent pricing
Average CostAverageInventoryValueProviderYesStandard accounting, price smoothing
FIFOFifoInventoryValueProviderYesManufacturing, perishables, variable costs

Key Concepts

Inventory Batches

The Average and FIFO providers track inventory in batches. Each batch represents a specific receipt of inventory with its own cost information:

PropertyDescription
Transaction dateWhen the batch was received
QuantityAvailable quantity in the batch
Cost pricePer-unit cost in the default currency
Billing costPer-unit cost in the original purchase currency
Billing currencyCurrency used when purchasing this batch
Exchange rateExchange rate applied for currency conversion
Currency dateDate used for exchange rate lookup

Batches are ordered by transaction date, with the oldest batches processed first when reducing inventory.

Multi-Currency Support

Inventory costs can be tracked in multiple currencies. The Average and FIFO providers:

  • Store the original billing currency and cost
  • Apply exchange rates at the time of receipt
  • Convert all costs to the tenant's default cost currency for consistent valuation
  • Track the currency date used for exchange rate lookups

The default cost currency is configured in the tenant's product settings.

Inventory Value vs. Inventory Cost

  • Inventory Cost: The per-unit cost of the item
  • Inventory Value: The total value of inventory on hand, calculated as Cost x Quantity

For batch-tracking providers, the total inventory value equals the sum of all batch values.


Daily Value Snapshots

Omnium can create daily snapshots of your total inventory value across all warehouses. These snapshots are useful for:

  • Financial reporting
  • Trend analysis
  • Audit trails
  • External system synchronization

A scheduled task runs daily to create these snapshots. Each snapshot includes:

  • Warehouse-level breakdown
  • Original currency values
  • Converted values in configured currencies

Configuration

Inventory value providers are configured in tenant settings under InventoryManagement.InventoryValueProviders:

{
  "InventoryManagement": {
    "IsEnabled": true,
    "IsWriteEnabled": true,
    "InventoryValueProviders": [
      {
        "Key": "FifoInventoryValueProvider"
      }
    ]
  },
  "ProductSettings": {
    "DefaultProductCostCurrency": "USD",
    "Currencies": ["USD", "EUR", "NOK"]
  }
}

Only one inventory value provider can be active at a time. If no provider is configured, the DefaultInventoryValueProvider is used.

For more configuration options, see Inventory Configuration.


Choosing a Provider

Consider these factors when selecting an inventory value provider:

FactorDefaultAverageFIFO
Setup complexityMinimalLowLow
Storage overheadLowHigher (batches)Higher (batches)
Price fluctuation handlingNoneSmoothedPrecise
COGS accuracyApproximateGoodBest
Audit trailNoneFullFull
Multi-currencyBasicFullFull

Recommendations:

  • Default: Use when product costs are stable and you don't need detailed cost tracking
  • Average: Use for standard retail/wholesale operations where cost smoothing is acceptable
  • FIFO: Use for manufacturing, perishable goods, or when precise COGS tracking is required

On this page