Учет и Финансы · 10 мин
Почему 1С неправильно округляет суммы и как это исправить
Разбираем, почему 1С округляет итоги, НДС и цены не так, как ожидается: настройки точности, порядок расчёта, копеечные расхождения и способы их устранения.
Пользователи 1С регулярно сталкиваются с ситуацией: программа считает сумму документа, НДС или зарплату с расхождением в одну-две копейки относительно калькулятора или ожиданий контрагента. На практике 1С почти никогда не «считает неправильно» в математическом смысле — расхождения возникают из-за порядка операций, настроек точности хранения чисел и правил округления, заложенных в конфигурацию.
Типичный пример: цена за единицу 118,33 рубля, количество 3 штуки, итог должен быть 354,99, а документ показывает 355,00. Или сумма НДС по строкам не сходится с НДС от итоговой суммы. В обоих случаях причина — не сбой, а то, в какой момент и до какого знака выполняется округление.
Чтобы устранить проблему, нужно сначала понять, какой именно тип расхождения наблюдается: копеечная разница в итогах документа, расхождение НДС, ошибка округления валютных сумм или расхождение между печатной формой и данными учёта. Для каждого случая есть свой порядок диагностики и исправления.
Как 1С хранит и округляет числа
В 1С для денежных величин задана фиксированная точность: как правило, суммы хранятся с точностью до копеек (два знака после запятой), а цены — с точностью, заданной в настройках конфигурации, иногда до 2–4 знаков. Когда цена имеет больше знаков, чем сумма, при умножении на количество неизбежно возникает промежуточное округление.
Ключевой момент: 1С округляет результат после каждой операции приведения к типу с ограниченной точностью, а не только в конце всего расчёта. Поэтому цепочка «цена × количество → округление → сумма с НДС → округление» может дать другой результат, чем расчёт на калькуляторе «в один проход» с последним округлением.
Отдельно влияет метод округления, заданный в квалификаторах числа: в типовых механизмах используется арифметическое округление (0,5 вверх), но в некоторых доработанных конфигурациях разработчики применяют функции Окр() с явным указанием режима или отбрасывание дробной части. Если в базе есть доработки, проверять нужно именно их код.
Расхождение НДС: самый частый случай
Классическая ситуация: сумма документа 10 000 рублей, НДС 20%, бухгалтер считает налог как 10 000 × 20 / 120 = 1666,67, а 1С показывает 1666,66 или наоборот. Причина — способ вычисления: НДС может рассчитываться «сверху» (от суммы без налога) или «в том числе» (выделением из итоговой суммы), и при построчном расчёте копейки распределяются иначе.
Второй источник расхождений — построчный расчёт НДС против расчёта от итога. Если в документе пять строк, налог считается по каждой строке с округлением до копеек, а затем суммируется. Итог может отличаться от НДС, посчитанного одним действием от общей суммы документа, на несколько копеек в любую сторону.
Что проверить в документе
Откройте документ и посмотрите вариант расчёта: цена включает НДС или нет. Пересчитайте вручную одну строку: умножьте цену на количество, примените ставку и сравните с тем, что показывает программа. Если расхождение только в итоге, а каждая строка верна — это построчный эффект, и он считается допустимым.
Пересчитайте одну строку вручную: если строки верны, итог корректен
Проверьте, считается ли налог «сверху» или «в том числе»
Проверьте формат вывода сумм в печатной форме
Проверьте, что округляется первым: сумма в валюте или рублёвый эквивалент
Настройки точности цен и сумм
Во многих конфигурациях точность хранения цен задаётся отдельно от точности сумм. Если цена хранится с двумя знаками, а реальная цена за единицу после деления партии содержит три-четыре знака, программа сохранит округлённое значение — и итог по строке «поплывёт».
Практический приём: когда итоговая сумма согласована с контрагентом и менять её нельзя, корректируют не количество и не итог, а цену — увеличивая точность её хранения. Если конфигурация позволяет задать цену с большим числом знаков, подберите цену так, чтобы произведение на количество после округления дало нужный итог.
Менять точность типов данных в конфигураторе — задача для специалиста: изменение длины и точности числовых реквизитов требует реструктуризации базы и может затронуть обмены, отчёты и печатные формы. Перед такими правками обязательно сделайте резервную копию.
Округление в зарплате и кадровых расчётах
В зарплатных конфигурациях расхождения возникают при расчёте НДФЛ, страховых взносов и среднего заработка. НДФЛ по правилам исчисляется в полных рублях нарастающим итогом с начала года, поэтому помесячная проверка «умножением на 13%» почти всегда даёт расхождение в рубль-два — и это норма, а не ошибка.
Среднедневной заработок хранится с повышенной точностью, и округление применяется только к итоговой сумме отпускных или больничных. Если сравнивать произведение округлённого среднего заработка на число дней с суммой в документе, копейки разойдутся — программа считает от неокруглённого значения.
Валютные пересчёты и курсовые разницы
В документах с валютой порядок операций такой: сумма в валюте умножается на курс, результат округляется до копеек. Если курс содержит четыре знака, а сумма в валюте — две копейки, итоговый рублёвый эквивалент может отличаться от расчёта «в обратную сторону» (рубли делить на курс).
При частичных оплатах и авансах рублёвая сумма распределяется по нескольким курсам, и итоговое сальдо может содержать копеечные хвосты. Эти разницы типовые механизмы обычно относят на курсовые разницы, но в доработанных конфигурациях они иногда зависают на расчётах — это повод проверить корректность доработки.
Как найти и исправить расхождение: порядок действий
Начните с локализации: определите, расходится ли одна строка, итог документа, налог или печатная форма. Каждый уровень проверяется своим способом, и исправлять нужно первоисточник, а не итоговую цифру.
- 1Воспроизведите расчёт одной строки вручную: цена × количество, затем налог
- 2Сравните способ расчёта НДС в документе: «в том числе» или «сверху»
- 3Проверьте точность хранения цены в карточке номенклатуры и в строке документа
- 4Перепроведите документ и сравните итог до и после
- 5Если расхождение осталось — проверьте наличие доработок в модуле расчёта документа
- 6Сформируйте отчёт по взаиморасчётам и сверьте копеечные остатки за период
Если расхождение вызвано согласованной с контрагентом суммой, корректнее подобрать цену с нужной точностью, чем вручную править итоговые поля — ручная правка сумм без пересчёта налога приводит к расхождению НДС в отчётности.
Когда копеечное расхождение — это норма
Не всякое расхождение требует исправления. Построчное округление НДС, нарастающий расчёт НДФЛ и распределение сумм по нескольким курсам дают закономерные отклонения в копейки, которые признаются допустимыми и отражаются в учёте штатно.
Тревожный признак — систематическое расхождение в одну сторону на одинаковую величину, расхождение между регистрами и документами или копейки, копящиеся на взаиморасчётах месяцами. Это указывает на ошибку в доработках или некорректный перенос данных, и разбираться нужно на уровне кода и настроек.
Как проверить результат
Цена × количество = сумма строки с точностью до копейки
Строка расходится больше чем на копейку
Равен сумме построчных НДС
Не сходится ни построчно, ни от итога
Копеечные остатки списываются документами
Остатки копятся и растут
Суммы совпадают с данными документа
В форме другие итоги, чем на экране
Частые вопросы об округлении в 1С
Почему 1С считает НДС не так, как калькулятор?
Калькулятор считает налог одним действием от итоговой суммы, а 1С — построчно с округлением каждой строки до копеек. Сумма построчных значений может отличаться от расчёта от итога на несколько копеек, и это допустимое расхождение.
Можно ли заставить 1С округлять в большую сторону всегда?
Штатно в типовых механизмах применяется арифметическое округление. Изменить режим глобально можно только доработкой кода, что затронет все документы и отчёты — такое решение должен принимать и реализовывать специалист с тестированием на копии базы.
Контрагент требует точную сумму в счёте, а 1С даёт другую — что делать?
Не правьте итог вручную. Подберите цену с большей точностью так, чтобы произведение на количество после округления дало согласованную сумму, либо скорректируйте количество. После изменения пересчитайте налог и проверьте печатную форму.
Почему НДФЛ за месяц не равен 13% от начисленной зарплаты?
НДФЛ исчисляется в полных рублях нарастающим итогом с начала года с учётом вычетов. Помесячная проверка умножением на ставку почти всегда даёт расхождение в рубли — корректно проверять налог только за год целиком.
Копейки копятся на взаиморасчётах с поставщиком — это ошибка?
Если остатки растут от месяца к месяцу и не закрываются документами, вероятна проблема в порядке зачёта авансов или в доработках расчётов. Проверьте последовательность проведения документов и при необходимости привлеките специалиста к анализу кода.
Влияет ли округление на отчётность по НДС?
Декларация формируется из регистров, а не из печатных форм, поэтому построчные копеечные округления в документах штатно учитываются. Опасна другая ситуация: ручная правка сумм в документе без пересчёта налога — тогда регистры и проводки расходятся.
Что важно запомнить
1С почти всегда округляет корректно — расхождения возникают из-за построчного промежуточного округления, способа расчёта НДС и точности хранения цен. Диагностируйте уровень расхождения, проверяйте строки вручную и не правьте итоги напрямую. Систематические расхождения в одну сторону — повод проверить доработки конфигурации.