Engineering / ENG-1460
People import from a spreadsheet
Description
Shaped in Emargen: People import from a spreadsheet.
Why
Accounts are made one by one by an administrator. Vossberg has 6,500 people and Parcelwise 3,000; their HR systems export spreadsheets, and they send them to us to type in (SUP-889).
What we build
- People › Import in the portal: a CSV file, UTF-8, up to 5,000 rows.
- Columns: first name, last name, email or phone, home depot code, role, sign-in method, employee number.
- A dry run first: how many people would be added, updated or rejected. Nothing saved.
- An error file: each rejected row and why.
- People who exist (same email, or same phone for phone-code people) are updated, never duplicated.
- Each import written to the audit trail with who ran it.
Not in this epic
- Removing people who aren't in the file. Excel (.xlsx) files. Scheduled imports. Accounts from Entra ID or Okta.
Done when
Vossberg and Parcelwise import their files themselves. Target 16 July.
Child issues
- ENG-1461 People › Import: upload a CSV, dry run first Done
- ENG-1462 identity-service: POST /api/people/import with a dry run and row errors Done
- ENG-1474 Error file: the rejected rows, with the reason in a last column Done
- ENG-1475 CSV limits: UTF-8, up to 5,000 rows or 2 MB Done
- ENG-1476 Decide: do imported people get the welcome email? Done
- ENG-1539 Import of 1,200 rows times out after 60 s Done
- ENG-1597 People import: detect a tab separator from the header row Done
Linked issues
- relates to SUP-889 Vossberg: import people ourselves in the portal Done
- relates to SUP-1035 Vossberg: file format for the new people import Done
Live for everyone. Bettina at Vossberg imported 96 people this afternoon, 4 rows rejected for unknown depots. Closing.