К статье
Практический материал

Учет и Финансы · 11 мин

Как в 1С настроить округление суммы

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

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

Единой кнопки «округлять все суммы» в 1С нет: настройка зависит от конкретной задачи. Где-то достаточно изменить точность хранения цен, где-то потребуется скорректировать формулу расчёта, а где-то — изменить код конфигурации. Ниже разобраны основные сценарии для типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, Зарплата и управление персоналом) и для самописных решений.

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

Определите, где именно возникает проблема с округлением

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

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

Итог документа не сходится с суммой строкПроблема в расчёте НДС или скидок

Проверьте, как считается НДС: с каждой строки или с итога

Цены содержат копейки, а нужны рублиНастройка точности цен

Смотрите параметры типа цен и правила округления

Зарплата начисляется с копейкамиНастройка округления в ЗУП

Проверьте параметры расчёта и способы округления результатов

Суммы в валюте «пляшут» при пересчётеТочность валюты и курс

Проверьте разрядность валюты и порядок пересчёта в рубли

Настройка точности цен и округления в номенклатуре

В торговых конфигурациях (Управление торговлей, Комплексная автоматизация, ERP) точность цены задаётся в настройках видов цен. Откройте карточку вида цены (раздел CRM и маркетинг или НСИ, в зависимости от конфигурации) и проверьте параметры округления: там можно указать порядок округления (до копеек, до рублей, до десятков рублей) и правило — арифметическое, в большую или в меньшую сторону.

Если цены рассчитываются формулой от базового вида цен (например, «закупочная цена + 30 %»), округление применяется к результату расчёта. Это удобный способ получить «красивые» розничные цены без ручной правки каждой позиции: задайте в формуле ценообразования правило округления, и новые цены будут устанавливаться уже округлёнными.

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

Округление сумм и НДС в документах

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

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

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

Способы получить целые рубли в документе

Округление цены в виде цен

Подходит для розницы и прайсов; ограничение — расхождения в расчёте НДС

Ручная корректировка последней строки

Подходит для разовых договорных сумм; требует дисциплины и регламента

Округление в печатной форме

Меняет только отображение, не учётные данные; в базе копейки останутся

Доработка кода расчёта

Полный контроль над правилом; требует конфигуратора и тестирования при обновлениях

Округление в зарплате и кадровых расчётах

В 1С:Зарплате и управлении персоналом результаты расчётов по умолчанию хранятся с копейками. Если по правилам организации начисления должны округляться до целых рублей, это настраивается в параметрах расчёта зарплаты: раздел «Настройка» → «Расчёт зарплаты», где доступен вариант округления результатов расчёта. Точное расположение и состав настроек зависят от версии конфигурации, поэтому сверяйтесь с документацией к вашему релизу.

Отдельно настраивается округление в отдельных начислениях. В формуле вида расчёта можно использовать функции округления встроенного языка, чтобы конкретное начисление (например, премия, рассчитанная процентом) округлялось до рубля, а оклад оставался с копейками. Это гибче глобальной настройки и позволяет применять разные правила к разным начислениям.

Учтите, что округление начислений влияет на базу для НДФЛ и взносов. Налог на доходы физических лиц по действующим правилам исчисляется в целых рублях — это округление программа выполняет автоматически при расчёте налога, и вмешиваться в него не нужно. А вот страховые взносы считаются с копейками, и попытка округлить их вручную приведёт к расхождениям с отчётностью.

Округление в коде: функции Окр() и Цел()

Если вы дорабатываете конфигурацию или пишете собственную обработку, округление выполняется встроенными функциями языка. Основная функция — Окр(Число, Разрядность, РежимОкругления): она округляет число до указанного знака. Разрядность 0 округляет до целых, 2 — до копеек, отрицательные значения — до десятков, сотен и так далее.

Режим округления задаётся системным перечислением: РежимОкругления.Окр15как10 (банковское округление, половина идёт к чётному), РежимОкругления.Окр15как20 (обычное арифметическое, половина вверх). Для денежных расчётов чаще применяют арифметический режим, чтобы поведение совпадало с ожиданиями бухгалтерии.

Функция Цел(Число) просто отбрасывает дробную часть без округления — это не то же самое, что округление вниз для отрицательных чисел. Для округления всегда в большую или всегда в меньшую сторону встроенных функций нет, такие правила реализуют комбинацией Цел() и сравнения с исходным значением.

bsl
СуммаОкругленная = Окр(СуммаИсходная, 0, РежимОкругления.Окр15как20); // до целых рублей, арифметически
СуммаСКопейками = Окр(Цена * Количество, 2); // до копеек
ЦенаОкругленная = Окр(ЦенаРасчетная, -1); // до десятков рублей

Проверка результата и типичные ошибки

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

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

Типичные ошибки
01
Округление цены до рублей при работе с НДС — сумма налога перестаёт сходиться с расчётом от базы
02
Изменение точности реквизита в конфигураторе без конвертации данных — старые значения могут отображаться некорректно
03
Округление в печатной форме при неокруглённых данных в базе — отчёты и документы расходятся
04
Ручная правка налогов и взносов — расхождения с регламентированной отчётностью
05
Применение Цел() вместо Окр() — суммы систематически занижаются, а не округляются арифметически

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

Контрольные точки

Как проверить результат

Итог тестового документа
Норма

Совпадает с суммой строк и ожидаемым значением

Тревожный признак

Расхождение на копейки между итогом и строками

Расчёт НДС
Норма

НДС сходится с произведением базы на ставку в пределах копейки

Тревожный признак

Систематические расхождения в каждой строке

Расчётный листок
Норма

Начисления округлены по правилу, НДФЛ в целых рублях

Тревожный признак

Копейки в НДФЛ или неокруглённые начисления

Печатная форма
Норма

Суммы на форме совпадают с данными документа

Тревожный признак

Форма показывает другие значения, чем база

Часто задаваемые вопросы

Можно ли настроить округление всех сумм в программе одной настройкой?

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

Почему после округления цены перестал сходиться НДС?

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

Как округлить сумму только в печатной форме, не меняя данные?

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

Чем отличается Окр15как10 от Окр15как20?

Оба режима определяют, куда округляется значение ровно посередине (например, 2,5). Окр15как20 округляет половину вверх по модулю (2,5 → 3), что соответствует привычному арифметическому правилу. Окр15как10 — «банковское» округление: половина идёт к ближайшему чётному (2,5 → 2, 3,5 → 4), что уменьшает систематическую погрешность в больших массивах расчётов.

Нужно ли округлять страховые взносы до рублей?

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

Что делать, если после обновления конфигурации округление «слетело»?

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

Итог

Что важно запомнить

Округление в 1С настраивается не глобально, а по месту: цены — в видах цен, зарплата — в параметрах расчёта, код — функциями Окр() и Цел(). Округление цен влияет на расчёт НДС, а налоги и взносы округлять вручную нельзя. Перед изменениями делайте резервную копию и проверяйте результат на тестовых документах.