Xero's inventory item import rejects files without clear error messages. The validator caught 14 rows where InventoryAssetAccountCode was blank on tracked items, plus 6 ItemCodes exceeding the 30-character limit. Without pre-validation, those rows would have silently failed and I'd have spent hours figuring out which products didn't make it into the system.
Xero Inventory Item CSV Validator
Check your inventory CSV for errors before importing to Xero.
Free preview — then from $5. Save with bundles.Validation Questions Answered
What columns are required for Xero inventory?
Only ItemCode is required. Recommended: ItemName, Description, SalesUnitPrice, SalesAccountCode, PurchaseUnitPrice, PurchaseAccountCode.
Can I import services and products?
Yes. Products typically have IsTrackedAsInventory=TRUE with quantity tracking. Services usually have IsTrackedAsInventory=FALSE.
What happens to my data?
Your file is processed entirely in your browser. No data is uploaded to our servers.
How Validation Works
Prepare Your Xero Inventory CSV
Export or prepare your Xero Inventory CSV file following the platform's template requirements.
Upload and Validate
Upload your Xero Inventory CSV file. The validator checks every row against the expected format rules.
Review Validation Results
Fix flagged errors using the row-level report, then import your clean file with confidence.
Issues are flagged inline with clear fix suggestions — review and correct before you import.
How People Use This
Migrating our product catalog into Xero meant getting unit prices to exactly two decimal places and setting the right tracked-vs-untracked flag for each item. The validator caught 83 rows where SalesUnitPrice had more than 4 decimal places and 12 items marked as tracked but missing the InventoryAssetAccountCode.
ItemCode has a 30-character cap that Shopify SKUs routinely exceed. The validator flagged 34 codes over the limit and also found 9 duplicate ItemCodes that would have caused import failures. We shortened the codes and deduped before uploading — zero errors on the actual Xero import.
Why Validate Inventory Before Import?
Avoid ItemCode Conflicts
What This Tool Checks
Your Data Stays Private During Validation
Every Row Checked
Each record is validated against format rules. Catch errors before they reach your platform.
Runs in Your Browser
Validation happens locally. Your data never leaves your browser.
GDPR Compliant
No files uploaded, no data retained. Full EU privacy compliance.
// PRICING //
Choose the plan that fits your needs
Just start processing on any tool page
Tools processing starts from 5 credits. Then 1 credit = 1k rows. No sign-up needed.
Credit Bundles
One-time purchase
- No monthly commitment
- Credits valid for one year
- Access to all tools
- Full file downloads
Monthly Bundles Pro
Best for professionals and content creators
- Credits refresh monthly
- Priority processing
Purchase Credits
- Full CSV & Excel export
- Google Sheets export
- Instant browser download
Do unused credits expire?
One-time credit bundles are valid for one year. Subscription credits refresh monthly. You can use credits across any tool, anytime.
Is my data secure?
Files process entirely in your browser. We're GDPR compliant with TLS encryption.
Can I get a refund?
Yes! Full refund within 14 days if no credits used. Partial refund for unused credits anytime. Contact sup@spreadsheetbroccoli.com.
Terms of service applies. VAT included where applicable.
More credits - more savings
Buy bundles and get up to 60% off. Perfect for recurring monthly conversions.
Why Validate Before Importing?
ItemCode Validation
Checks uniqueness and 30-character limit for ItemCode.
Account Code Validation
Validates SalesAccountCode and PurchaseAccountCode format.
Tracked Inventory Check
Ensures InventoryAssetAccountCode and COGS accounts set if tracked.
Price Validation
Validates SalesUnitPrice and PurchaseUnitPrice are valid numbers.
Browser-Based
Files processed locally. Your data never leaves your computer.
Instant Results
Get validation results in seconds.
Common Target Import Errors
Issues you might encounter when importing Source data to Target - and how we solve them
Missing Item Code
The ItemCode column is required for each item
(blank ItemCode)
PROD-001
Each inventory item needs a unique ItemCode
Add item codes to all rows
Item Code Exceeds Maximum Length
ItemCode exceeds 30 character limit
VERY-LONG-PRODUCT-CODE-THAT-EXCEEDS-LIMIT
PROD-001 (max 30 chars)
Shorten ItemCode to fit within Xero's 30 character limit
Truncate or abbreviate long item codes
Duplicate Item Code
ItemCode must be unique within the file and in Xero
PROD-001 (duplicate)
PROD-001-A, PROD-001-B (unique)
Each item needs a unique ItemCode
Rename duplicates or update existing items instead
Tracked Inventory Missing Required Accounts
IsTrackedAsInventory=TRUE requires InventoryAssetAccountCode and CostOfGoodsSoldAccountCode
IsTrackedAsInventory: TRUE, no accounts
IsTrackedAsInventory: TRUE, InventoryAssetAccountCode: 630, CostOfGoodsSoldAccountCode: 500
Tracked inventory items need asset and COGS accounts
Add InventoryAssetAccountCode and CostOfGoodsSoldAccountCode
Invalid Price Value
SalesUnitPrice or PurchaseUnitPrice contains non-numeric value
$49.99 or N/A
49.99
Prices must be plain numbers without currency symbols
Remove currency symbols and ensure numeric values
Frequently Asked Questions
Learn More:
Quick question before you go
Help us improve—what stopped you today?
Thank you!
Enter your email to claim your welcome bonus