The Problem: Manually Maintaining Warranty Data

Sound familiar? 200 laptops, servers, and workstations in the CMDB - and for none of them do you know if the warranty is still active. The serial number is in the asset, but you have to manually check the warranty status on the manufacturer's website. One by one.

In many companies, this leads to:

  • Outdated warranty data - Nobody maintains the fields manually
  • Missed renewals - Warranty expires without anyone noticing
  • Time-consuming research - Checking each serial number individually on the vendor website
  • Missing overview - Which devices are still covered, which aren't?
  • Incomplete information - Only end date known, but not type or service level

The Solution: Automatic Warranty Synchronization

The WarrantySync Add-on for Znuny 7.2.x automatically retrieves warranty information from manufacturer APIs and stores them directly in the CMDB. Once configured, it runs as a daily cron job - zero manual effort.

Supported Manufacturers

ManufacturerAPICredentials
DellTechDirect API v5Client ID + Secret (free via techdirect.dell.com)
LenovoPC Support API v4None! Public API, just enable it

What Gets Stored?

The add-on retrieves the following data and writes it to configurable class attributes:

DataDellLenovoExample
Warranty End Date2027-06-15
Warranty Start Date2023-06-15
Warranty TypeProSupport Next Business Day
Warranty StatusActive / Expired
Vendor Product NameDell PRECISION 5550
Ship Date2023-06-15
Ship-To CountryDE
Warranty status is calculated locally - no additional API call needed. If a warranty gets extended, the add-on detects the change at the next recheck and updates the status back to "Active".

Configurable Field Mapping

Every Znuny installation has its own CMDB structure. The add-on doesn't force field names on you - instead, you configure in SysConfig which API result maps to which class attribute.

The standard ITSM "Computer" class already has the WarrantyExpirationDate field - this works out of the box. For additional fields, simply extend your class definition.

Smart Recheck Behavior

  • New assets are checked immediately on the next sync run
  • Active warranties are rechecked every 30 days (configurable)
  • Expired warranties have their own interval (configurable)
  • No unnecessary CMDB versions - A new version is only created when data actually changes

Automatic Expiry Notification

Optionally, the add-on creates a ticket when a warranty is about to expire:

  • Configurable lead time - e.g. 90 days before expiry (default, adjustable)
  • Ticket settings - Queue, type, priority and state selectable from system values (dropdown)
  • Customizable templates - Subject and body with placeholders like <ASSET_NAME>, <SERIAL>, <WARRANTY_END>
  • Filter (optional) - Only for specific assets (e.g. only servers, not desktops)
  • Duplicate protection - One ticket per asset per warranty end date. If the warranty gets extended, a new ticket is created
  • ConfigItem linking - Ticket is automatically linked to the asset

The feature is disabled by default and fully configurable via SysConfig.

Robust API Integration

  • Dell: Batch queries with up to 100 serial numbers per request
  • Lenovo: Individual queries, automatic for all assets
  • Retry logic: Rate limiting and server errors trigger exponential backoff retries
  • Configurable: Maximum retry attempts adjustable in SysConfig

Usage Example

You have 150 Dell laptops and 50 Lenovo ThinkPads in the CMDB. After installation:

  1. Enter Dell API credentials in SysConfig (free via techdirect.dell.com)
  2. Enable Lenovo provider (no API key needed)
  3. Verify vendor mapping (must match your CMDB vendor names)
  4. Run first sync: bin/znuny.Console.pl Maint::WarrantySync::Run --force

Result: All 200 assets have complete warranty data within minutes.

From now on, the daily cron job automatically checks for changes.

Installation

Installation works like any Znuny package:

Option A: Package Repository (recommended)

  1. Admin → System Configuration → Package::RepositoryList
  2. Add repository: Name wolkig.it, URL https://wolkig.it/packages
  3. Admin → Package Manager → Install "WarrantySync"

Option B: Manual

  1. Download OPM package
  2. Admin → Package Manager → Install package

After installation:

  1. Enable feature: Admin → SysConfig → WarrantySync::Enabled
  2. Configure API credentials (Dell: ClientID + Secret, Lenovo: just enable)
  3. Adjust vendor mapping to match your CMDB vendor names
  4. Run manual sync: bin/znuny.Console.pl Maint::WarrantySync::Run --force

Requirements

  • Znuny 7.2.x
  • ITSM ConfigurationManagement (for CMDB integration)
  • Internet access to manufacturer APIs

Open Source

The WarrantySync Add-on is Open Source under the GPL v3 license:

  • Free to use
  • Source code viewable
  • Modifications allowed
  • Community contributions welcome
  • New providers (manufacturers) can easily be added

Repository: codeberg.org/wolkig-it/znuny_warranty_sync

Conclusion

With the WarrantySync Add-on, manually maintained warranty data is a thing of the past. Dell and Lenovo warranty information is automatically retrieved and stored in your CMDB - and when a warranty expires, you get notified by ticket in time.

Benefits at a glance:

  • Automatic daily sync (zero manual effort)
  • Dell + Lenovo support (more manufacturers extensible)
  • Configurable field mapping (adapts to your CMDB)
  • Expiry notification tickets (configurable, with filter)
  • Smart recheck behavior (saves API calls)
  • Retry logic for API errors
  • Clean version history (only real changes)
  • Free and Open Source

Try it out!

Download and documentation: codeberg.org/wolkig-it/znuny_warranty_sync