Import Staff
Use Import Staff when you need to create or update many staff accounts from a spreadsheet. The importer validates rows before saving so admins can fix role, library, phone, email, date, password, and image problems before accounts are created.
Add screenshots of the Import Staff popup: upload area, template download, validation preview table, row error list, progress area, and completed report.
Before You Start
Prepare these first:
- Create staff roles in Settings > Staff Roles.
- Create libraries in Settings > Library Manager.
- Confirm the organization country code and date format.
- Prepare optional profile images in a ZIP file.
Download The Template
- Open Settings > Staff Accounts.
- Click Import Staff.
- Click Download sample template.
The template includes supported headers, a guidance row, and one example row. Row 2 is ignored during import.
How Column Headers Are Matched
The first row is the header row. Libcodesk reads each header, normalizes it, and matches it to a supported staff field.
- Column order does not matter.
- Header matching is not case-sensitive.
- Spaces and underscores are handled where supported.
- Supported aliases are detected automatically, so
Photo,Image, andProfile Imagecan point to the same staff image field. - Extra unsupported columns are ignored safely.
- Use clear English headers for import mapping. Data values can still be multilingual.
Supported Header Keywords
| Field | Recommended Header | Accepted Examples |
|---|---|---|
| Staff ID | Staff ID | staff_id, employee id, employee_id, employee no, emp id, emp code |
| Name | Full Name | name, staff name, employee name |
| e-mail, official email, mail | ||
| Dialing Code | Dialing Code | country code, phone code |
| Country | Country | country name |
| Country ISO | Country ISO | iso, iso code |
| Phone | Mobile Number | phone, mobile, contact number, contact no |
| Designation | Designation | job title, title, position |
| Date of Joining | DOJ | joining date, joining_date, date of joining, date_of_joining |
| Role | Role | staff role, role name |
| Libraries | Libraries | library, library name, library access |
| Status | Status | account status |
| Password | Password | temporary password, temp password |
| Photo | Photo | image, profile image, profile photo, photo filename |
Dates And Phone Numbers
Dates must match the organization date format shown in the import popup. Single-digit day or month values are accepted for the matching format, so 1/8/2001 and 01/08/2001 are both valid when the organization format is d/m/Y.
If dialing code is blank, Libcodesk uses the organization country code. Do not type the country code again inside the phone number; duplicated country code is reported as an error.
Roles And Libraries
Role names are matched against existing staff roles. Library names are matched against existing libraries.
- Blank Libraries gives access to the main library.
- Unmatched library names block that row.
- Role and library matching is case-insensitive where supported by the app.
Profile Images
Profile image ZIP is optional. Use filenames in the spreadsheet Photo column. Supported images are JPG, JPEG, PNG, and WEBP.
Missing optional images show warnings. Corrupt or unsupported files are reported in the preview.
Validate And Import
- Select the spreadsheet.
- Optionally select the profile image ZIP.
- Choose import mode.
- Click Validate.
- Review the preview table.
- Fix rows with errors and retry validation, or import valid rows.
Rows with multiple errors show them as a numbered list so staff can correct one row at a time.
Handling Import Errors
Use the preview as the working checklist. Import becomes much smoother when you correct the spreadsheet first, then validate again.
How To Read The Preview
| Preview Status | Meaning | What To Do |
|---|---|---|
| OK | The row passed validation. | It can be imported. |
| Warning | Optional data has an issue. | Review the warning; missing optional images are common. |
| Error | Required or unsafe data is wrong. | Fix the row and validate again. |
Rows with multiple issues show a numbered list. Start with required fields, then duplicates, then optional warnings.
Common Errors And Fixes
| Error | Why It Happens | Fix |
|---|---|---|
| Missing name | Full Name is blank. | Fill the staff name. |
| Invalid email | Email is blank, malformed, or already used. | Use a valid unique email. |
| Duplicate Staff ID | Staff ID appears twice or already exists. | Use a unique Staff ID or clear it if not required. |
| Duplicate phone | Phone number already exists or appears twice in the file. | Correct the phone number. |
| Phone includes country code | The country code is typed inside the phone number. | Keep the dialing code in Dialing Code and the local number in Mobile Number. |
| Role not found | Role name does not match an existing role. | Create the role first or correct the Role cell. |
| Unmatched library | Library name does not exist. | Correct the name or leave Libraries blank for main library access. |
| Invalid DOJ/date | Date does not match organization date format. | Use the format shown in the import popup; for d/m/Y, values like 1/8/2001 and 01/08/2001 are both valid. |
| Image missing | Photo filename is not found in the ZIP. | Add the image or clear Photo if image is optional. |
| Image invalid | File is corrupted or unsupported. | Replace with JPG, JPEG, PNG, or WEBP. |
Smooth Import Workflow
- Create roles and libraries before importing.
- Download a fresh template.
- Test with a small staff file first.
- Validate and fix all blocking errors.
- Retry validation after correcting the spreadsheet.
- Import valid rows.
- Keep the import report for failed rows and retry only corrected rows.
For larger staff lists, use XLSX when possible and keep image ZIP filenames simple and unique.
Import Modes
| Mode | What It Does |
|---|---|
| Create New Only | Creates staff rows that do not already exist. |
| Update Existing Only | Updates rows that match existing staff. |
| Create + Update | Creates new rows and updates matching existing rows. |
Do And Don'ts
- Use the template headers exactly when possible.
- Keep role and library names consistent with the app.
- Use Excel for multilingual staff names and addresses.
- Check the import report after completion.
- Don't use manual comma splitting for CSV files; always upload the spreadsheet through the import popup.
- Don't include unsupported files inside the image ZIP.
- Don't ignore duplicate email, phone, or Staff ID errors.
- Don't mix different date formats in one spreadsheet.
FAQ
Can extra spreadsheet columns be included?
Yes. Unsupported columns are ignored safely. Recognized fields still validate and import.
What happens if Libraries is blank?
The staff account receives access to the main library by default.
Can images be inside folders in the ZIP?
Yes. The importer scans nested folders and matches image filenames case-insensitively.
Why is my phone row rejected?
Common causes are duplicate phone numbers or typing the country code inside the phone number when the dialing code is already provided.
Can I import staff without images?
Yes. Profile images are optional for staff import.