Understanding Import Preview
TL;DR: Preview shows what will change - nothing happens until you click "Execute Import". Check member counts, units, and warnings before proceeding.
Preview is Safe
Quick Checklist
Before executing, verify:
- Council/district/organization match your unit
- Member counts match expectations
- Unit names look correct
- New vs. Update split makes sense (first import = all new)
- No blocking errors shown
- Warnings are acceptable (or fix them)
Preview Sections
Roster Metadata
Shows: Council, district, organization name, report date, detected format
Check:
- Organization details match your unit
- Format detected correctly (ScoutBook+, My.Scouting, or Legacy)
Red flags:
- Wrong council/district (might be wrong file)
- Format shows "Unknown" (corrupted file)
Summary Statistics
Shows: Counts of what will be created/updated
Expected on first import:
- All members marked "New"
- 5-10 units to create
- Relationships match youth count (most have 1-2 parents)
Expected on re-import:
- Mostly "Update", few "New" (recently joined)
- Few or no units to create
- Few new relationships
Red flags:
- Total members much lower than expected
- All "New" on re-import (BSA IDs not matching)
- Zero relationships (parent data missing)
Errors vs. Warnings
Errors (Blocks import):
- Missing required columns
- Duplicate BSA Member IDs
- Invalid file format
Action: Fix before proceeding (re-export or edit CSV)
Warnings (Non-blocking):
- Missing parent emails
- Incomplete addresses
- Blank Kindergarten grades (known issue)
Action: Review, can fix manually after import or edit CSV and re-import
Detailed Breakdown
Click to expand sections showing:
New Members:
- Names, BSA IDs, grades, den assignments
- Spot-check a few for accuracy
Members to Update:
- Field-by-field changes (
old → new) - Position additions shown as "Added Positions: Title"
- Only changed fields displayed
New Relationships:
- Parent → Child links
- Method noted (ScoutBook+ = BSA ID, Legacy = Email Match)
Units to Create:
- Unit names, cohort years, external references
- Check names match your dens
Units to Enrich:
- Existing units getting externalReference added
- Happens when upgrading from My.Scouting to ScoutBook+
Unit Assignment Changes:
- Shows proposed reassignments
- Note: Shown even if "Update Unit Assignments" is disabled
- Option only controls whether changes are applied
Common Scenarios
First Import
Expect:
- All members: New ✅
- All units: To Create ✅
- All relationships: New ✅
- No updates, no reassignments ✅
Unexpected:
- Some members "Existing" (you may have added them manually)
Monthly Re-Import
Expect:
- Most members: No changes or small updates ✅
- Few "New" members (recently joined) ✅
- Units: Existing ✅
- Few new relationships ✅
Unexpected:
- All members "New" (BSA IDs not matching - check troubleshooting)
- Many reassignments (roster data might be stale)
Annual Advancement
Expect:
- Many unit assignment changes (scouts moving to next grade's den) ✅
- Some new units created (new grade-level dens) ✅
- Few member updates ✅
Unexpected:
- No reassignments (check if "Update Unit Assignments" option is disabled)
Adjusting and Retrying
To regenerate preview:
- Change import options (checkboxes)
- Preview updates automatically
- Review new results
- Adjust again if needed
Experiment freely - preview is read-only.
When to Execute
Execute when:
- ✅ Member counts match expectations
- ✅ Unit names correct
- ✅ No blocking errors
- ✅ Warnings are understood/acceptable
- ✅ Ready to apply changes
After Executing
- Review import summary (created/updated counts)
- Spot-check a few members (Members → All Members)
- Verify units and assignments (Units → All Units)
- Check relationships (open youth member, view Relationships section)
Common Questions
Why are members showing as "New" when they exist?
- BSA Member IDs don't match between file and TroopBook
- See troubleshooting →
Why are Kindergarten warnings shown?
- Known bug in ScoutBook+ and My.Scouting exports
- ScoutBook+ auto-infers grade from Lion den ✅
- See troubleshooting →
Can I undo an import?
- No automatic undo
- Re-import with "Update Existing" to sync back
- Delete members manually if needed