Назад в блог
Корпоративные решения

Учёт основных средств и выдачи сотрудникам: как устроить

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

Demirbaş TakibiZimmetKurumsal ÇözümlerEnvanter

Программа учёта основных средств и выдачи имущества показывает из одной записи, где находится каждый актив компании (ноутбук, телефон, станок, мебель, автомобиль, измерительный прибор), у кого он и в каком он состоянии. Она состоит из четырёх частей: карточки на каждый актив, этикетки (QR-код или штрихкод), которая связывает карточку с физическим предметом, истории выдачи, где видно, кто кому передал актив, и регулярной инвентаризации, которая сверяет записи с реальностью. В первый год хватает таблицы; когда растёт число сотрудников и филиалов, ответ на вопрос «у кого был этот ноутбук» теряется. В статье разбираем правильную модель данных, возврат имущества при увольнении, инвентаризацию, связь с бухгалтерией и выбор между готовой программой и заказной разработкой. С этих тем мы начинаем разговор с клиентами, для которых строим систему учёта в рамках корпоративных решений.

Учёт основных средств и складской учёт: одно и то же?

Нет, и путаница между ними встречается чаще всего. Складской запас расходуется или продаётся; его учитывают количеством, и он отвечает на вопрос «сколько штук на складе». Основное средство компания использует годами; его учитывают поштучно, и оно отвечает на вопрос «где устройство с этим серийным номером и у кого оно». Складскую сторону мы описали в статье о программе складского учёта. То же различие касается автомобилей: служебная машина является активом, но у неё есть свои вопросы (обслуживание, штрафы, пробег), поэтому мы разобрали её отдельно в статье об управлении автопарком. График обслуживания оборудования относится к системе управления техобслуживанием; система учёта активов даёт обеим карточку актива.

Что должно быть в карточке актива?

  • Идентификация: внутренний инвентарный номер (печатается на этикетке), производитель, модель, серийный номер или IMEI.
  • Класс и место: категория (ИТ, мебель, оборудование), филиал, здание и помещение; иерархия мест задаётся с первого дня.
  • Финансовые данные: дата покупки, стоимость, поставщик, номер счёта и окончание гарантии.
  • Статус: в работе, на складе, в ремонте, утерян, списан. Статусы выбираются из фиксированного списка, а не пишутся свободным текстом.
  • Документы: счёт, гарантийный талон и подписанный акт выдачи прикрепляются к карточке.

Главное: выдача привязывается к активу, а не к сотруднику

Чаще всего неправильно строят именно хранение выдачи. Список «выданные устройства» в карточке сотрудника или одно поле «у кого» в карточке актива показывают сегодняшний день, но стирают прошлое: у кого было устройство в марте прошлого года, когда разбили экран, кто из сотрудников ушёл, не вернув технику? Правильная модель хранит каждую передачу отдельной записью: актив, получатель, кто выдал, дата выдачи, а после возврата дата возврата и состояние. Тогда вопрос «у кого он был в этот день» решается одним запросом. Правило простое: у актива одновременно может быть только одна открытая запись о выдаче. Пример ниже обеспечивает это внутри транзакции базы данных.

type Assignment = {
  assetId: string;
  employeeId: string;
  issuedBy: string;
  issuedAt: Date;
  returnedAt?: Date;
  returnCondition?: 'ok' | 'damaged' | 'missing_parts';
};

export async function assignAsset(
  assetId: string,
  employeeId: string,
  issuedBy: string,
) {
  return db.transaction(async tx => {
    // Блокируем строку: одно устройство нельзя выдать двоим одновременно.
    const asset = await tx.assets.findForUpdate(assetId);
    if (asset.status !== 'in_stock') throw new Error('ASSET_NOT_AVAILABLE');

    const open = await tx.assignments.findOpen(assetId);
    if (open) throw new Error('ASSET_ALREADY_ASSIGNED');

    await tx.assignments.insert({
      assetId,
      employeeId,
      issuedBy,
      issuedAt: new Date(),
    });
    await tx.assets.update(assetId, { status: 'in_use' });
  });
}
Запись о выдаче не удаляется, а только закрывается. Лишь система, которая движется вперёд добавлением записей, а не перезаписью истории, через год сможет бесспорно ответить, у кого было это устройство.

Приём на работу, увольнение и возврат

Ценность системы лучше всего видна при увольнении. Если у уходящего сотрудника остались открытые выдачи, система показывает их отделу кадров и руководителю; каждое возвращённое устройство закрывается вместе с состоянием, а недостающее становится шагом процесса увольнения. При приёме на работу ускоряют дело стандартные комплекты: для роли «торговый представитель» задаётся шаблон из ноутбука, телефона и автомобиля, и кладовщик выдаёт его с одного экрана. Если данные о сотрудниках живут в другой системе (зарплата, учёт рабочего времени), программа учёта активов не копирует список, а читает его оттуда; эту связь мы описали в статье о программе учёта персонала. Кто может выдавать, а кто только смотреть, решает модель прав доступа, см. роли пользователей и авторизация.

Инвентаризация: когда записи расходятся с реальностью?

Даже в лучшей системе записи со временем расходятся с реальностью: устройство переносят в другую комнату, оно не возвращается из ремонта, двое коллег меняются техникой. Поэтому инвентаризацию проводят минимум раз в год, а для критичных активов чаще. Она идёт через мобильное приложение: сотрудник заходит в помещение, сканирует этикетки, и система сравнивает, что должно быть в этом месте, с тем, что отсканировано. Получается три списка: на месте, найдено в другом месте и не найдено. Ненайденные активы не удаляются автоматически, а получают статус «утерян» и требуют подтверждения. Итог инвентаризации не отчёт, а список задач.

Связь с бухгалтерией: кто что ведёт?

Финансовая сторона актива (стоимость, амортизация, списание) ведётся в бухгалтерской программе; система учёта выдачи её не заменяет. При правильной настройке обе системы используют один инвентарный номер: когда входящий счёт проведён в бухгалтерии, создаётся карточка актива, а когда в системе учёта принято решение о списании, бухгалтерия получает уведомление. Повторный расчёт амортизации в системе учёта даёт две разные цифры. Как строится интеграция, мы описали в статье об интеграции с бухгалтерской программой; по налоговым правилам и амортизации консультируйтесь с бухгалтером.

Готовая программа или заказная разработка?

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

Итог

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

Let's Build Your Project

Get a free consultation for your website, mobile app, or corporate software project.

Get a Free QuoteExplore our Corporate Solutions service