CMDB Import - Asset Record Created but CI Not Created for Certain Classes (Suspected Model Category

pallavishah
Tera Contributor

Hi Community,

I'm facing an issue while importing CMDB data from Excel into ServiceNow and would appreciate any guidance.

Environment

  • Importing CI data from multiple Excel files (different CMDB classes).
  • Using Import Sets and Transform Maps.
  • Target tables is alm_hardware

Issue

When I run the import:

  • The Asset record is created successfully.
  • The CI reference field on the Asset record gets populated.
  • However, the actual CI record is not created in the target CMDB table. Searching by Serial Number or Sys ID in the target CI table returns no record.

What I've Checked

  • Verified the Import Set completed successfully.
  • Verified the Transform Map mappings.
  • Confirmed mandatory fields are mapped.
  • Checked transform logs for errors.
  • Waited to ensure it wasn't an asynchronous CI creation process.
  • Verified the Asset record is created and linked to a CI sys_id, but no corresponding record exists in the CMDB class table.

Current Suspicion

We suspect the issue may be related to the Model Category configuration.

So we added/updated the Product models (mentioned in the excel file)  in the model category 

Questions

 

  • Has anyone encountered a similar issue where the Asset is created but the CI is not?
  • Can an incorrect Model Category cause this behavior?
  • Are there any specific logs or IRE diagnostics that should be checked to determine why the CI is not being inserted?
  • Is there any configuration related to Model Categories, IRE, or duplicate validation that I should verify?

 

 

  • Any lead and configuration would be appreciated asap as this is urgent.

Any suggestions or troubleshooting steps would be greatly appreciated.

Thank you!



 

1 REPLY 1

vaishali231
Kilo Sage

Hey @pallavishah 

Below are the areas I would recommend checking.

 

1. Verify the Product Model and Model Category

Since you mentioned recently updating the Product Models and Model Categories, this is one of the first areas to validate.

Please verify:

The Product Model exists in cmdb_model.

The Product Model is active.

The Product Model is associated with the correct Model Category.

The Model Category is configured to create the expected CI class.

For example:

Laptop → Computer Model Category → cmdb_ci_computer

Server → Server Model Category → cmdb_ci_server

If the Product Model is mapped to an incorrect or incomplete Model Category, the Asset may be created successfully while the CI creation process cannot determine which CMDB class should receive the record.

 

2. Check Whether the Transform Map Uses IRE

If your Transform Map is configured to use the Identification and Reconciliation Engine (IRE), the CI is not inserted directly into the CMDB table. Instead, the record is first evaluated against Identification Rules.

Please verify:

  1. Is Use IRE enabled on the Transform Map?
  2. Does the target CI class have a valid Identification Rule?
  3. Are all required identifier fields (for example, Serial Number, Name, FQDN, etc.) being populated?

If mandatory identifiers are missing or the record fails identification, IRE may reject the insert.

 

3. Review IRE Diagnostics

If IRE is involved, reviewing the diagnostics is often the quickest way to identify the root cause.

Useful places to check include:

CMDB Health → Identification Simulation

System Logs → Application Logs

System Logs → Errors

Search for entries related to:

Identification Engine

IRE

CMDB Identification

Serial Number

Import Set Run

The logs often indicate whether the record was rejected because of missing identifiers, duplicate detection, reconciliation rules, or other validation failures.

 

4. Verify the Target Table

You mentioned that the import target is alm_hardware.

Can you confirm whether:

the Transform Map targets alm_hardware directly, or

it targets a CMDB class (such as cmdb_ci_computer or cmdb_ci_server)?

This is important because the Asset and CI creation flow differs depending on which table is being imported.

 

5. Review the Transform Map

Even if the mappings appear correct, I would review the Transform Map for:

Field Map Scripts

onBefore scripts

onAfter scripts

onComplete scripts

onForeignInsert scripts

A custom script could be:

  1. aborting the insert,
  2. setting ignore = true,
  3. preventing CI creation while still allowing the Asset to be inserted.

 

6. Check Business Rules

Review active Business Rules on:

alm_hardware

cmdb_ci

cmdb_ci_hardware

the specific target CI class

Look for any custom logic that:

calls current.setAbortAction(true)

deletes the CI after insert

skips CI creation under certain conditions

 

if (ci.get('<CI_SYS_ID_FROM_ASSET>')) { gs.info('CI exists'); } else { gs.info('CI does not exist'); }

7. Validate the CI Reference Stored on the Asset

Since the Asset record contains a populated CI reference but the CI cannot be found, verify whether that referenced record actually exists.

For example:

var ci = new GlideRecord('cmdb_ci');

 

If the CI does not exist, it indicates that the Asset is referencing a record that was never successfully inserted (or was removed afterward).

 

8. Check Import and System Logs

In addition to the Transform History, review:

Import Log

Transform History

System Log → Errors

System Log → Transactions

Search using:

Import Set Run

Serial Number

Asset Tag

CI Sys ID

Sometimes the Transform completes successfully while a downstream Business Rule or IRE process logs the actual failure.

 

9. Verify Asset–CI Synchronization Configuration

If your instance relies on the out-of-box Asset/CI synchronization process, verify that the related Business Rules and configuration have not been modified or disabled.

A customization in this area can result in Asset creation succeeding while CI creation never occurs.

 

10. Perform a Manual Validation

As a final troubleshooting step, try creating an Asset manually using the same:

Product Model

Model Category

Serial Number

Asset Class

If the CI is still not created, the issue is likely related to configuration rather than the Import Set itself.

 

************************************************************************************************************************************

If this response helps, please mark it as Accept as Solution and Helpful.

Doing so helps others in the community and encourages me to keep contributing.

Regards

Vaishali Singh

Servicenow Developer
Linkedin - https://www.linkedin.com/in/vaishali-singh-2273361bb