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
| Manufacturer | API | Credentials |
|---|---|---|
| Dell | TechDirect API v5 | Client ID + Secret (free via techdirect.dell.com) |
| Lenovo | PC Support API v4 | None! Public API, just enable it |
What Gets Stored?
The add-on retrieves the following data and writes it to configurable class attributes:
| Data | Dell | Lenovo | Example |
|---|---|---|---|
| Warranty End Date | ✓ | ✓ | 2027-06-15 |
| Warranty Start Date | ✓ | ✓ | 2023-06-15 |
| Warranty Type | ✓ | ✓ | ProSupport Next Business Day |
| Warranty Status | ✓ | ✓ | Active / Expired |
| Vendor Product Name | ✓ | ✓ | Dell PRECISION 5550 |
| Ship Date | ✓ | ✓ | 2023-06-15 |
| Ship-To Country | ✓ | ✓ | DE |
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:
- Enter Dell API credentials in SysConfig (free via techdirect.dell.com)
- Enable Lenovo provider (no API key needed)
- Verify vendor mapping (must match your CMDB vendor names)
- 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)
- Admin → System Configuration →
Package::RepositoryList - Add repository: Name
wolkig.it, URLhttps://wolkig.it/packages - Admin → Package Manager → Install "WarrantySync"
Option B: Manual
- Download OPM package
- Admin → Package Manager → Install package
After installation:
- Enable feature: Admin → SysConfig →
WarrantySync::Enabled - Configure API credentials (Dell: ClientID + Secret, Lenovo: just enable)
- Adjust vendor mapping to match your CMDB vendor names
- 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