You're importing a CSV file into Salesforce. The file looks clean. Your mappings are correct. You hit "Import."
Then Salesforce throws: "Bad value for restricted picklist field: [field name]"
Your import fails. You're staring at 5,000 rows wondering which exact values are causing the problem. Your boss wants the data loaded by end of day.
You try Excel find/replace. Export picklist values. Test with 10 rows.
Still rejected.
TL;DR: Salesforce "bad value for restricted picklist field" errors occur when CSV values don't exactly match picklist configurations—caused by capitalization mismatches ("active" vs "Active"), trailing/leading spaces ("Pending " with invisible space), outdated picklist values removed from Salesforce, typos in source data, format inconsistencies (abbreviations vs full names), or empty cells in required fields. Fix in 5 minutes using browser-based tools that trim whitespace, standardize capitalization, replace outdated values, and validate against current picklist configuration—all processed locally without uploading sensitive CRM data to third parties.
This guide solves the 6 CSV validation errors that account for most "bad value" failures during Salesforce import—using privacy-first validation that processes files locally. No uploads. No forum posts. No import surprises.
Who this guide is for: Salesforce admins, sales ops managers, marketing ops teams, data analysts, and anyone importing CSVs into Salesforce objects with restricted picklist fields.
Quick Fix (Fixes 80% of Cases)
If your Salesforce import fails with "bad value for restricted picklist field," it's usually caused by one of three issues:
→ Capitalization mismatch — "active" vs "Active"
→ Trailing spaces — "Pending " with invisible space
→ Outdated values — Picklist value removed from Salesforce
Try these three fixes first using Data Cleaner. For broader CRM import troubleshooting beyond Salesforce-specific errors, see our guide to why CRMs reject CSV imports. If imports still fail, use the full diagnostic guide below.
Table of Contents
- Understanding the "Bad Value" Error
- Quick Diagnosis Table
- Category 1: Capitalization Mismatches
- Category 2: Trailing or Leading Spaces
- Category 3: Outdated Picklist Values
- Category 4: Typos in Source Data
- Category 5: Different Formatting
- Category 6: Empty Cells in Required Fields
- Privacy-First Validation Workflow
- Prevention Best Practices
- FAQ
Understanding the "Bad Value" Error
Salesforce picklists are controlled vocabularies that enforce referential integrity—they require exact string matches from predefined value lists configured in your org. Even a trailing space, wrong capitalization, or outdated value triggers rejection.
What the Error Actually Means
Salesforce gives you zero visibility into which rows have problems. You see "Error on Row 247" but not what's actually wrong with that value.
This validation failure appears during the Data Import Wizard or Data Loader when Salesforce analyzes your CSV and determines values don't match approved picklist entries. The import fails at the first invalid value.
Import types where this error appears:
- Lead imports (Status, Lead Source, Industry picklists)
- Opportunity imports (Stage, Type, Forecast Category)
- Account/Contact imports (Industry, Account Type, custom picklists)
- Custom object imports (any restricted picklist field)
What Salesforce expects:
- Exact match: "Active" not "active" or "ACTIVE"
- No extra spaces: "Pending" not "Pending " or " Pending"
- Current values only: Values must exist in current picklist configuration
- Proper encoding: UTF-8 format with no special characters
Quick Diagnosis Table
| Symptom | Likely Cause | Quick Test | Fix |
|---|---|---|---|
| Import fails on first row | Column header mismatch | Check CSV column names match Salesforce API names | Rename columns |
| Fails mid-import at random row | Trailing/leading spaces | Open CSV in text editor, look for extra spaces | Trim whitespace |
| Fails on specific picklist field | Capitalization mismatch | Compare CSV values to Salesforce picklist (case-sensitive) | Fix capitalization |
| Import worked last month, fails now | Outdated picklist value | Check if admin removed values from picklist | Replace outdated values |
| Fails on multiple different rows | Multiple issues (spaces + caps + typos) | Run full validation scan | Use validation tool |
| Works in sandbox, fails in production | Different picklist configs between orgs | Export picklist values from both orgs, compare | Validate against production |
The Data Upload Risk During Troubleshooting
When debugging Salesforce import errors, teams often expose sensitive CRM data: posting CSV snippets to Trailblazer Community, emailing files to consultants, using online validators uploading to third-party servers, sharing screenshots with customer names/revenue in Slack.
Salesforce data contains: Customer PII, revenue forecasts, confidential business metrics, GDPR/CCPA regulated information, competitive intelligence.
Compliance requirements: GDPR Article 28 requires data processor agreements, CCPA prohibits unauthorized disclosure, SOC 2 Type II mandates data handling controls, HIPAA/GLBA restrict data sharing.
The solution: Client-side validation tools process files in your browser per Web Workers API specs. No uploads, no third-party processors, no compliance risk. For a complete privacy-first CSV workflow, see our data privacy checklist.
Category 1: Capitalization Mismatches
Your CSV has "active" but Salesforce picklist expects "Active"—Salesforce performs case-sensitive validation on picklist values. If your source system exports lowercase but Salesforce uses title case, every row fails.
What Causes This
Common scenarios:
- CRM exports: "new", "qualified", "closed won" (lowercase)
- Salesforce expects: "New", "Qualified", "Closed Won" (title case)
- Excel auto-corrections changing "IT" to "It"
- Different data entry conventions between teams
How to Fix
Use Data Cleaner:
- Upload CSV file (processes locally in browser)
- Select "Find & Replace" with exact match
- Replace "active" → "Active" for all Status column values
- Download cleaned file
- Import into Salesforce
Time: 2 minutes for 10,000 rows
Category 2: Trailing or Leading Spaces
Your CSV contains "Pending " with an invisible trailing space—Salesforce sees this as different from "Pending" and rejects it. These spaces often come from manual data entry in Excel, copy-paste from other applications, SQL query results with CHAR vs VARCHAR padding, or export tools that don't trim whitespace.
How to Identify
Open CSV in text editor (Notepad++, VSCode). Search for "Pending " (with space). Or use Format Checker which automatically detects whitespace issues: "Row 183: Value 'Pending ' contains trailing space"
How to Fix
Use Data Cleaner:
- Upload CSV
- Enable "Trim whitespace" option
- Select columns with picklist fields
- Process file
- Download cleaned CSV
This removes all leading/trailing spaces across all columns automatically.
Time: 30 seconds for any file size
Category 3: Outdated Picklist Values
Your CSV contains "Legacy" but a Salesforce admin removed that value from the picklist last month. Common when picklist values are deprecated, importing historical data with values no longer in use, different picklist configurations between sandbox and production, or values removed during org cleanup projects.
How to Identify
Export current picklist values from Salesforce:
Setup → Object Manager → [Object] → Fields & Relationships → [Picklist Field] → Values
Compare against your CSV. Format Checker can automate this by flagging: "Row 892: Value 'Legacy' not found in current picklist configuration"
How to Fix
Two approaches:
Option 1: Update CSV (recommended)
Use Data Cleaner Find & Replace:
- Replace "Legacy" → "Active" (or appropriate current value)
- Document the mapping for audit purposes
Option 2: Re-add value to Salesforce
Only if value is legitimately needed. Go to Setup → Object Manager → [Object] → Fields → [Picklist] → Add "Legacy" back
Time: 3 minutes to update CSV, or 5 minutes to re-add in Salesforce
Category 4: Typos in Source Data
Manual data entry errors like "Califronia" instead of "California" or "Pening" instead of "Pending" block the entire import. One typo in 5,000 rows causes complete failure.
How to Fix
Use Data Cleaner Find & Replace:
- Identify all unique invalid values from validation results
- Find & Replace with exact match: "Califronia" → "California"
- Repeat for each typo
- Download corrected file
Time: 1 minute per unique typo
Category 5: Different Formatting
Your CSV uses abbreviations or alternate formats that don't match Salesforce picklist values. Example: CSV has "NY", "CA", "TX" but Salesforce expects "New York", "California", "Texas". Or reverse scenario where Salesforce uses abbreviations but your data is spelled out.
Common Mismatches
- State abbreviations vs full names
- Country codes (US vs United States)
- Date formats in text picklists
- Currency symbols vs codes ($ vs USD)
How to Fix
Use Data Cleaner with systematic Find & Replace:
- "NY" → "New York"
- "CA" → "California"
- "TX" → "Texas"
For large mappings (50+ states): Export CSV, add mapping column with correct values, use VLOOKUP in Excel to populate, re-import with correct column.
Time: 5-10 minutes for systematic replacement
Category 6: Empty Cells in Required Fields
Salesforce picklist field is marked "Required" but your CSV has blank cells—import fails at first empty value. Format Checker reports: "Row 223: Empty value in required picklist field 'Status'"
How to Fix
Two approaches:
Option 1: Set default value
Use Data Cleaner:
- Select picklist column
- Choose "Replace empty cells"
- Set default value (e.g., "New" for Status field)
- Process file
Option 2: Remove rows with empty required fields
If empty values indicate incomplete data, filter out rows with empty required fields, review filtered data separately, import only complete records.
Time: 2 minutes either approach
Privacy-First Validation Workflow
4-Minute Process to Fix Any Picklist Error:
-
Validate (60 seconds) - Open Format Checker, upload CSV (processes locally), review validation results with exact errors and row numbers
-
Export Picklist Values (30 seconds) - Salesforce Setup → Object Manager → [Your Object] → Fields & Relationships → [Picklist Field] → Copy valid values
-
Clean Data (120 seconds) - Open Data Cleaner, apply fixes (trim whitespace, fix capitalization, replace outdated values, set defaults for empty cells), download cleaned CSV
-
Import (30 seconds) - Upload cleaned CSV to Salesforce Data Import Wizard or Data Loader, map fields, complete import with zero errors
Why this works: All processing happens in your browser using Web Workers API—no file uploads, no data exposure, faster than manual Excel corrections, handles 100,000+ row files.
Prevention Best Practices
Standardize at the Source: Use dropdowns in web forms matching Salesforce picklist values exactly. Document picklist values in shared team reference. Map external system values during integration setup, not at import time.
Validate Before Every Import: Run Format Checker on every CSV before Salesforce import. Catch issues pre-import when easy to fix, not mid-import during failures. For comprehensive CSV troubleshooting across all platforms, see our CSV troubleshooting guide.
Monitor for Picklist Changes: When admins update picklist values: update validation rules immediately, test imports after modifications, communicate changes to import teams.
Automate Standard Cleaning: For recurring imports (weekly leads, monthly accounts), document exact cleaning steps, use Data Cleaner with consistent settings, save cleaned files with clear naming like leads-2026-01-15-cleaned.csv.
Use Client-Side Tools: Browser-based validation processes 100,000+ rows in seconds, catches issues Excel misses, maintains complete data privacy.
FAQ
Conclusion
Salesforce "bad value for restricted picklist field" errors are preventable. Most failures trace to capitalization mismatches, trailing spaces, outdated picklist values, typos, formatting differences, and empty required fields. Only a small percentage are actual Salesforce configuration issues.
Traditional troubleshooting wastes time and exposes data: Manual Excel corrections take hours, forum debugging posts sensitive CRM data publicly, trial-and-error imports delay projects, online validators require uploading customer PII and revenue information to third parties.
Privacy-first validation prevents failures without uploads: 4-minute automated workflow, client-side processing using Web Workers API, zero data exposure, SOC 2-compliant architecture.
Most common mistakes: Assuming Excel shows all formatting issues, not trimming whitespace before import, failing to validate against current picklist configuration, using server-based tools that require uploads, not documenting picklist values for team reference.
The solution: Browser-based tools that validate and standardize CSV data at Salesforce import speeds—without privacy risks.
Fix "bad value" picklist errors before they happen with Data Cleaner for privacy-first CSV validation and cleaning.
Sources:
- AICPA SOC 2 - SOC 2 Type II audit requirements for data handling
- MDN Web Workers API - Client-side processing specification
Managing Salesforce data imports? Connect on LinkedIn or share your workflow at @splitforge.