Себестоимость в 1С не сходится: где искать ошибку

Главбух открывает два отчёта — один из документа поступления, другой из оборотно-сальдовой ведомости. Себестоимость одной и той же партии товара отличается. Не на тысячи — на 30 копеек за единицу. Казалось бы, мелочь. Но 30 копеек, умноженные на 500 единиц в партии, — это 150 рублей. А партий за месяц — десятки. Набегает расхождение, которое невозможно объяснить ни поставщику, ни налоговой.

Мы разбирали такие ситуации не раз. И почти всегда причина одна — в системе существует два параллельных расчёта одной величины. Оба правильные. Оба дают разные результаты.

Почему одна и та же себестоимость может отличаться

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

В документе поступления 1С считает себестоимость построчно. Берёт каждый вид затрат, делит на количество единиц, округляет до копеек, потом складывает. Три вида затрат — три промежуточных округления.

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

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

Сравнение двух способов расчёта себестоимости в 1С — построчно и итогом, разница 5.3%

Чем грозит расхождение, даже мелкое

Можно подумать: ну расходится на копейки, не критично. На самом деле — критично, и вот почему.

Бухгалтер теряет доверие к системе. Если отчёт по остаткам показывает одну себестоимость, а документ — другую, у бухгалтера возникает резонный вопрос: какому из них верить? Начинаются ручные перепроверки, параллельные расчёты в Excel, перезвоны с поставщиками. Время уходит впустую.

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

Ошибка накапливается. 30 копеек на единице товара превращаются в 150 рублей на партии из 500 штук. За месяц — тысячи. За год — суммы, которые уже влияют на финансовый результат и налоговую базу.

Шесть типичных причин расхождений

За годы работы мы выделили основные ситуации, когда себестоимость в 1С начинает расходиться.

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

Промежуточное округление. Каждая операция деления с округлением до двух знаков теряет часть точности. Покажем на числах. Три вида затрат на партию из 500 единиц: 12,456 руб., 8,732 руб., 5,219 руб. Делим каждую на 500, округляем до копеек: 0,02 + 0,02 + 0,01 = 0,05 руб. за единицу. Итого на партию: 25,00 руб. А если сложить затраты целиком: 12,456 + 8,732 + 5,219 = 26,407 руб. Разница — 1,41 рубля, или больше 5%. На одной партии. И это не баг — это математика. Промежуточное округление всегда теряет точность.

Точность хранения ставок. Вот пример, который нас удивил. Ставки затрат на единицу товара хранились с точностью до двух знаков после запятой. Ставка 0,0342 рубля за единицу превращалась в 0,03. Потеря 12% на каждой строке — и никто этого не замечал, потому что ошибка тонула в общей сумме. Обнаружили случайно при аудите. Увеличили точность хранения до четырёх знаков — расхождения исчезли.

Шесть причин расхождения себестоимости в 1С — инфографика с описанием каждой проблемы

Нераспределённые дополнительные расходы. Товар оприходован, а дополнительные затраты (доставка, таможенное оформление) ещё не распределены. Один отчёт показывает себестоимость без этих затрат, другой — с ними. Формально оба правильные, просто смотрят на данные в разный момент времени. Чтобы не путаться, проверяйте: все ли документы «Поступление дополнительных расходов» проведены и распределены на нужные партии.

Дата курса валюты. Если товар импортный, стоимость в рублях зависит от курса. Документ поступления фиксирует курс на свою дату. Но если дата пересчёта в регистре отличается даже на один день — результат будет другой. Курс Национального банка меняется ежедневно, и разница в 2-3 копейки на каждом долларе превращается в рубли на крупных партиях.

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

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

Как искать причину расхождения

Универсального рецепта нет — зависит от конфигурации и настроек конкретной базы. Но алгоритм поиска всегда один.

Пошаговый алгоритм поиска расхождений себестоимости в 1С — от обнаружения до исправления

Шаг 1. Зафиксируйте расхождение. Выберите конкретную партию товара, конкретную дату. Выпишите себестоимость из каждого источника — документ, отчёт по остаткам, оборотно-сальдовая ведомость. Где именно разница? На сколько?

Шаг 2. Определите источники данных. Откуда каждый отчёт берёт цифры? Из табличной части документа? Из регистра бухгалтерии? Из регистра накопления? Это ключевой вопрос. Если два отчёта читают данные из разных регистров — расхождение почти гарантировано.

Шаг 3. Сравните формулы расчёта. Как именно вычисляется себестоимость единицы? С каким округлением? В каком порядке? Если один отчёт делит каждую строку отдельно, а другой — итог, то разница будет всегда.

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

Звучит просто, но на практике это означает правку отчёта или документа — изменение запроса, из которого берутся данные. Бухгалтер без программиста здесь не справится. Зато после исправления — проблема исчезает навсегда, а не маскируется ежемесячной ручной сверкой.

Что можно проверить самостоятельно

Некоторые проверки доступны без привлечения программиста.

Откройте оборотно-сальдовую ведомость по счёту 41 (товары) с детализацией по номенклатуре и партиям. Сравните остатки с данными из документа поступления. Если суммы совпадают — проблема не в данных, а в отчёте, который их отображает. Если не совпадают — значит, где-то между поступлением и регистром потерялась точность.

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

Посмотрите на настройки учётной политики. Метод оценки себестоимости (ФИФО, средневзвешенная) влияет на результат. Если метод менялся в середине периода — сверка за этот период может дать расхождения, которые являются нормой, а не ошибкой.

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

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

Профилактика: как не допустить расхождений

Лучше предотвратить проблему, чем искать причину постфактум. Несколько простых правил, которые помогут.

Закрывайте месяц вовремя. Регламентная операция «Расчёт себестоимости» приводит данные в порядок. Пока месяц не закрыт — цифры предварительные и могут отличаться от окончательных.

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

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

И самое важное — не игнорируйте копеечные расхождения. Сегодня это 30 копеек на единице, завтра — тысячи рублей при годовой сверке. Расхождение, которое вы заметили рано, исправляется за час. Расхождение, которое обнаружил аудитор — за неделю нервов.

Когда нужен специалист

Если вы нашли расхождение и понимаете его причину (нераспределённые расходы, разные периоды) — скорее всего, справитесь сами. Проведите недостающие документы, пересчитайте партии.

Но если причина в формулах расчёта, в промежуточном округлении или в дублировании источников данных — это задача для программиста 1С. Он посмотрит, откуда конкретный отчёт берёт данные, и перенастроит его на единый источник. Регламентные задания, которые пересчитывают себестоимость, тоже нужно проверить — они могут работать с устаревшими настройками.

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