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

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

1С округляет копейки: как исправить

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

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

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

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

Где именно 1С округляет: определяем точку возникновения

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

Простой тест: введите в документ цену 10,125 и количество 3. Если в поле цены значение сразу превратилось в 10,13 — округление настроено на уровне ввода (точность цены). Если цена сохранилась, но сумма строки стала 30,38 вместо 30,375 — округляется сумма строки. Если в документе всё верно, а в печатной форме копеек нет — проблема только в формате вывода.

Копейки обрезаются при вводе ценыНастройка точности цены

Проверьте точность цены в типе цен или валюте документа

Сумма строки не равна цена × количествоОкругление суммы строки

Проверьте порядок расчёта суммы и точность сумм в конфигурации

В документе верно, на печати без копеекФормат печатной формы

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

Расхождения в регистрах после проведенияОкругление при проведении

Сравните сумму документа с движениями, потребуется перепроведение

Настройка точности цен и сумм в пользовательском режиме

В типовых конфигурациях есть штатные настройки, которые управляют точностью без вмешательства в код. В «1С:Бухгалтерии 8» разрядность цен задаётся в разделе «Администрирование → Параметры учёта» (в ряде релизов — в настройках плана счетов или общих настройках). В «Управлении торговлей» и ERP точность цены привязана к виду цен: откройте нужный вид цен и проверьте поле «Точность округления» и вариант округления (в большую сторону, в меньшую, по арифметическим правилам).

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

Порядок действий в пользовательском режиме
  1. 1
    Воспроизведите проблему на копии базы или тестовом документе и зафиксируйте, где округляется значение
  2. 2
    Проверьте точность цены в виде цен / типе цен (УТ, ERP) или параметры учёта (БП)
  3. 3
    Проверьте разрядность валюты документа в справочнике валют
  4. 4
    Проверьте формат вывода в печатной форме документа
  5. 5
    Исправьте настройку и перезаполните цены в проблемном документе
  6. 6
    Проверьте, что итог документа, НДС и печатная форма сходятся до копейки

Округление в ценах и скидках торговых документов

Самый частый сценарий в торговле: задана скидка в процентах, цена со скидкой получается дробной, 1С округляет её до копеек, и сумма строки перестаёт равняться ожидаемой. Например, цена 100 руб., скидка 15 % — цена со скидкой 85 руб. ровно, но при цене 33,33 и скидке 7 % результат дробный, и в зависимости от того, что округляется (цена или сумма), итог по документу разойдётся с расчётом менеджера на калькуляторе.

Здесь действует простое правило: 1С сначала считает сумму строки, потом при необходимости пересчитывает цену как сумму, делённую на количество. Если точность цены меньше точности промежуточного расчёта, цена «грязнится». Решение — либо увеличить точность хранения цены до 3–4 знаков, либо принять, что цена в документе может быть дробной, а контроль вести по сумме строки и сумме документа.

Копеечные разницы в НДС и взаиморасчётах

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

Во взаиморасчётах копеечные остатки возникают из-за курсовых разниц и частичных оплат: документ реализации по курсу на дату отгрузки, оплата — по курсу на дату платежа, а рублевая сумма задолженности пересчитывается. В результате после полной оплаты в валюте на счёте расчётов «висит» 0,01 руб. Такие остатки закрываются документом «Корректировка долга» (списание задолженности) или корректировкой расчётов — в зависимости от учётной политики.

Сверка НДС: как проверить

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

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

Отдельный класс проблем — когда данные в базе точные, а на печати или в отчёте копейки пропадают. В управляемых формах и макетах за вывод отвечает строка формата. Типичная запись в макете выглядит как ЧЦ=15; ЧДЦ=2 — пятнадцать знаков всего, два после запятой. Если в конкретном макете стоит ЧДЦ=0, сумма выведется без копеек, хотя в документе они есть.

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

1c
Формат(СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=,; ЧРГ=' '")

Изменение разрядности в конфигураторе: когда настроек не хватает

Если штатная точность (обычно 2 знака у сумм и 2–4 у цен) не подходит — например, вы торгуете товаром с ценой за единицу меньше копейки или ведёте расчёты в условных единицах с высокой точностью — разрядность меняется в конфигураторе. Это делается у соответствующих реквизитов и ресурсов регистров: у числового типа задаются длина и точность.

Определение типа с точностью в конфигураторе:

// Квалификаторы числа: длина 15, точность 4

ТипЧисло = Новый ОписаниеТипов("Число",

Новый КвалификаторыЧисла(15, 4, ДопустимыйЗнак.Неотрицательный));

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

Исправление уже накопленных расхождений

Если копеечные разницы уже накопились в учёте, действуйте по нарастающей. Сначала перепроведите проблемные документы за период — часто расхождения возникают после ручного изменения сумм или обменов, и перепроведение восстанавливает расчёт по правилам программы. В «1С:Бухгалтерии» для этого есть обработка «Групповое перепроведение документов».

Второй шаг — закрытие копеечных остатков по взаиморасчётам через «Корректировку долга» с видом операции списания или проведением взаимозачёта на сумму остатка. Третий шаг — исправление НДС: если расхождение попало в книгу покупок или продаж закрытого периода, корректировка делается через корректировочные записи текущим периодом, а не правкой закрытого.

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

Как проверить, что проблема решена

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

Затем проведите документ и сформируйте отчёт по движениям (или оборотно-сальдовую ведомость по счету расчётов): сумма в регистрах должна совпадать с суммой документа. Только когда все три уровня сходятся, настройку можно считать завершённой.

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

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

Цена × количество в строке документа
Норма

Равно сумме строки до копейки

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

Разница в копейках уже на уровне строки

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

Полное совпадение

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

Итог отличается — где-то ручная правка

Печатная форма и счёт-фактура
Норма

Копейки совпадают с документом

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

На печати округление — проблема формата макета

Движения документа по регистрам
Норма

Суммы в регистрах равны сумме документа

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

Расхождение после проведения — нужно перепроведение

Итог

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

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

Частые вопросы

Почему сумма в документе не сходится с расчётом на калькуляторе ровно на копейку?

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

Можно ли в 1С хранить цены с тремя или четырьмя знаками после запятой?

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

После полной оплаты по счёту расчётов висит 0,01 рубля. Что делать?

Это копеечная разница от курсовых пересчётов или округления. Оформите документ «Корректировка долга» с операцией списания задолженности на сумму остатка. Не правьте суммы исходных документов реализации или оплаты — это исказит первичку.

Почему НДС в счёте-фактуре отличается от НДС, посчитанного от общей суммы?

1С считает НДС построчно с округлением каждой строки до копеек, а затем суммирует. Расчёт «от итога» одним действием даёт другой результат на копейку-две. Построчный метод соответствует правилам заполнения счетов-фактур, поэтому эталоном считается именно он.

На печати сумма без копеек, а в документе с копейками. Это ошибка?

Нет, это настройка формата вывода в макете печатной формы. Проверьте параметр формата суммы в макете: разрядность дробной части должна быть равна двум (ЧДЦ=2). Данные в базе при этом хранятся корректно и исправления не требуют.

Опасно ли менять разрядность чисел в конфигураторе?

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