Let me provide a comprehensive solution based on your specific scenario with 8,500 materials and non-standard UoM codes.
Step 1: UoM Mapping Table Setup
Create a standardization mapping in Excel:
Legacy_UoM | ISO_Code | Conversion_Factor | Base_Unit
PKT | PCE | 12 | PCE
CTN | CS | 144 | PCE
Step 2: Configure IBP Master Data
Navigate to Master Data → Unit of Measure in IBP and create the conversion relationships:
- Define PCE (Piece) as your base unit
- Create alternative UoM: PKT with numerator=12, denominator=1, base=PCE
- Create alternative UoM: CTN with numerator=144, denominator=1, base=PCE
- Ensure CS (Case) is mapped with appropriate conversions
This establishes the foundation for IBP to understand your legacy unit conversions.
Step 3: Legacy Code Standardization
Before migration, cleanse your source data:
- Identify the 400 materials with multiple UoM codes
- Determine the primary/base UoM for each material
- Convert all quantity fields to use the base UoM
- Document any materials where conversion is ambiguous (manual review needed)
Run this SQL against your legacy system to identify problematic records:
SELECT material_id, COUNT(DISTINCT uom_code) as uom_count
FROM legacy_materials
GROUP BY material_id
HAVING COUNT(DISTINCT uom_code) > 1;
Step 4: Material Master Dependencies
Address the dependency chain by splitting your migration into three separate jobs in Migration Cockpit:
Job 1 - Material Master (run first):
- Migrate all 8,500 material records
- Include base attributes: material number, description, base UoM
- Validate that all materials are created successfully in IBP
Job 2 - Location Master (run second):
- Migrate warehouse locations
- Ensure location type mappings are configured
- Verify location-material relationships reference existing materials
Job 3 - Warehouse Data (run third):
- Migrate stock levels, bin assignments, and warehouse-specific attributes
- All material and location references should now resolve correctly
Step 5: Migration Template Update
In your Migration Cockpit template, update the UoM_MAPPING sheet:
- Map PKT → PCE (the system will apply the 12x conversion automatically)
- Map CTN → CS (ensure CS is also configured with proper conversion to PCE)
- For any other legacy codes, map to the closest ISO equivalent
Step 6: Validation and Testing
Before the full migration:
- Re-validate the complete migration package (don’t skip this)
- Run a pilot migration with 200 representative materials (include some with PKT/CTN)
- Check the migration log for errors:
MIGR_LOG table in IBP
- Verify converted quantities are correct in IBP after pilot
- Test a planning run with the migrated data to ensure downstream processes work
Step 7: Handle Edge Cases
For the 2,300 materials showing “UoM not found” errors:
- Export the error list from Migration Cockpit
- Cross-reference with your UoM mapping table
- Identify any legacy codes you haven’t mapped yet
- Add missing mappings to the UoM_MAPPING sheet
- For truly custom units that don’t have ISO equivalents, you may need to create custom UoMs in IBP first
Critical Success Factors:
- Never run migrations in parallel - dependencies must be respected
- Always use base UoMs in quantity fields during migration
- Test conversion calculations manually for a sample of materials
- Keep detailed documentation of your UoM mapping decisions
- Plan for a rollback strategy if the full migration fails
Post-Migration Validation:
After successful migration, run these checks:
- Compare material counts: legacy system vs IBP (should match 8,500)
- Verify UoM conversions with spot checks on 50-100 materials
- Test warehouse transactions using the new UoMs
- Run a full planning cycle to ensure no data quality issues surface
The key insight here is that Migration Cockpit UoM handling requires both system configuration (IBP master data) AND template mapping (migration file). You can’t rely on one without the other. Additionally, the material master dependencies mean you must migrate in sequence, not in a single batch.
Once you’ve completed steps 1-3, your migration should proceed cleanly. The 2,300 errors will resolve once the UoM mapping table is properly configured and the legacy codes are standardized.