Раз в квартал (а кто-то — раз в месяц) наступает инвентаризация. Пересчёт товаров, сверка остатков, акты расхождений. Процесс утомительный, но необходимый. И вот бухгалтер открывает инвентаризационную ведомость в 1С, сравнивает с фактом — а цифры не сходятся.
«По программе на складе 347 позиций чая на сумму 12 840 рублей. По факту — те же 347 позиций, но на сумму 12 793 рубля. Откуда разница в 47 рублей?»
Иногда расхождение — это реальная недостача. А иногда — ошибка программы. И вот тут важно отличить одно от другого.
Как копейки превращаются в тысячи
Реальная история. Ресторанная группа — несколько точек, общий склад, ежемесячная инвентаризация. Бухгалтер формирует инвентаризационную ведомость за месяц — итоговая стоимость фактических остатков не совпадает с учётной. Разница — около пяти тысяч рублей.
Начали разбираться. Оказалось, программа считала стоимость факта и стоимость по учёту по разным формулам. В одном месте бралась средняя цена за весь период, в другом — цена на конкретную дату. Разница по одной позиции — три копейки. Но позиций в номенклатуре — тысячи. Три копейки умножить на десятки тысяч строк — и вот вам существенное расхождение, которого на самом деле нет.
Товар на складе. Всё пересчитано правильно. Бухгалтер всё ввела верно. А программа показывает недостачу. Потому что формулы не согласованы между собой.
Три источника расхождений
Округление
1С хранит суммы с определённой точностью. При расчёте стоимости остатков происходит деление, умножение — и на каждом шаге результат округляется. Если формула расчёта стоимости в инвентаризационной ведомости отличается от формулы в оборотной ведомости хотя бы порядком операций — разница в копейках гарантирована.
Это не ошибка в данных. Это ошибка в расчёте. Товар на месте, документы верны, но итоговая сумма «плавает» из-за арифметики.
Ошибка в формуле расчёта
У того же клиента нашлась ещё одна проблема: при нулевом учётном количестве (товар полностью списан, остаток — ноль) программа пыталась разделить сумму на ноль. Вместо корректной обработки — ошибка, и строка просто выпадала из расчёта. Не с красным предупреждением, а молча. Итог опять не сходился, потому что часть строк не учитывалась.
Деление на ноль — классическая ошибка. В типовых конфигурациях она обычно обработана. Но если в вашу базу вносили доработки — проверьте. Доработанный отчёт по инвентаризации может содержать такие «дыры».
Не все данные попали в отчёт
Бывает и проще. Отчёт формируется за период — допустим, с 1 по 31 марта. Но фильтр по дате стоит неправильно, и документы последнего дня (или первого) не попадают в выборку. Или фильтр по складу «срезает» часть данных.
В одном случае мы обнаружили, что отчёт для общепита не учитывал наборы (комплекты из нескольких позиций). Наборы продавались, но в отчёт попадали только поштучные продажи. Разница — почти пять тысяч рублей за месяц. Не потому что товар пропал, а потому что отчёт его «не видел».
Как отличить реальную недостачу от ошибки программы
Главный признак программной ошибки — расхождение «размазано» по многим позициям. Если недостача — это конкретные позиции (пять бутылок масла, три пачки кофе), это, скорее всего, реальная проблема: пересортица, неучтённое списание, хищение.
Если расхождение — по копейке-другой на каждой позиции, но в итоге набегает существенная сумма — это почти наверняка ошибка расчёта. Товар на месте, просто программа считает неправильно.
Ещё один признак: расхождение стабильно повторяется из месяца в месяц, примерно в одном и том же размере. Реальные недостачи случайны — они каждый раз разные. Системная ошибка — стабильна.
Как проверить инвентаризацию
1. Сравните итоги инвентаризационной ведомости с оборотной
Сформируйте оборотно-сальдовую ведомость по тому же складу за тот же период. Сравните итоговые суммы остатков. Если они совпадают — данные в порядке, расхождение при инвентаризации — реальное. Если не совпадают — проблема в расчёте, а не в товарах.
2. Проверьте документы за последний день периода
Частая ситуация: инвентаризация проводится 31 марта, а поступление товара оформлено 31 марта в 23:59. Попало ли оно в отчёт? А списание от 1 апреля, которое фактически произошло 31 марта? Граничные даты — источник ошибок.
3. Пересчитайте вручную 5-10 позиций
Возьмите несколько позиций из ведомости, по которым есть расхождения. Посчитайте их стоимость вручную: количество на складе умножить на учётную цену. Если ваш расчёт совпадает с фактом, но не совпадает с программой — проблема в формуле. Если совпадает с программой — проблема в фактических остатках.
Это простой, но надёжный способ. Десять минут ручного пересчёта могут сэкономить часы поиска «несуществующей» недостачи.
Что делать, если нашли ошибку в расчёте
Не пытайтесь «подогнать» цифры. Если инвентаризационная ведомость считает неправильно — это нужно исправлять в программе, а не в акте.
Зафиксируйте проблему: какой отчёт, за какой период, какая разница, на каких позициях. Передайте специалисту. Обычно исправление формулы — дело на несколько часов. После исправления пересчитайте инвентаризацию заново.
Если исправление прямо сейчас невозможно (специалист занят, а акт нужен завтра) — используйте для итогов оборотно-сальдовую ведомость. Она, как правило, считает корректно, потому что использует стандартные механизмы платформы.
Профилактика
Несколько привычек, которые снижают риск проблем с инвентаризацией:
- После каждого обновления 1С сформируйте инвентаризационную ведомость за прошлый период и сравните с предыдущим результатом. Если суммы изменились — обновление что-то затронуло.
- Если в базе есть доработанные отчёты по инвентаризации — попросите специалиста проверить формулы расчёта стоимости. Особенно обработку нулевых остатков и округления.
- Не откладывайте оформление документов. Поступления, списания, перемещения — всё должно быть проведено до начала инвентаризации. «Доведу потом» — верный путь к расхождениям.
- Используйте стандартные механизмы 1С для инвентаризации, если нет веских причин использовать нестандартные. Типовой документ «Инвентаризация товаров» проверен и отлажен.
Коротко
Расхождения при инвентаризации — не всегда недостача. Иногда это ошибка в расчёте: округление, неправильная формула, неполная выборка данных. Копейки на каждой позиции складываются в тысячи. Прежде чем искать виноватого на складе — проверьте, правильно ли считает программа. Сравните ведомости, пересчитайте несколько позиций вручную. Если ошибка системная — исправляйте программу, а не акт.


