Holder Management
Holder Management tracks who has the asset right now and maintains a complete audit trail of all custody changes.
Understanding Holder Trackingβ
Current Holder vs Holder Historyβ
Asset Pro maintains two types of holder information:
1. Current Holder (on Asset Card)
-
Stores the current holder of the asset
-
Quick reference: "Where is this asset right now?"
-
Updated whenever asset custody changes
-
Fields:
-
Current Holder Type
-
Current Holder Code
-
Current Holder Name
-
Current Holder Since
-
2. Holder History (Holder Entries)
-
Permanent ledger of all custody changes
-
Complete audit trail: "Who had this asset and when?"
-
Cannot be modified or deleted (ledger integrity)
-
Enables point-in-time holder lookup
-
Enables custody accountability reporting
Enable Holder History Featureβ
Holder History is controlled by a feature toggle in Asset Setup.
To enable/disable:
-
Choose the π icon, enter Asset Setup, and choose the related link
-
Go to Features FastTab
-
Toggle Enable Holder History
-
βοΈ Enabled (default): All holder changes are automatically logged to Holder Entries ledger
-
β Disabled: Only Current Holder is maintained (no history tracking)
-
Disable if:
-
You track custody externally in another system
-
You don't need audit trail for compliance
-
You want to simplify the system
Most organizations should keep it enabled for accountability and reporting.
Viewing Holder Historyβ
From Asset Cardβ
-
Open the Asset Card for any asset
-
Click Holder History action (ribbon)
-
The Holder Entries page opens, filtered to the current asset
From Holder Entries Pageβ
-
Choose the π icon, enter Holder Entries, and choose the related link
-
View all holder movements across all assets
-
Use filters to narrow by:
-
Asset No.
-
Holder Type/Code
-
Posting Date range
-
Entry Type
-
Understanding Holder Entriesβ
Each holder entry is a permanent ledger record documenting asset custody.
Entry Typesβ
Holder entries use three entry types:
1. Initial Balanceβ
Purpose: Records the starting holder when first tracking an asset
When Created:
-
When asset is created with a holder assigned
-
When enabling Holder History for existing assets with holders
-
Manual posting of initial holder position
Example Entry:
Entry No.: 1 Asset No.: ASSET-0001 Posting Date: 2024-01-15 Entry Type: Initial Balance Holder Type: Location Holder Code: MAIN-WH Holder Name: Main Warehouse Transaction No.: (blank)
Meaning: "On 2024-01-15, this asset was initially recorded at Main Warehouse"
2. Transfer Outβ
Purpose: Records asset leaving a holder
When Created:
-
When asset custody is transferred away from current holder
-
Always paired with a "Transfer In" entry
-
Links to corresponding Transfer In via Transaction No.
Example Entry:
Entry No.: 2 Asset No.: ASSET-0001 Posting Date: 2024-02-20 Entry Type: Transfer Out Holder Type: Location Holder Code: MAIN-WH Holder Name: Main Warehouse Transaction No.: 1
Meaning: "On 2024-02-20, this asset left Main Warehouse (Transaction #1)"
3. Transfer Inβ
Purpose: Records asset arriving at a new holder
When Created:
-
When asset custody is transferred to a new holder
-
Always paired with a "Transfer Out" entry
-
Links to corresponding Transfer Out via Transaction No.
Example Entry:
Entry No.: 3 Asset No.: ASSET-0001 Posting Date: 2024-02-20 Entry Type: Transfer In Holder Type: Customer Holder Code: C00001 Holder Name: Contoso Ltd. Transaction No.: 1
Meaning: "On 2024-02-20, this asset arrived at Contoso Ltd. (Transaction #1)"
Transaction Linkingβ
The Transaction No. field links paired Transfer Out/Transfer In entries.
Example: Complete Transfer
Transaction No. 1 (Asset moved from warehouse to customer): Entry No. 2: Transfer Out - Location: MAIN-WH (leaving) Entry No. 3: Transfer In - Customer: C00001 (arriving)
Transaction No. 2 (Asset returned from customer to warehouse): Entry No. 4: Transfer Out - Customer: C00001 (leaving) Entry No. 5: Transfer In - Location: MAIN-WH (arriving)
Holder Entry Fieldsβ
Entry No.β
-
Unique identifier, auto-incremented
-
Cannot be changed
-
Sequential across all holder entries
Asset No.β
-
The asset this entry applies to
-
Links to Asset table
-
Required field
Asset Description (read-only)β
-
FlowField from Asset table
-
Shows asset description for easy identification
Posting Dateβ
-
Date of the custody change
-
Required field
-
Used for point-in-time holder queries
Entry Typeβ
-
Initial Balance, Transfer Out, or Transfer In
-
Required field
-
Determines meaning of the entry
Holder Type / Holder Code / Holder Nameβ
-
Who holds (or held) the asset
-
Holder Type: Customer, Vendor, Location
-
Holder Code: Identifier of the specific holder
-
Holder Name: Name for display (auto-populated)
Transaction No.β
-
Links paired Transfer Out/Transfer In entries
-
Same number for both entries in a transfer
-
Empty for Initial Balance entries
Document Type / Document No. / Document Line No.β
-
Optional links to source documents
-
Examples:
-
Sales Order (for asset going to customer)
-
Purchase Return Order (for asset coming from vendor)
-
Transfer Order (for location-to-location moves)
-
-
Future integration points
External Document No.β
-
Customer's or vendor's document reference
-
Example: Customer's PO number, delivery note number
-
Optional field for external traceability
Reason Codeβ
-
Business Central reason code
-
Categorizes why the transfer occurred
-
Examples: SALE, REPAIR, RELOCATION, RETURN
-
Optional field
Descriptionβ
-
Free-text description of the movement
-
Examples: "Shipped for customer use", "Returned from service", "Relocated to new facility"
-
Optional field
User ID (read-only)β
-
User who created the entry
-
Auto-populated from system
-
Audit trail for accountability
Source Code (read-only)β
-
Business Central source code
-
Categorizes how entry was created
-
Set by posting codeunit
How Holder Changes Are Recordedβ
Automatic Trackingβ
When you change the Current Holder on an Asset Card and Enable Holder History is turned on:
-
System detects the holder change
-
Creates paired entries:
-
Transfer Out from old holder (if there was one)
-
Transfer In to new holder
-
-
Links entries with same Transaction No.
-
Updates Current Holder fields on asset
-
Sets Current Holder Since date
Manual Posting (Future)β
Phase 1 MVP focuses on direct asset card updates. Future phases will add:
-
Transfer Wizard - Guided transfer process
-
Batch Transfers - Move multiple assets at once
-
Document Integration - Create transfers from sales orders, returns, etc.
-
Mobile Transfers - Scan and transfer via mobile app
Point-in-Time Holder Lookupβ
One powerful feature of holder history is answering: "Who had this asset on a specific date?"
Use Casesβ
-
Billing: "Which customer had the asset during January?"
-
Compliance: "Where was this asset on inspection date?"
-
Investigation: "Who had custody when incident occurred?"
-
Reconciliation: "What assets were at Location X on year-end?"
Lookup Logicβ
The system walks backward through holder entries from the query date:
-
Filter entries for the asset up to query date
-
Find the last entry on or before that date
-
If Transfer Out: Find corresponding Transfer In to get new holder
-
If Transfer In or Initial Balance: That entry shows the holder
-
Return the holder at that point in time
Example:
Query: Who held Asset ASSET-0001 on 2024-02-15?
Holder Entries: 2024-01-15: Initial Balance - Location: MAIN-WH 2024-02-20: Transfer Out - Location: MAIN-WH (Transaction 1) 2024-02-20: Transfer In - Customer: C00001 (Transaction 1) 2024-03-10: Transfer Out - Customer: C00001 (Transaction 2) 2024-03-10: Transfer In - Location: MAIN-WH (Transaction 2)
Answer: Location MAIN-WH Reason: Last entry on or before 2024-02-15 is Initial Balance at MAIN-WH
Phase 1 MVP includes the ledger structure. Future phases will add:
-
Point-in-time holder reports
-
Custody timeline visualizations
-
Billing period queries
-
Asset location history reports
Working with Holder Entriesβ
Viewing and Filteringβ
Filter by Asset
-
See complete history for one asset
-
Access from Asset Card β Holder History action
Filter by Holder
-
See all assets that passed through a customer
-
Filter: Holder Type = Customer, Holder Code = C00001
Filter by Date Range
-
See all movements in a period
-
Filter: Posting Date = 01/01/2024..01/31/2024
Filter by Transaction
-
See paired Transfer Out/In entries
-
Filter: Transaction No. = 1
Analyzing Holder Historyβ
Custody Trail
-
Sort by Entry No. to see chronological custody changes
-
Identify patterns: frequent moves, long-term holders
Audit Reconciliation
-
Compare holder entries to physical inventory
-
Verify Current Holder matches latest entry
-
Identify discrepancies
Accountability
-
User ID shows who recorded each transfer
-
Posting Date shows when transfer occurred
-
Supports compliance and investigations
Holder History Best Practicesβ
Enable from Day 1β
-
Turn on Enable Holder History before creating assets
-
Ensures complete audit trail from the beginning
-
Difficult to reconstruct history retroactively
Accurate Posting Datesβ
-
Use actual transfer date, not data entry date
-
Posting Date should reflect physical custody change
-
Enables accurate point-in-time queries
Use Descriptionsβ
-
Add meaningful Description to entries
-
Explain why: "Shipped to customer for 6-month lease"
-
Helps future investigations and analysis
Link Documents When Possibleβ
-
Fill in Document Type/No. if transfer relates to a document
-
Creates traceability: holder entry β sales order
-
Supports integrated workflows
Regular Reconciliationβ
Monthly:
-
Review Current Holder vs physical location
-
Update any incorrect assignments
-
Investigate discrepancies
Quarterly:
-
Generate custody report by holder
-
Reconcile with customer/location records
-
Verify high-value asset locations
Annually:
-
Audit holder history completeness
-
Review compliance with custody policies
-
Analyze transfer patterns for process improvement
Holder Entry Integrityβ
Ledger Principlesβ
Holder Entries follow ledger principles:
β
Cannot Modify: Entries cannot be edited after creation
β
Cannot Delete: Entries cannot be removed (except deleting asset)
β
Chronological: Entry No. ensures sequence
β
Balanced: Transfers always have paired Out/In entries
β
Traceable: User ID and Source Code track origin
Data Consistency Rulesβ
Rule 1: Asset's Current Holder matches latest entry
-
Current Holder on Asset Card = Holder from latest Transfer In or Initial Balance entry
-
If inconsistency detected, indicates data issue
Rule 2: Transfer Out always paired with Transfer In
-
Same Transaction No. links them
-
Same Posting Date for both
-
Different holders (from/to)
Rule 3: No gaps in custody
-
Every Transfer Out must have corresponding Transfer In
-
No undefined custody periods
-
Supports continuous accountability
What Happens When Asset is Deletedβ
When an asset is deleted:
If Holder Entries Exist:
-
β Deletion is blocked
-
Error: "Cannot delete asset because it has holder history entries"
-
Reason: Preserves audit trail and ledger integrity
If No Holder Entries:
-
β Deletion is allowed
-
Asset had no custody tracking
-
Safe to remove
Instead of deleting assets with history:
-
Set Status = Disposed
-
Check Blocked = true
-
Set Decommission Date
-
Keep record for historical reporting
This preserves audit trail while removing asset from active use.
Troubleshootingβ
Current Holder Doesn't Match Holder Historyβ
Problem: Asset Card shows different holder than latest holder entry
Causes:
-
Holder changed directly on Asset Card without triggering history entry
-
Data corruption or direct database modification
-
Feature toggle changed mid-use
Solution:
-
Enable Enable Holder History in Asset Setup
-
Verify Current Holder on Asset Card
-
If incorrect, update to correct holder (will create new entry)
-
Review holder entries for gaps
Cannot Find Holder History Actionβ
Problem: Holder History action not visible on Asset Card
Cause: Feature not enabled in Asset Setup
Solution:
-
Go to Asset Setup
-
Features FastTab
-
Enable Enable Holder History
-
Refresh Asset Card
Transfer Entries Out of Sequenceβ
Problem: Transfer Out and Transfer In have different posting dates or wrong order
Cause: Manual entry or posting error
Prevention:
-
Always create paired entries with same Posting Date
-
Use Transfer wizard when available (future feature)
-
Validate Transaction No. links correctly