Component BOM
Component BOM (Bill of Materials) links standard inventory items to assets, tracking which parts and consumables are used in each asset.
Understanding Component BOM
The Three Structures in Asset Pro
Asset Pro uses three separate structures for different purposes:
| Classification | Physical Hierarchy | Component BOM |
|---|---|---|
| Purpose: Organizational taxonomy | Purpose: Physical assembly of assets | Purpose: Standard parts and consumables |
| Question: "What TYPE is this asset?" | Question: "What ASSET is inside this asset?" | Question: "What PARTS does this asset use?" |
| Example: Commercial → Cargo Ship → Panamax | Example: Vessel → Engine → Turbocharger | Example: Vessel → Propeller Blades (Item), Navigation Lights (Item) |
| Structure: Classification Levels/Values | Structure: Parent-Child Asset relationships | Structure: Components linking Items to Assets |
| Master Data: Asset Industries, Levels, Values | Master Data: Assets | Master Data: Items (BC inventory) |
Don't confuse these two!
Physical Hierarchy (Parent-Child Assets):
-
Tracks sub-assets that are themselves assets
-
Example: Engine is an asset inside a Vessel asset
-
Both have asset numbers, descriptions, classifications
-
Tracked in Asset table via Parent Asset No.
Component BOM (Components):
-
Tracks standard inventory items used in an asset
-
Example: Propeller blades are Items used in a Vessel asset
-
Items are in BC Item table (standard inventory)
-
Tracked in Component table
Real Example:
Vessel MV-001 ├─ Child Asset: Engine ENG-001 (tracked as asset with parent) │ └─ Component: Air Filter (Item AF-2000, qty 2) │ └─ Component: Oil Filter (Item OF-500, qty 1) └─ Component: Propeller Blades (Item PROP-B-400, qty 4)
Use Cases for Component BOM
Parts Inventory Management:
-
Link consumable parts to assets
-
Know which items are needed for maintenance
-
Track quantities per asset
Maintenance Planning:
-
Schedule replacements based on installation dates
-
Forecast parts demand
-
Track component lifecycles
Spare Parts Management:
-
Identify required spares per asset
-
Calculate safety stock levels
-
Generate purchase orders for parts
Assembly Documentation:
-
Complete BOM for each asset
-
Track component positions
-
Serial number tracking for critical parts
Warranty and Service:
-
Record component installation dates
-
Track warranty expiration per component
-
Link service documents to components
Component Record Structure
Primary Identification
Asset No. (required)
-
Which asset this component belongs to
-
Links to Asset table
-
Cannot be changed after creation
Line No. (required)
-
Sequential line number
-
Unique within each asset
-
Typically: 10, 20, 30, ... (allows insertions)
Example:
Asset No.: MV-001 Line No. 10: Item PROP-B-400 (Propeller Blades) Line No. 20: Item NAV-L-100 (Navigation Light) Line No. 30: Item CHAIN-A25 (Anchor Chain)
Item Information
Item No. (required)
-
Standard Business Central Item
-
Must exist in Item table
-
Lookup to inventory items
-
Example: PROP-B-400, AF-2000, OIL-15W40
Item Description (read-only)
-
FlowField from Item table
-
Automatically populated when Item No. is selected
-
Shows item name for easy identification
Variant Code (optional)
-
Item variant if applicable
-
Links to Item Variant table
-
Example: Size variants, color variants
-
Filtered by selected Item No.
Quantity
Quantity
-
How many units of this item
-
Positive = Installed/Added
-
Negative = Removed (for tracking removals)
-
Decimal precision: up to 5 decimal places
-
Example: 4 (blades), 2.5 (liters), 0.05 (kg)
Unit of Measure Code
-
Unit in which quantity is measured
-
Links to Item Unit of Measure
-
Auto-populated from Item's Base UoM
-
Example: PCS (pieces), LTR (liters), KG (kilograms)
Physical Details
Position (optional)
-
Physical location within the asset
-
Free text field (max 50 characters)
-
Examples:
-
"Front Panel"
-
"Engine Bay - Left Side"
-
"Navigation Bridge - Starboard"
-
"Rack 3, Slot 5"
-
Use Cases:
-
Installation instructions
-
Troubleshooting location
-
Maintenance accessibility planning
Serial No. (optional)
-
Manufacturer's serial number for serialized components
-
Max 50 characters
-
Critical for:
-
Warranty tracking
-
Recall management
-
Individual component history
-
Lot No. (optional)
-
Manufacturing lot number
-
Max 50 characters
-
Used for:
-
Batch tracking
-
Quality control
-
Recall management
-
Dates
Installation Date
-
Date when component was installed
-
Used for:
-
Component age calculations
-
Maintenance interval tracking
-
Warranty start dates
-
Next Replacement Date
-
Scheduled replacement date
-
Based on:
-
Manufacturer recommendations
-
Operating hours
-
Regulatory requirements
-
Maintenance schedules
-
Example:
Item: Air Filter AF-2000 Installation Date: 01/15/2024 Next Replacement Date: 07/15/2024 (6 months later)
Document Tracking
These fields link the component to source documents.
Entry Type
-
Type of component entry
-
Values:
-
Install - New component installed
-
Remove - Component removed
-
Replace - Component replaced
-
Adjustment - Quantity or detail adjustment
-
Document Type / Document No. / Document Line No.
-
Links to source document if applicable
-
Examples:
-
Purchase Order - Parts purchased and installed
-
Service Order - Service document that installed part
-
Transfer Order - Parts transferred between assets
-
-
Optional fields for integration
Posting Date
-
Date when document was posted
-
May differ from Installation Date
-
Used for accounting reconciliation
External Document No.
-
Vendor's invoice number or reference
-
Max 35 characters
-
Example: Customer PO, vendor invoice number
Reason Code
-
Business Central reason code
-
Categorizes why component was added/removed
-
Examples: MAINTENANCE, REPAIR, UPGRADE, RECALL
System Fields
Blocked
-
☑️ Checked: Component is blocked (not for use)
-
☐ Unchecked: Active component
-
Use when phasing out or quarantining components
Created Date (read-only)
-
Date when component record was created
-
Auto-populated
Created By (read-only)
-
User who created the record
-
Auto-populated
Working with Components
Adding Components to Assets
Phase 1 MVP: Component records can be created directly in Component table.
Current Access:
-
Choose 🔎 icon, enter Components, choose the related link
-
Click New to create component entry
-
Fill in fields:
-
Asset No. - Select the asset
-
Line No. - Enter sequential number (10, 20, 30...)
-
Item No. - Select the inventory item
-
Quantity - Enter quantity
-
Installation Date - Enter installation date
-
Other optional fields as needed
-
Future Enhancement:
-
FactBox on Asset Card showing components
-
Inline component editing from Asset Card
-
Wizard for adding multiple components
-
Bulk import from templates
Viewing Components for an Asset
Method 1: Direct Table Access
-
Choose 🔎 icon, enter Components, choose the related link
-
Filter: Asset No. = (specific asset)
-
Shows all components for that asset
Method 2: From Asset List (future)
-
Drill-down action on Asset List
-
Opens filtered component list
Viewing Assets Using an Item
Question: "Which assets use Item PROP-B-400?"
-
Choose 🔎 icon, enter Components, choose the related link
-
Filter: Item No. = PROP-B-400
-
Shows all assets that have this item as a component
Use Cases:
-
Parts recall: Identify affected assets
-
Inventory planning: Know demand for parts
-
Cross-reference: Find similar assets
-
Maintenance scheduling: Group assets by common parts
Recording Component Replacements
Scenario: Replace an air filter
Option 1: Add/Remove Entries (audit trail)
Entry 1 (Old filter removed): Asset No.: MV-001 Line No.: 100 Item No.: AF-2000 Quantity: -1 (negative = removed) Entry Type: Remove Posting Date: 06/15/2024
Entry 2 (New filter installed): Asset No.: MV-001 Line No.: 110 Item No.: AF-2000 Quantity: 1 (positive = installed) Entry Type: Install Installation Date: 06/15/2024 Next Replacement Date: 12/15/2024
Option 2: Update Existing Entry (current state)
Update existing entry: Asset No.: MV-001 Line No.: 50 Item No.: AF-2000 Quantity: 1 Installation Date: 06/15/2024 (updated to new install date) Next Replacement Date: 12/15/2024 Serial No.: AF-2024-98765 (new serial number)
Use Add/Remove entries when:
-
Complete history is required for compliance
-
Need to track every replacement
-
Warranty claims require detailed history
Use Update existing when:
-
Only current state matters
-
Simplify BOM view (one line per item type)
-
Reduce data volume
Complete Example: Marine Vessel BOM
Scenario: Cargo Vessel MV-PANAMA-001
Asset Classification:
-
Industry: FLEET
-
Classification: Commercial → Cargo Ship → Panamax Bulk Carrier
Physical Hierarchy:
MV-PANAMA-001 (Root Asset) ├─ ENG-MAIN-001 (Main Engine - child asset) └─ ENG-AUX-001 (Auxiliary Engine - child asset)
Component BOM for Vessel MV-PANAMA-001:
Line 10: Item No.: PROP-B-600 Item Description: Propeller Blade Set (6-blade) Quantity: 6 UoM: PCS Position: Propeller Assembly - Stern Installation Date: 01/10/2023 Next Replacement Date: 01/10/2033 (10-year interval) Serial No.: PB-600-2023-00412
Line 20: Item No.: NAV-L-1000 Item Description: Navigation Light - Port Side (Red) Quantity: 1 UoM: PCS Position: Navigation Bridge - Port Side Installation Date: 01/15/2023 Next Replacement Date: 01/15/2025 (2-year interval)
Line 30: Item No.: NAV-L-1001 Item Description: Navigation Light - Starboard (Green) Quantity: 1 UoM: PCS Position: Navigation Bridge - Starboard Side Installation Date: 01/15/2023 Next Replacement Date: 01/15/2025
Line 40: Item No.: CHAIN-A-50M Item Description: Anchor Chain (Grade 3) Quantity: 300 UoM: M (meters) Position: Bow - Port Anchor Installation Date: 01/05/2023 Serial No.: AC-G3-2023-77812
Line 50: Item No.: PAINT-HULL Item Description: Hull Anti-Fouling Paint Quantity: 500 UoM: LTR Position: Hull - Below Waterline Installation Date: 03/20/2024 Next Replacement Date: 03/20/2026 (2-year dry dock interval)
Component BOM for Engine ENG-MAIN-001 (child asset):
Line 10: Item No.: AF-2000 Item Description: Air Filter Element Quantity: 2 UoM: PCS Position: Air Intake - Top Installation Date: 06/01/2024 Next Replacement Date: 12/01/2024 (6-month interval)
Line 20: Item No.: OF-500 Item Description: Oil Filter Quantity: 1 UoM: PCS Position: Oil System - Right Side Installation Date: 06/01/2024 Next Replacement Date: 09/01/2024 (3-month interval)
Line 30: Item No.: OIL-15W40 Item Description: Marine Engine Oil 15W-40 Quantity: 250 UoM: LTR Position: Oil Reservoir Installation Date: 06/01/2024 Lot No.: LOT-2024-Q2-8842
Use Cases and Workflows
Use Case 1: Maintenance Parts List
Scenario: Generate list of parts needed for vessel maintenance
Query: Components where Next Replacement Date ≤ (end of quarter)
Result:
Asset: MV-PANAMA-001
- NAV-L-1000 (due 01/15/2025)
- NAV-L-1001 (due 01/15/2025)
Asset: ENG-MAIN-001
- AF-2000 (due 12/01/2024)
- OF-500 (due 09/01/2024)
Action: Create purchase order for these items
Use Case 2: Parts Inventory Planning
Scenario: Know how many air filters are needed across the fleet
Query: Group by Item No., sum Quantity
Result:
Item: AF-2000 (Air Filter) Used in: 15 vessels Total Quantity: 30 filters (2 per vessel) Replacement Interval: 6 months Annual Demand: 60 filters/year Safety Stock: 10 filters
Action: Set reorder point in inventory system
Use Case 3: Recall Management
Scenario: Manufacturer recalls Lot No. LOT-2024-Q2-8842 for oil
Query: Components where Item No. = OIL-15W40 AND Lot No. = LOT-2024-Q2-8842
Result:
Affected Assets:
- MV-PANAMA-001 / ENG-MAIN-001 (250 liters)
- MV-CARGO-002 / ENG-MAIN-002 (250 liters)
- MV-BULK-003 / ENG-MAIN-003 (250 liters)
Total Recalled: 750 liters across 3 engines
Action:
-
Contact operators of affected vessels
-
Schedule oil changes
-
Update component records with new lot numbers
Use Case 4: Warranty Tracking
Scenario: Track warranty on propeller blades
Component Entry:
Asset: MV-PANAMA-001 Item: PROP-B-600 Serial No.: PB-600-2023-00412 Installation Date: 01/10/2023
Warranty Info (from Item or external system):
-
Warranty Period: 5 years from installation
-
Warranty Expires: 01/10/2028
Report: Components approaching warranty expiration
-
Filter: Installation Date < (5 years ago)
-
Action: Schedule inspection before warranty expires
Best Practices
Component Data Entry
Use Consistent Line Numbers:
-
Increment by 10: 10, 20, 30...
-
Allows inserting between lines later
-
Reserve ranges for component types:
-
10-99: Structural components
-
100-199: Consumables (filters, fluids)
-
200-299: Electronics/instruments
-
Record Installation Dates:
-
Always enter Installation Date
-
Critical for age-based maintenance
-
Enables warranty tracking
-
Supports lifecycle analysis
Track Serial Numbers for Critical Parts:
-
Record Serial No. for expensive components
-
Required for warranty claims
-
Enables recall management
-
Examples: Engines, pumps, electronics
Set Replacement Dates:
-
Enter Next Replacement Date based on:
-
Manufacturer recommendations
-
Operating hours intervals
-
Regulatory requirements
-
Historical data
-
-
Drives preventive maintenance scheduling
Use Position Field:
-
Document physical location
-
Aids technicians during maintenance
-
Reduces troubleshooting time
-
Standardize format: "(Area) - (Side/Detail)"
BOM Design
Appropriate Granularity:
-
Track components that:
-
Require regular replacement
-
Have significant cost
-
Are critical for operations
-
Need warranty tracking
-
Are subject to recalls
-
-
Don't track:
-
Trivial consumables (washers, bolts, etc.)
-
Items included in assemblies
-
Non-serialized low-value items
-
Example:
✅ Track: Propeller blades, filters, navigation lights ❌ Don't track: Bolts holding propeller, washers, cable ties
Structured vs Flat BOMs:
-
Flat BOM (recommended for Phase 1):
-
All components listed directly under asset
-
Simple to manage and query
-
Example: List all parts under Vessel
-
-
Structured BOM (future):
-
Components under sub-assets
-
Matches physical hierarchy
-
Example: Engine filters under Engine asset
-
Integration with Item Management
Use Standard BC Items:
-
Create Items in standard BC Item table
-
Leverage existing inventory management
-
Benefits:
-
Inventory availability checks
-
Purchase order integration
-
Cost tracking
-
Vendor management
-
Item Numbering:
-
Follow consistent naming convention
-
Include category prefix
-
Examples:
-
PROP-(type)-(size)
-
FILT-(type)-(model)
-
ELEC-(category)-(model)
-
Item Categories:
-
Use BC Item Categories for component types
-
Enables reporting and filtering
-
Examples:
-
PROP (Propulsion Parts)
-
FILT (Filters)
-
ELEC (Electronics)
-
Maintenance Planning
Replacement Intervals:
-
Define intervals by:
-
Calendar time (months/years)
-
Operating hours (engine hours, flight hours)
-
Usage cycles (start/stop cycles)
-
Condition-based (inspections)
-
Generate Work Orders:
-
Filter components by Next Replacement Date
-
Group by asset location/holder
-
Create maintenance work orders
-
Update Installation Date after completion
Track Consumption:
-
Negative quantity for removed components
-
Positive quantity for installed components
-
Calculate consumption rates
-
Forecast future demand
Future Enhancements
Phase 1 MVP includes core component BOM structure. Future phases will add:
UI Enhancements
-
FactBox on Asset Card: Show component list
-
Inline Editing: Add/edit components from Asset Card
-
Component Templates: Quick-add common component sets
-
Drag-Drop Ordering: Reorder component lines
Workflow Automation
-
Automatic Posting: Link to service orders, purchase orders
-
Bulk Operations: Add components to multiple assets
-
Component Transfer: Move components between assets
-
Replacement Wizard: Guide through component replacement
Reporting and Analysis
-
BOM Reports: Complete component listing per asset
-
Parts Forecast: Predict parts demand
-
Maintenance Schedule: Components due for replacement
-
Cost Rollup: Sum component costs to asset level
-
Inventory Integration: Check availability before scheduling
Advanced Features
-
Operating Hours Tracking: Time-based replacement intervals
-
Condition Monitoring: IoT sensor integration
-
Mobile App: Scan and update components in field
-
Photo Attachments: Component installation photos