ServiceNow Hardware Asset Management Integration Patterns
Hardware Asset Management integration moves purchase orders, receipts, locations and costs from the systems that already hold them into the asset record. The page helps you choose event-driven or periodic transfers for each feed, assign an owner to each one, handle records that fail to map, and check that each feed still reflects reality.
Hardware Asset Management integration is about getting purchase orders, receipts, locations and costs into the asset record from the systems that already hold them, at the frequency those facts change. This page covers procurement integration from order to receipt and invoice, inventory and location tracking by event or by periodic reconciliation, finance and cost accounting, ownership of each feed, common transfer patterns and where each breaks, an ordered procedure for adding a new hardware feed, monitoring that shows a feed is still telling the truth, and when a live connector is the wrong answer.
Procurement System Integration
When new hardware is purchased, procurement system generates a purchase order. This data should flow to HAM automatically so new assets are created as soon as purchase is approved, not after delivery. Use a scheduled integration that pulls purchase orders daily and creates corresponding asset records in HAM with status “on order”.
When hardware is delivered and received, procurement updates purchase order with receipt date and supplier invoice. HAM should receive this update and change asset status to “received” and record the actual cost (invoice amount may differ from purchase order estimate). Use invoice matching to reconcile costs.
Error handling: if a purchase order does not map to HAM (undefined equipment type, invalid cost centre), the integration should log the error and notify procurement team for manual correction. Do not silently skip records because asset tracking gaps will result.
Inventory and Location Tracking
As hardware moves physically (delivered to data centre, shipped to user, moved between locations), inventory system should update HAM with location data. Use an event-driven approach: when inventory scans hardware barcode at a location, trigger HAM update immediately. This keeps location data current.
Some organisations use periodic reconciliation instead: once per month, inventory team exports location data and HAM imports it. This is simpler to implement but location data becomes stale between imports. Choose approach based on how often hardware location changes matter operationally.
Handle missing location data. If HAM receives an asset but no location data, the asset should remain in “received” status until location is recorded. Do not automatically place it in a default location because that masks data quality issues.
Finance and Cost Accounting
Finance systems track hardware cost and depreciation for accounting purposes. HAM should receive purchase cost from procurement and depreciation schedule from finance. Use a scheduled integration that runs monthly or quarterly to update HAM with cost and depreciation data.
Finance may correct costs after purchase (invoice corrections, volume discounts applied retroactively). HAM should handle cost corrections. When cost changes, update HAM record and recalculate depreciation if needed.
For disposal, finance needs to know when hardware is retired so they can close depreciation and record disposal. HAM should send retirement notifications to finance automatically or provide regular reports of retired assets.
Ownership and Responsibility
Assign integration ownership: who maintains the procurement integration, monitors for errors, debugs failures? Usually the team that owns HAM owns its integrations. But for complex multi-system integrations, designate a specific person or team responsible.
Define SLAs for integration. If procurement sends a purchase order, how quickly should it appear in HAM? Standard: same day. Critical: within hours. These SLAs shape architecture: real-time or batch integration.
Plan for data ownership handoffs. If procurement is the authoritative source for equipment type but HAM adds operational attributes (warranty expiry, support contract), both systems own parts of the record. Define clearly which system owns which fields to prevent conflicts.
Common Integration Patterns
Pattern 1: Daily batch sync. Run an integration each night that pulls all purchase orders from procurement created or updated in past 24 hours, creates or updates HAM assets accordingly. Simple, reliable, low cost. Downside: new assets do not appear in HAM until next morning.
Pattern 2: Real-time event integration. When procurement system creates purchase order, it immediately sends event to HAM, which creates asset. Fast and responsive. Downside: more complex, requires both systems to support real-time integration.
Pattern 3: Bidirectional sync. Procurement and HAM exchange data regularly. HAM sends retirement notifications to procurement so procurement can mark purchase orders as complete. Both systems stay in sync. More complex but better data consistency.
Error Handling and Data Quality
Validate data before integration. If procurement sends equipment type that HAM does not recognise, flag it as error, not failure. Allow configuration to map between terminology (procurement says “laptop”, HAM says “portable computer”).
Log all integration activity. When data was transferred, how many records, any errors? Use logs to detect patterns. If integrations consistently fail at 2am, likely a scheduled job conflict. If random failures, likely network or system availability issue.
Reconcile periodically. Once per quarter, compare asset counts in HAM to asset counts in procurement and inventory. Discrepancies indicate data quality problems that need investigation and correction.
Pick the transfer pattern from the frequency and direction of change
Hardware data moves between procurement, finance, the network, the service desk and the register itself, and each of those links can be built in several ways. The choice is often made on the technical team’s preference, which is a weak basis. A better basis is how often the source changes, which system is allowed to change the value, and what should happen when the two disagree. A purchase order that changes once is a different integration problem from a device whose location changes every day, and the same tool rarely fits both.
Before any connector is built, write down for each data field which system is the owner and which systems only read it. Many integration failures in hardware estates are ownership failures that look like technical faults: two systems write the same field, the last write wins, and nobody can say which value was correct.
Common transfer patterns and where each one breaks
The table sets out the patterns most often used for hardware data. The middle column describes the situation in which the pattern is the sensible choice. The right-hand column is the failure that appears when it is chosen for the wrong situation.
| Pattern | Fits when | Typical failure |
|---|---|---|
| Scheduled file import through import sets and transform maps | Supplier or finance sends a batch that changes in periods rather than continuously | A silent column change in the file that maps values into the wrong field |
| Scheduled API pull from a procurement or licensing platform | The source offers stable identifiers and changes are needed within a working day | Pagination or rate limits cause partial loads that look complete |
| Discovery feed reconciled into the register | Devices connect to the network and their technical attributes need refreshing | Discovery overwrites ownership or status that a person set on purpose |
| Event-driven update from the service catalog | A request triggers a state change that must appear in the register straight away | A cancelled request leaves a record in a provisional state |
| Manual reconciliation with a controlled template | The source is informal, low-volume or outside any system | The template becomes an unofficial register with its own edits |
An ordered procedure for adding a new hardware feed
A new feed should be added in the same order every time, because the shortcut of connecting it first and checking later is where most duplicates originate. Use this sequence to keep each source accountable for its own data.
- Name the source owner and the register owner for every field the feed will touch, and write down which of them may change the value.
- Load a sample into a staging area and compare it with records that are already verified, including at least one device that is known to be wrong in the source.
- Set the matching key and state what happens when the key is missing or appears twice. Do not let the feed create a record it cannot match without a human review.
- Run the feed in a mode that writes an exception log but no changes, for a full cycle, and review the log with both owners.
- Enable writes for the agreed fields only, and keep the exception log in front of the register owner, not buried in the integration tool.
Monitoring that shows the feed is still telling the truth
A feed that runs successfully can still be wrong, so monitoring should track content rather than only job status. Useful signals include the number of records created by the feed compared with the number created by people, the proportion of records the feed updates that a person later changes back, and the age of the oldest unresolved exception. Those signals change when a source changes its format, which a simple success flag often misses. The integration monitoring note covers how to assign an owner to each failure.
Situations where a live connector is the wrong answer
A one-off catalog of items, such as the devices from a retired site, is usually better loaded once through a controlled import with a validation step than wired to a live source. A permanent connector for a source that changes twice a year adds maintenance without adding freshness. Build the integration when the data changes often enough that a manual copy would be stale before anyone used it.
Which error handling approach suits a hardware feed?
Quarantine is usually the better choice than rejection. A rejected row disappears from view, while a quarantined row stays visible with the reason it was held, so the register owner can decide whether the source or the rule is wrong. For the wider error handling design, the integration error handling note covers how to classify a failure and keep retries safe.
Can a discovery feed update the custodian field?
Only when the custodian is derived from a verified login or assignment record. Discovery alone can see that a device is logged into by an account, but it cannot confirm that the person is the approved custodian, so treat its output as a suggestion until it is confirmed.
What does a clean import look like in practice?
Every row either loads, is quarantined with a reason, or is deliberately skipped with a recorded cause. The totals at the end of the run must add up to the file total, and a person must be able to find any single row from the source file in the register.
Should the supplier file be the master record for cost?
Often it should be the source for purchase cost, while finance remains the owner of depreciation and book value. Keeping those two roles separate stops a supplier’s invoice format from altering the depreciation schedule.
On the mapping side, the import sets and transform maps note is a useful companion.
Frequently asked questions
Should we create HAM assets immediately when procurement order is created or wait until delivery?
Create immediately. This gives you visibility into incoming equipment. Change status from 'on order' to 'received' when delivery is confirmed. This supports planning (knowing equipment is coming) and reconciliation (matching actual delivery to expected purchase).
How do we handle equipment that procurement orders but IT never receives?
This is a quality problem to investigate. Did procurement order it but delivery failed? Is it still in transit? Establish a rule: if equipment shows as 'on order' for longer than a threshold you set with no receipt, escalate to procurement to investigate.
Should HAM use procurement cost or actual invoice cost?
Use actual invoice cost from the supplier. Procurement estimates may differ from what is actually billed. Once invoice arrives, update HAM with actual cost for accurate financial reporting.
Related guides
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us