Ошибка закрытия месяца: Ненулевые остатки по суммам при нулевом остатке по количеству (Импорт и ГТД)

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Торговля и дистрибуция
← На главную

В практике работы с конфигурациями «1С:Комплексная автоматизация 2» и «1С:ERP Управление предприятием 2» специалисты часто сталкиваются с ошибками при закрытии месяца. Одной из наиболее неприятных ситуаций является появление сообщения: «Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости». Особенно часто эта проблема проявляется в цепочках операций с импортным товаром, когда поступление, таможенное оформление (ГТД) и продажа происходят в одном отчетном периоде (месяце).

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

Суть проблемы и сценарий воспроизведения

Давайте рассмотрим типичный сценарий, при котором возникает данная ошибка. Последовательность действий пользователя обычно выглядит следующим образом:

  1. Оформляется документ Приобретение товаров и услуг (покупка импортного товара).
  2. Создается документ Таможенная декларация на импорт (ГТД), который увеличивает стоимость партии товара на сумму пошлины и НДС.
  3. В этом же месяце оформляется документ Реализация товаров и услуг, списывающий данный товар со склада.

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

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

Причина 1: Ошибки релиза конфигурации

Как показывает практика и обсуждения в профессиональном сообществе, одной из самых частых причин такого поведения в ветке редакции 2.5 (в частности, релиз 2.5.7.359 и более ранние) является программная ошибка в алгоритмах расчета себестоимости.

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

Способ решения: Обновление и патчи

Самым надежным решением в данном случае является обновление конфигурации.

  1. Обновление релиза. Рекомендуется обновить конфигурацию минимум до версии 2.5.7.390 или перейти на более актуальную ветку (например, 2.5.8 и выше). Разработчики 1С регулярно выпускают исправления ошибок механизма партионного учета.
  2. Установка патчей. Если полноценное обновление конфигурации по каким-то причинам невозможно (например, база сильно доработана), необходимо проверить наличие опубликованных патчей (исправлений) для вашей текущей версии. Зачастую ошибки закрытия месяца исправляются отдельными патчами, которые можно установить через меню НСИ и администрирование — Обслуживание — Обновление программы — Установка обновлений и исправлений (патчей).

После обновления или установки патчей обязательно выполните полное перепроведение документов за проблемный месяц и перезапустите процедуру закрытия месяца.

Причина 2: Хронология документов внутри дня

Даже в исправных релизах важную роль играет время проведения документов. В системе 1С:Комплексная автоматизация партионный учет может быть чувствителен к последовательности ввода, особенно если используется механизм ФИФО (скользящая оценка).

Рассмотрим ситуацию, когда документ Реализация товаров и услуг проведен временем раньше, чем документ Таможенная декларация на импорт, хотя дата у них одна и та же.

Теоретически, процедура закрытия месяца должна нивелировать эту разницу, выполняя дораспределение расходов. Однако на практике, если ГТД введена позже момента списания, система может сформировать движения по регистрам, которые не связываются с движениями расхода. В результате себестоимость списывается по стоимости закупки (без пошлины), а пошлина остается на остатке.

Способ решения: Корректировка времени

Попробуйте выстроить идеальную хронологическую цепочку:

  1. Приобретение товаров и услуг (например, 09:00).
  2. Таможенная декларация на импорт (например, 12:00).
  3. Реализация товаров и услуг (например, 18:00).

Убедитесь, что ГТД проведена строго до момента реализации. После изменения времени документов необходимо перепровести их и повторить закрытие месяца. Это часто помогает системе корректно «подхватить» стоимость пошлины в момент выбытия товара.

Причина 3: Статус документа ГТД

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

Если в документе установлен статус, подразумевающий, что оформление еще не завершено (например, «На оформлении»), система может сформировать предварительные движения или вовсе не сформировать движения по регистру себестоимости в части формирования стоимости товара, доступной для списания.

Способ решения: Проверка статусов

Откройте документ ГТД и проверьте его статус. Убедитесь, что он переведен в финальное состояние (обычно это статус «Выпущено» или аналогичный, в зависимости от настроек вашей системы). Только в этом статусе документ формирует полные движения по включению пошлины в себестоимость запасов.

Причина 4: Расхождение в аналитике учета номенклатуры

Для корректного расчета себестоимости критически важно совпадение ключей аналитики прихода и расхода. Система 1С хранит остатки не просто в разрезе «Товар + Склад», а использует справочник Ключи аналитики учета номенклатуры, который включает в себя совокупность измерений (Номенклатура, Характеристика, Серия, Назначение, Склад, Организация и т.д.).

Ошибка «есть сумма, нет количества» может возникать, если:

В этом случае с точки зрения регистров у вас есть два разных «виртуальных» товара: по одному есть положительный остаток суммы (пошлина), по другому — отрицательный остаток или ноль, но движения не «схлопнулись».

Способ решения: Анализ регистра себестоимости

Чтобы проверить эту гипотезу, воспользуемся отчетами или Универсальным отчетом по регистру накопления СебестоимостьТоваров.

Сформируйте отчет с группировками:

  1. Организация
  2. Номенклатура
  3. Аналитика учета номенклатуры (разверните это поле до составляющих)
  4. Документ партии (если ведется партионный учет)

Проанализируйте, нет ли дублирования строк по одной номенклатуре. Если вы видите, что приход «висит» на одной строке аналитики, а расход прошел по другой — необходимо привести документы к единообразию. Часто проблема кроется в заполнении поля Назначение (обособление под заказ) или неверном выборе партии в документе ГТД (вкладка распределения расходов).

Резюме по устранению ошибки

Подводя итог, если вы столкнулись с ошибкой ненулевых суммовых остатков по импортному товару, действуйте по следующему алгоритму:

  1. Обновите конфигурацию или патчи. Это первоочередное действие для версий 2.5.7, так как проблема носит системный характер.
  2. Проверьте статусы документов. Убедитесь, что ГТД находится в финальном статусе.
  3. Восстановите хронологию. Попробуйте сдвинуть время ГТД так, чтобы оно было раньше Реализации.
  4. Проверьте аналитику. Убедитесь, что дополнительные расходы распределяются именно на ту аналитику (партию/назначение), по которой произошло списание товара.

Если ни один из методов не помогает, в качестве временного решения (на копии базы) можно попробовать полное перепроведение документов за месяц с предварительной очисткой движений, либо использование документа Корректировка регистров для ручного списания «зависшей» суммы на себестоимость продаж (счет 90.02) последним днем месяца, однако это не устраняет причину ошибки.

← На главную