BSS/OSS Academy
4.110 min read

Inventory Management Overview

What "Inventory" Means in Telco

In telecom, inventory does not mean a warehouse full of boxes. It means the runtime record of everything that has been instantiated for a customer or on the network. When a customer orders a broadband service, the catalog describes what can be sold; inventory records what was actually created.

Inventory is the living, breathing state of every product subscription, every service instance, and every resource allocation in your operator environment. Without accurate inventory, you cannot bill correctly, troubleshoot efficiently, or plan capacity.

Telco Inventory
The runtime repository of all instantiated entities across the BSS/OSS stack. Inventory tracks the current state, characteristics, and relationships of every product instance, service instance, and resource instance that has been created, configured, or allocated in the operator's environment.

The catalog is the blueprint; inventory is the building. You design in the catalog, you live in inventory.

Common telco architecture principle

Catalog (Design-Time) vs Inventory (Runtime)

One of the most important distinctions in BSS/OSS architecture is between design-time and runtime data. Catalogs hold design-time definitions: templates, specifications, and rules. Inventories hold runtime instances: the actual products, services, and resources that exist right now for real customers.

Catalog vs Inventory at a Glance

AspectCatalog (Design-Time)Inventory (Runtime)
PurposeDefine what CAN be createdTrack what HAS BEEN created
ContainsSpecifications, templates, rulesInstances, states, assignments
CardinalityOne spec per typeThousands of instances per spec
LifecycleDesign → Publish → RetireInstantiate → Modify → Terminate
Who managesProduct managers, architectsAutomated by order fulfilment
Change frequencyUpdated occasionally (new products, changes)Updated constantly (every order, every event)
TMF APIsTMF620, TMF633, TMF634TMF637, TMF638, TMF639
Catalog vs Inventory Example
The Product Catalog contains the specification "Fixed Broadband 100Mbps" — this defines what the product looks like. Product Inventory contains "Customer #42817's Fixed Broadband 100Mbps subscription, activated on 2024-03-15, status: Active, monthly charge: $49.99." There is one specification but potentially 500,000 inventory instances referencing it.

When an order is fulfilled, the fulfilment engine reads the catalog specifications and decomposition rules, then creates instances in inventory at each layer. This is why catalog accuracy directly impacts inventory correctness — a bad catalog rule produces bad inventory entries.

The Three Inventory Layers

Just as the catalog has three layers (Product, Service, Resource), inventory mirrors this with three corresponding runtime layers. Each layer tracks a different class of instantiated entity, owned by a different domain.

CATALOG (Design-Time)INVENTORY (Runtime)Product Layer (BSS)TMF620 / TMF637Product SpecificationTemplate / BlueprintProduct Inventory InstancesPI: BB 200MbpsCustomer #42817PI: BB 100MbpsCustomer #39201PI: IPTV PremiumCustomer #42817instantiatesService Layer (OSS)TMF633 / TMF638Service SpecificationCFS / RFS TemplateService Inventory InstancesCFS: Internet Access200Mbps — ActiveRFS: GPON BearerOLT-EAST-07RFS: QoS ProfileBW-200M-DOWNinstantiatesResource Layer (OSS)TMF634 / TMF639Resource SpecificationPhysical / LogicalResource Inventory InstancesOLT-EAST-07 Port 3Physical — In UseVLAN 1042Logical — AllocatedIP 203.0.113.47Logical — Allocatedinstantiatesrealised byuses

Three inventory layers — each mirrors a catalog layer, tracking runtime instances rather than design-time specifications

Figure 4.1 — The three inventory layers and their relationships to catalog specifications
TM Forum Inventory APIs
TM Forum defines a separate Open API for each inventory layer: TMF637 (Product Inventory Management), TMF638 (Service Inventory Management), and TMF639 (Resource Inventory Management). Each API manages the lifecycle of instances within its respective domain, maintaining clear separation of concerns.

Layer 1: Product Inventory

Product Inventory is the BSS-side runtime view of what each customer has bought. It tracks product instances — subscriptions, add-ons, and bundles — along with their commercial characteristics: price, contract dates, billing account association, and lifecycle state.

  • Owned by the BSS domain (CRM/SLM)
  • Tracks what the customer has bought and what they are paying for
  • Each entry references a Product Specification from the Product Catalog
  • Contains commercial attributes: price, contract term, promotions applied
  • Source of Record for subscription state (active, suspended, terminated)
  • TMF637 Product Inventory Management API

Layer 2: Service Inventory

Service Inventory is the OSS-side runtime view of customer-facing and resource-facing service instances. It tracks CFS and RFS instances: which services are active, their technical characteristics, and how they map to the product instances above and resource instances below.

  • Owned by the OSS domain (Service Inventory / SOM)
  • Tracks instantiated CFS and RFS entities
  • Each entry references a Service Specification from the Service Catalog
  • Contains technical service attributes: bandwidth, QoS class, VLAN assignments
  • Links upward to Product Inventory and downward to Resource Inventory
  • TMF638 Service Inventory Management API

Layer 3: Resource Inventory

Resource Inventory is the infrastructure-level runtime view of physical and logical resources that have been allocated, assigned, or configured. It tracks everything from OLT ports and IP addresses to VNF instances and network slices.

  • Owned by the OSS domain (Resource Inventory / Network Inventory)
  • Tracks physical resources (devices, ports, cables) and logical resources (VLANs, IPs, policies)
  • Each entry references a Resource Specification from the Resource Catalog
  • Contains resource-specific attributes: firmware version, location, capacity, utilisation
  • Critical for capacity planning and network operations
  • TMF639 Resource Inventory Management API

How the Three Layers Connect

The three inventory layers are not isolated silos. They are linked by references that trace the full chain from what a customer bought, to what services were created, to what network resources were consumed. This traceability is essential for impact analysis, troubleshooting, and billing accuracy.

Inventory Chain: Product → Service → Resource

1
Product Instance Created
Product Inventory (BSS)

When an order is fulfilled, a product instance is created in Product Inventory referencing the Product Specification. Example: Customer #42817 now has a "Fixed Broadband 200Mbps" product instance.

2
Service Instance(s) Created
Service Inventory (OSS)

Based on catalog decomposition rules, corresponding CFS and RFS instances are created in Service Inventory. Example: CFS:Internet-Access (200Mbps) + RFS:GPON-Bearer + RFS:VLAN-Service + RFS:IP-Profile.

3
Resource Instance(s) Allocated
Resource Inventory (OSS)

Based on RFS-to-Resource decomposition, specific resources are allocated and tracked in Resource Inventory. Example: OLT-EAST-07 Port 3, VLAN 1042, IP 10.42.1.0/24.

4
Cross-References Established
All Inventory Systems

Each inventory entry holds references to related instances in adjacent layers, enabling full traceability from customer subscription down to individual network ports.

Why Inventory Is Critical for Operations

Inventory accuracy is one of the biggest operational challenges in telecom. If inventory does not reflect reality, nearly every downstream process breaks. Here is why inventory matters across different operational concerns.

Product Inventory is the basis for billing. If a product instance shows "Active" but the service was actually disconnected, the customer is being overbilled. If a product instance was never created despite successful activation, the operator is losing revenue. Revenue assurance teams spend enormous effort reconciling Product Inventory against billing records.

  • Product Inventory state drives charge start/stop dates
  • Characteristic values (speed tier, add-ons) determine pricing
  • Contract terms and promotions are tracked in Product Inventory
  • Revenue leakage often traces back to inventory-billing mismatches

The Inventory Accuracy Problem

In reality, many operators struggle with inventory accuracy. Physical resources get swapped without updating systems. Manual provisioning bypasses inventory updates. Legacy migrations leave ghost entries. The result is a growing gap between what inventory says and what actually exists on the network.

Common Inventory Accuracy Issues
Stale entries: resources that were physically removed but remain in inventory. Ghost services: service instances in "Active" state that no longer function. Phantom availability: resources marked "free" that are actually in use by undocumented configurations. Orphaned instances: inventory entries with broken references to parent or child layers. These issues compound over time and are expensive to remediate.

Imagine a library catalog that says a book is on shelf 3, row 2. If someone moves the book without updating the catalog, the next person looking for it will not find it. In telco, the "books" are network resources and the "catalog" is inventory. Every time something changes on the network without updating inventory, accuracy degrades.

  • Manual provisioning that bypasses automated inventory updates
  • Network element replacements during maintenance windows
  • Legacy system migrations that lose cross-reference data
  • Failed orders that partially update inventory before rolling back
  • Configuration changes made directly on network elements (out-of-band)
  • Batch data loads during system consolidation projects

Mature operators implement continuous inventory reconciliation: periodically polling network elements to compare actual state against inventory records, then flagging discrepancies for investigation. TM Forum's approach through TMF Open APIs supports event-driven inventory updates (using TMF event notifications) and batch reconciliation via API queries. Some operators use discovery tools that scan the network and rebuild resource inventory from the ground up.

Source of Record by Inventory Layer

Each inventory layer has a clear Source of Record (SoR). Getting this wrong is one of the most common integration errors in BSS/OSS projects. The golden rule: the SoR is the system that is authoritative for an entity's lifecycle state and core attributes.

Inventory Source of Record Matrix

EntitySystem of RecordSystem of EngagementSystem of ReferenceNotes
Product InstanceProduct Inventory / CRMSelf-Service Portal, Agent DesktopBilling, AnalyticsBSS owns the commercial state. Billing reads from it.
CFS InstanceService InventorySOM (Service Order Management)Product Inventory, Assurance systemsOSS owns the service state. Product Inventory references it.
RFS InstanceService InventorySOM / Activation engineService Assurance, Network OperationsTechnical service layer, usually within same system as CFS.
Physical ResourceResource InventoryField Operations / LogisticsNetwork Planning, Capacity systemsNetwork inventory owns physical asset tracking.
Logical ResourceResource InventoryROM / Activation engineService Inventory, IP Address MgmtLogical allocations (VLANs, IPs) tracked here.

TMF Open API Mapping for Inventory

TM Forum provides a dedicated Open API for each inventory domain. These APIs follow REST principles and share a common event notification pattern for asynchronous updates.

Inventory TMF Open APIs

APIDomainKey OperationsPrimary Consumers
TMF637Product InventoryCreate, retrieve, update, delete product instancesBilling, CRM, Self-Service Portal
TMF638Service InventoryCreate, retrieve, update, delete service instances (CFS/RFS)SOM, Service Assurance, Product Inventory
TMF639Resource InventoryCreate, retrieve, update, delete resource instancesROM, Resource Order Mgmt, Network Operations
TMF640/641Service ActivationActivate, modify, deactivate service configurationsSOM, Activation engines

Where Inventory Fits in the Architecture

Inventory sits at the heart of BSS/OSS operations. It is populated by the fulfilment chain (COM/SOM/ROM), queried by assurance processes (fault correlation, performance monitoring), and read by commercial systems (billing, self-service, CRM). Virtually every operational process either reads from or writes to inventory.

Intermediate

Inventory as the Operational Backbone

Inventory is not just a data store — it is the single source of truth for what exists. Every process that asks "what does this customer have?" or "what is running on this network element?" ultimately queries inventory.

In ODA (Open Digital Architecture) terms, inventory functions span multiple ODA components. Product Inventory aligns with the Commercial Management domain. Service Inventory aligns with the Service Management domain. Resource Inventory aligns with the Resource Management domain. The clean separation of these domains is a core ODA principle.

Understanding Inventory Depth

Think of inventory like the records at a car rental company. The catalog is the list of car types available (sedan, SUV, convertible). The inventory is the record of every specific car: which customer has it, when it was rented, when it is due back, and its current mileage. You design with the catalog. You operate with inventory.

The power of three-layer inventory is end-to-end traceability. Given a customer complaint about slow internet, you can trace: Product Inventory says they have "Broadband 200Mbps" (active). Service Inventory says CFS:Internet-Access is active with 200Mbps configured. Resource Inventory shows OLT Port 3 on OLT-EAST-07, VLAN 1042. Now you can check whether the OLT port is experiencing errors — completing the chain from commercial complaint to technical root cause.

In large operators, inventory is often federated across multiple systems. A centralized Product Inventory may coexist with domain-specific Service and Resource Inventories (e.g., separate inventories for fixed, mobile, and transport networks). The integration challenge is maintaining cross-references and consistency across these federated stores. TMF Open APIs provide the standardized interface, but the data governance and reconciliation processes are what truly determine inventory accuracy.

Some operators adopt an inventory federation pattern using an Enterprise Inventory layer that aggregates views from domain-specific inventories. Others use an event-driven synchronization pattern where each domain inventory publishes state change events, and a correlation engine maintains the cross-domain view.

Common Misconceptions About Inventory

Inventory Myths vs Reality

MisconceptionReality
"Inventory is just a database"Inventory has lifecycle logic, validation rules, and event publishing — it is an active system, not a passive store.
"One inventory system is enough"Each layer has fundamentally different data models, ownership, and access patterns. Forcing them into one system creates complexity.
"The network IS the inventory"The network represents current state, but inventory must also track planned state, historical state, and commercial context that the network does not know about.
"Inventory is only updated during fulfilment"Inventory also changes during assurance events, maintenance, capacity expansion, customer-initiated changes, and reconciliation.
"If billing works, inventory is fine"Billing may work from its own copy of data. Product Inventory, Service Inventory, and Resource Inventory can all be out of sync with each other.

What This Module Covers

This module explores each inventory layer in depth, then covers the activation and provisioning processes that populate inventory with real data. Here is what each section covers:

  1. Section 4.1 (this section): Inventory overview, three layers, catalog vs inventory distinction
  2. Section 4.2: Product Inventory — subscription lifecycle, commercial state management, TMF637
  3. Section 4.3: Service Inventory — CFS/RFS instances, service qualification, TMF638
  4. Section 4.4: Resource Inventory — physical/logical resources, topology, capacity, TMF639
  5. Section 4.5: Activation & Provisioning — how inventory entries get created and configured on the network

Section 4.1 Key Takeaways

  • Telco inventory is NOT warehouse inventory — it is the runtime record of all instantiated products, services, and resources
  • Three inventory layers mirror the three catalog layers: Product, Service, and Resource
  • Catalogs are design-time (what CAN exist); inventories are runtime (what DOES exist)
  • Each layer has a dedicated TMF Open API: TMF637 (Product), TMF638 (Service), TMF639 (Resource)
  • Inventory accuracy is critical for billing, fault management, capacity planning, and order fulfilment
  • Cross-layer traceability — from product instance to resource allocation — is essential for operations
  • Each inventory layer has a distinct Source of Record: BSS for Product, OSS for Service and Resource