Почему при продаже товаров в долг в 1С возникают ошибки в себестоимости и как их правильно исправить

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

Продажа товаров с отсрочкой платежа — стандартная бизнес-практика, однако в программных продуктах 1С она часто становится источником ошибок в учете. Рассмотрим типичную ситуацию: компания отпускает товар сегодня, а оплату получает через неделю. Для удобства или из-за желания подогнать курс валют под дату оплаты пользователи часто меняют дату документа Реализация товаров и услуг на тот день, когда фактически пришли деньги. Это приводит к так называемому «зависанию копеек» — ситуации, когда количество товара на складе равно нулю, а стоимостная оценка в регистрах остается положительной или отрицательной. Проанализируем, почему так происходит и как навести порядок в учете.

Главная ошибка: изменение даты реализации

Разберем ситуацию с точки зрения методологии 1С. Когда мы проводим документ Реализация товаров и услуг, программа выполняет два ключевых действия:

  1. Списывает количество товара со склада.
  2. Рассчитывает и списывает себестоимость этого товара на основе имеющихся данных (по среднему или ФИФО).

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

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

Почему ФИФО не решит проблему, а средняя оценка — надежнее

Часто пользователи думают, что переход с метода «По средней» на «ФИФО» исправит ситуацию. На самом деле, при вашем подходе переход на ФИФО только ухудшит положение. Выясним причину: ФИФО требует жесткого соблюдения партионного учета. Если вы начнете хаотично менять даты реализаций задним числом, партии «перемешаются», и система может начать списывать товар, который по документам еще даже не поступил на склад (если реализация окажется раньше поступления из-за сдвига дат).

Метод «По средней» более терпим к небольшим колебаниям, но и он требует восстановления последовательности. Если товар продан полностью, а стоимость осталась, это явный признак того, что документы проводились не по порядку.

Проблема валютных расчетов и курсовых разниц

Одной из причин изменения даты реализации является скачущий курс валют. Если вы ведете учет в долларах, а оплату принимаете в национальной валюте, возникает соблазн «совместить» даты, чтобы сумма реализации совпала с суммой оплаты по курсу. Рассмотрим, как это сделать правильно без вреда для себестоимости:

Проанализируем механизм курсовых разниц. В 1С предусмотрены специальные инструменты для работы с валютными договорами. Если в договоре с контрагентом указано, что расчеты ведутся в валюте (USD), а оплата в рублях/гривнах, система автоматически рассчитает курсовую разницу в момент проведения оплаты. Эта разница пойдет не на стоимость товара, а на прочие доходы или расходы предприятия. Это методологически верно, так как прибыль от продажи товара и прибыль от изменения курса — это разные виды финансового результата.

Как исправить «зависшие» суммы: пошаговый алгоритм

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

Шаг 1. Поиск проблемных позиций

Сформируйте отчет Ведомость по партиям товаров на складах или Остатки и обороты. Настройте фильтр так, чтобы видеть только те позиции, где Конечный остаток (Количество) = 0, а Конечный остаток (Стоимость) <> 0.

Шаг 2. Восстановление последовательности

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

Шаг 3. Точечное исправление (для продвинутых)

Если полное перепроведение невозможно (например, период закрыт для редактирования), можно воспользоваться логикой из сообщения форума. Нужно найти последний по времени документ расхода для данного товара (тот, который вывел остаток в ноль) и просто перепровести его. Рассмотрим пример логики для поиска таких документов (концептуально):


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПартииТоваров.Номенклатура,
               |    ПартииТоваров.СтоимостьОстаток КАК ОстатокСумма
               |ИЗ
               |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки КАК ПартииТоваров
               |ГДЕ
               |    ПартииТоваров.КоличествоОстаток = 0
               |    И ПартииТоваров.СтоимостьОстаток <> 0";
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
    // Здесь должен быть код поиска последнего документа по этой номенклатуре
    // и его программное перепроведение
КонецЦикла;

Рекомендации по дальнейшей работе

Чтобы избежать подобных проблем в будущем, придерживайтесь следующих правил:

Таким образом, мы выяснили, что причина «ошибок» в 1С — не в программе, а в нарушении логики учета. Следуя правильной хронологии документов, вы обеспечите точность отчетов и избавитесь от необходимости постоянно «подчищать» копейки в регистрах.

← На главную