Top.Mail.Ru

Импорт пользователей из CSV-файла

Импорт из CSV — способ завести или обновить сразу много сотрудников одним файлом, не подключая ни каталог, ни внешнюю систему. Он же самый быстрый путь к рабочему справочнику на старте: выгрузили список из кадровой системы, поправили колонки, загрузили.

Это разовая загрузка, а не синхронизация: после неё файл и UnSpot живут отдельно. Дальше — что должно быть в файле, что произойдёт с каждой строкой и где потом искать ошибки. Если вы ещё выбираете, как наполнять справочник, начните с обзора Как выбрать способ синхронизации пользователей.

Когда подходит импорт из CSV

ПодходитНе подходит
Первичное наполнение справочника перед запускомПостоянное поддержание справочника в актуальном состоянии
Разовое добавление отдела, филиала, новой группы сотрудниковАвтоматическое отключение уволенных — импорт никого не архивирует
Массовая правка уже заведённых карточек: должности, телефоны, руководителиПеренос групп и оргструктуры целиком — группы должны существовать заранее
Компания без корпоративного каталога, который можно подключитьРегулярный обмен: файл придётся готовить и загружать руками каждый раз

Что нужно до начала

  • Роль «Администратор пользователей» или «Владелец»: загрузка доступна только им.
  • Файл в кодировке UTF-8 — другие кодировки не поддерживаются.
  • Размер файла до 5 МБ и формат именно CSV: файл другого типа диалог отклонит.
  • Если в файле есть колонка «Группы» — все перечисленные группы должны быть заведены в UnSpot заранее. Импорт группы не создаёт.
  • Если есть колонка «Руководитель» — руководитель должен быть уже заведён и активен. Проще всего загрузить файл дважды: первым проходом создать всех, вторым проставить руководителей. Во втором файле не оставляйте колонку «Группы» пустой — пустая ячейка стирает группы, см. раздел про ловушки.

Колонки шаблона

Шаблон скачивается прямо из окна загрузки — ссылка «Скачайте шаблон csv файла». В нём двенадцать колонок, разделитель — точка с запятой, и одна строка-пример, которую нужно заменить своими данными.

КолонкаЧто в неё писатьОбязательна
First nameИмя сотрудникада
Last nameФамилияда
Employee IdТабельный номер во внутренней системе учётанет
EmailРабочая почта. По ней сотрудник опознаётся: адрес уже есть в UnSpot — карточка обновится, нет — создастся новаяда
PositionДолжность. Длиннее 128 символов — строка не загрузится с ошибкой по полю Positionнет
DepartmentПуть подразделения в оргструктуре. Незнакомое значение создаёт новое подразделениенет
ManagerПочта руководителя — не имя и не табельный номернет
Number PassНомер пропуска для СКУДнет
PhoneТелефоннет
GroupsГруппы через запятую в одной ячейке: Отдел продаж,Москванет
OfficeНазвание офиса, к которому приписан сотрудник — точно как в UnSpotнет
Office attendance rate, %Норма посещения офиса, число от 0 до 100. Знак процента допустим, дробное значение округляетсянет

Порядок колонок значения не имеет — сопоставление идёт по строке заголовка. Лишние колонки просто игнорируются, а вот переименованная необязательная колонка теряется молча: заголовок не из этого списка в UnSpot не попадёт и ошибки не вызовет. С обязательными строже: если переименовать First name, Last name или Email, файл целиком отклоняется с сообщением о структуре. Заголовок первой строки лучше не трогать вовсе.

Роли в шаблоне нет. Все загруженные получают роль «Сотрудник»; выдать администраторские права через файл нельзя, только вручную в карточке.

Как загрузить файл

Путь в консоли: «Управление персоналом» → «Сотрудники», кнопка «Загрузить из CSV». Откроется окно «Импортировать пользователей». К тому же экрану ведёт карточка CSV в разделе Настройка → Интеграции → «Синхронизации» — ссылкой «Перейти к настройке».

  1. Скачайте шаблон и заполните его. Сохраните в UTF-8.
  2. Выберите разделитель — «Точка с запятой» или «Запятая». Автоопределения нет: пока разделитель не выбран, кнопка «Загрузить файл» не откроет диалог выбора, а сам выбор подсветится как обязательное поле.
  3. Решите, отправлять ли письмо «Добро пожаловать!» с доступом. Внимательно: выбор влияет не только на новых сотрудников — см. раздел про ловушки.
  4. Нажмите «Загрузить файл» и выберите свой CSV.
  5. Дождитесь итога. Строки уходят на сервер порциями по десять, поэтому у большого файла счётчик растёт заметными шагами.

В конце UnSpot покажет, сколько сотрудников загружено из скольких, а при ошибках — таблицу с разбором по строкам. Успешные строки при этом сохраняются: файл с ошибками загружается частично, а не отклоняется целиком.

Что происходит с каждой строкой

Состояние по почте из строкиЧто делает импорт
Такой почты в UnSpot нетСоздаётся карточка с ролью «Сотрудник». Пароль генерируется автоматически
Карточка есть и активнаОбновляются только те поля, колонки которых есть в файле. Отсутствующая колонка ничего не стирает
Карточка есть, но в архивеСотрудник возвращается из архива с данными из файла — в итогах он считается созданным
Карточка есть и деактивированаДанные обновятся, но сама деактивация останется: импорт не включает сотрудника обратно

Группы при обновлении заменяются, а не дополняются: что перечислено в ячейке, то у сотрудника и останется. Пустая ячейка «Группы» стирает все группы сотрудника. Если колонка есть в файле, она применяется к каждой строке — в том числе там, где ячейка пустая. Не хотите трогать группы — удалите колонку из файла целиком, а не оставляйте её незаполненной.

Ошибки: где смотреть и что они значат

Строки с ошибками собираются в таблицу из четырёх колонок: Строка, Поле, Значение, Ошибки. Такая строка целиком не загружается — исправьте её и загрузите файл ещё раз.

Поле в таблице ошибокЧто проверяется
EmailАдрес не похож на почтовый — или он уже встречался выше в той же порции из десяти строк. Дубликат, разнесённый по файлу дальше чем на десять строк, не отлавливается: вторая строка отработает как обновление первой
First Name, Last NameПустое значение: и имя, и фамилия обязательны
PositionДлиннее 128 символов
GroupsХотя бы одна группа из ячейки не найдена в UnSpot. Строка не загружается целиком, даже если остальные группы существуют
ManagerРуководитель с такой почтой найден, но деактивирован или в архиве. Если почты нет вовсе, ошибки не будет — см. ловушки
DepartmentПодразделение с таким путём создать не удалось

Номер строки считается внутри порции из десяти, а не от начала файла. В файле на 30 строк ошибка одиннадцатой строки будет показана как «1». Ориентируйтесь на колонки «Поле» и «Значение» — по ним строка находится в файле поиском.

Ещё нумерация не учитывает строку заголовка: «1» — это первая строка с данными, то есть вторая строка файла.

Если ошибка одна на весь файл и текст говорит о его структуре, наиболее частые причины — те же, что подсказывает само окно: файл сохранён не в UTF-8; выбранный разделитель не тот, что в файле; набор колонок не соответствует шаблону.

Ловушки, о которых лучше знать заранее

  • «Да, отправлять» меняет пароли уже заведённым сотрудникам. Приветственное письмо содержит доступ, поэтому пароль генерируется заново — в том числе тем, кто в файле просто обновляется. Обновляете существующих — выбирайте «Нет, не отправлять».
  • Пустая ячейка «Офис» отвязывает сотрудника от офиса. Название, которого нет в UnSpot, или отключённый офис дают тот же результат: офис очистится, ошибки не будет.
  • Подразделение из синхронизации импорт не переназначает. Если оргструктура приходит из каталога, значение в колонке «Отдел» будет молча пропущено, а сотрудник останется в прежнем подразделении.
  • Незаполненная почта руководителя молча очищает руководителя. Если в колонке «Руководитель» стоит адрес, которого в UnSpot нет, — или ячейка пуста, а колонка в файле есть, — строка загрузится без ошибки, а прежний руководитель у сотрудника пропадёт.
  • Опечатка в отделе создаёт новое подразделение. «Отдел продаж» и «отдел продаж» считаются одним и тем же, а «Отдел продаж и маркетинга» — уже новая ветка дерева.
  • Норма посещения вне диапазона 0–100 молча обнуляется. Ошибки не будет, но ранее заданное значение сотруднику при этом сотрут.
  • Поля, закрытые обновлением через SSO, импорт перезапишет, но ненадолго: при следующем входе сотрудника они вернутся к данным провайдера. Подробнее — OpenID Connect: заведение пользователей при первом входе.
  • Импорт не удаляет. Кого нет в файле, тот остаётся в UnSpot нетронутым: ни архивации, ни деактивации.

Чем импорт отличается от синхронизации

Импорт из CSVСинхронизация с каталогом
Кто запускает обменадминистратор, вручнуюплатформа, раз в сутки
Что с уволенныминичего: карточка остаётся активнойисчезновение из выборки архивирует карточку и снимает брони
Группыпроставляются, но должны существовать заранеепереносятся из каталога (кроме Google Workspace)
Оргструктурасоздаётся по строке «Отдел»переносится деревом
Аватарыне переносятсяпереносятся отдельным заданием
Совместимостьработает при любой подключённой синхронизацииодновременно подключается только одна прямая синхронизация

Импорт и синхронизация не конфликтуют, но если каталог подключён, поля, которые он ведёт, вернутся к его значениям при ближайшем обмене. Пользоваться файлом имеет смысл для того, чего в каталоге нет, — например, для номеров пропусков или нормы посещения офиса.

Связанные статьи

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading