Asset inventory sync fails with duplicate records after importing data to cloud asset management

We’re encountering duplicate asset records after importing our asset inventory using EIB. The import process completes without any errors flagged, but when we run asset reports, we see duplicate entries for the same physical assets.

Each asset appears twice in the system with different Workday IDs but identical asset tags and serial numbers. This is causing major issues with our asset tracking and reporting accuracy. The EIB import log shows all records as successfully processed with no warnings or errors.

We used the standard Asset EIB template and mapped our legacy asset data according to Workday documentation. The source data doesn’t contain duplicates - we verified this multiple times before import. Has anyone experienced duplicate creation during EIB imports despite clean source data?

I need to address all three aspects of your issue to provide a complete solution.

Understanding your duplicate record problem:

Duplicate asset records after import: This occurs because your EIB template is operating in “Create Only” mode without proper matching criteria configured. Each row in your import file is treated as a new asset creation request rather than checking for existing records first.

EIB used for data upload with no errors flagged: EIB successfully creates all records as requested - it’s not an error from EIB’s perspective. The duplication happens because EIB isn’t configured to detect that these assets already exist in the system. EIB validation checks data format and required fields, but doesn’t validate business logic around duplicates unless you configure matching criteria.

No import errors flagged: This is expected behavior. EIB completed its job perfectly - creating new asset records as instructed. The issue is configuration, not execution.

Root cause identification:

Your Asset EIB template lacks proper matching criteria configuration. When you import assets, Workday needs to know which field(s) uniquely identify an asset. Without this configuration, every import row creates a new record regardless of whether an asset with the same tag or serial number already exists.

Additionally, if you performed a test import before your production import without clearing the test data, those test records remain in the system, creating the appearance of duplicates.

Complete resolution process:

Step 1 - Configure EIB Matching Criteria:

  • Navigate to Integration System > EIB Templates
  • Search for and open your Asset EIB template
  • Scroll to the “Matching Criteria” section
  • Add “Asset Tag” as a unique identifier field
  • Also add “Serial Number” as a secondary matching field
  • Set the matching logic to “Match on Asset Tag OR Serial Number”
  • Save the template

Step 2 - Clean Existing Duplicates:

  • Run an Asset report showing Asset Tag, Serial Number, and Workday ID
  • Export to Excel and identify duplicate pairs
  • For each duplicate set, determine which record to keep (usually the one with earlier creation date)
  • Use EIB in Update mode to deactivate the duplicate records
  • Set Status = Inactive and Disposition Date = current date for duplicates

Step 3 - Reimport with Corrected Template:

  • Use your updated EIB template with matching criteria configured
  • Run a test import with 10-20 sample assets first
  • Verify that existing assets are updated rather than duplicated
  • Once validated, proceed with full data import

Step 4 - Prevent Future Duplicates:

  • Create a business rule on Asset business object
  • Configure validation: Asset Tag must be unique across all active assets
  • This provides system-level protection against manual duplicate creation
  • Enable the rule for both UI and integration channels

Additional considerations for reporting accuracy:

Your duplicate records are impacting analytics reports because asset counts and valuations are inflated. After cleanup, run your standard asset reports and compare totals against your source system to validate accuracy. Also review any asset depreciation calculations that may have been affected by the duplicates.

If you need to preserve audit history, don’t delete the duplicate records - instead mark them as inactive with appropriate disposition codes. This maintains data lineage while removing them from active reporting.

The matching criteria configuration is critical for any future asset imports or updates. With proper matching, EIB will update existing records instead of creating duplicates, ensuring your asset inventory remains accurate and synchronized with source systems.

Go to Integration System > EIB Templates > Asset. Look for the “Matching Criteria” section at the bottom of the template configuration. If Asset Tag isn’t listed there as a matching field, EIB won’t use it to identify existing records. You need to add Asset Tag or Serial Number as a unique identifier in the matching criteria.

I checked the integration history and confirmed the EIB only ran once. However, I noticed that our EIB template has the “Asset Tag” field mapped but I’m not sure if it’s configured as a matching field. How do I verify the matching criteria in the EIB template?

I’ve seen this issue before. The problem is likely that you ran the EIB import twice, or you have both an initial load and an update load configured. Even though your source file is clean, if the import executes multiple times, each execution creates new records. Check your integration history to see if the same file was processed more than once. Also verify that you don’t have any scheduled integrations running in parallel with your manual EIB uploads.

There’s another possible cause - asset record initialization timing. If your assets are being created through multiple business processes simultaneously, you might have a race condition where the same asset gets initialized twice before either record is committed to the database.

This usually happens when the EIB matching criteria isn’t configured properly. Check your Asset EIB template - you need to specify which fields to use for matching existing records. Without proper matching criteria, EIB creates new records instead of updating existing ones.