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

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

Как вычесть процент от суммы в 1С

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

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

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

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

Две разные задачи: вычесть процент и выделить его из суммы

Первая задача — уменьшение суммы на заданный процент. Например, цена товара 10 000 рублей, нужно применить скидку 15 %. Расчёт: 10 000 × (1 − 15/100) = 10 000 × 0,85 = 8 500 рублей. Размер самой скидки при этом составляет 1 500 рублей.

Вторая задача — выделение процента, который уже сидит внутри суммы. Типичный пример — НДС 20 %, включённый в цену. Здесь простое умножение на 0,2 даст неверный результат: 12 000 × 0,2 = 2 400, а правильная сумма налога — 12 000 × 20/120 = 2 000 рублей. Формула выделения: S × P / (100 + P).

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

Расчёт в документах: скидки и наценки

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

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

Для разового ручного расчёта без настройки механизмов можно прямо в ячейке табличной части ввести формулу: поля сумм в 1С поддерживают арифметические выражения. Например, в поле «Сумма» введите 10000*0.85 и нажмите Enter — в поле запишется результат 8 500.

Применение скидки в документе продажи
  1. 1
    Откройте документ и заполните табличную часть товарами с ценами
  2. 2
    В колонке «% скидки» укажите процент для нужных строк
  3. 3
    Убедитесь, что суммы строк и итог документа пересчитались
  4. 4
    Проверьте, что НДС пересчитался от суммы уже со скидкой
  5. 5
    Проведите документ и сверьте итог с печатной формой

Выделение НДС из суммы в документах

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

Когда флажок установлен, программа считает введённую сумму итоговой и выделяет налог по формуле Сумма × Ставка / (100 + Ставка). Когда снят — налог начисляется сверху: Сумма × Ставка / 100, а итог увеличивается. Переключение флажка после заполнения табличной части вызывает пересчёт всех строк, поэтому менять его нужно до ввода данных или с контролем итогов после.

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

Расчёт формулой в консоли кода и встроенном языке

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

Примеры выражений для вычитания и выделения процента:

// Вычесть 15 % из 10000

Результат = 10000 * (1 - 15/100); // 8500

// Выделить НДС 20 % из суммы 12000

НДС = 12000 * 20 / 120; // 2000

СуммаБезНДС = 12000 - НДС; // 10000

Для денежных расчётов всегда округляйте результат до двух знаков функцией Окр(): Окр(Сумма * Ставка / (100 + Ставка), 2). Без округления в промежуточных вычислениях накапливаются копеечные расхождения, которые потом всплывают при сверке с выписками и счетами-фактурами.

Вычитание процента в запросах и отчётах

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

ВЫБРАТЬ

Товары.Номенклатура,

Товары.Сумма,

Товары.Сумма * (1 - &ПроцентСкидки / 100) КАК СуммаСоСкидкой,

Товары.Сумма * 20 / 120 КАК СуммаНДС

ИЗ

Документ.РеализацияТоваровУслуг.Товары КАК Товары

Параметр &ПроцентСкидки передаётся в запрос через Запрос.УстановитьПараметр(). В СКД процент можно вынести в параметры отчёта, чтобы пользователь менял его без редактирования схемы. Учтите: в запросах нет функции округления, поэтому округляйте результат уже при выводе — в вычисляемом поле СКД или при обработке выборки.

Если отчёт показывает сумму без НДС, а бухгалтерия сверяет по проводкам, считайте налог от каждой строки документа, а не от итога: сумма НДС, посчитанная от общего итога, почти всегда расходится с суммой построчных расчётов на копейки из-за округления.
ПЗ
Практическое замечание

Округление и типичные ошибки при расчётах

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

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

Типичные ошибки
01
Умножение суммы с НДС на 0,2 вместо формулы 20/120 — налог завышается, учёт расходится с декларацией
02
Расчёт скидки от итога документа вместо построчного — копеечные расхождения между строками и итогом
03
Отсутствие округления до копеек в коде — накопление ошибки в оборотах за период
04
Переключение флажка «Цена включает НДС» после заполнения документа без контроля пересчёта строк

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

Надёжный способ проверки — обратная операция. Вычли 15 % из 10 000 и получили 8 500? Проверьте: 8 500 / 0,85 = 10 000. Выделили НДС 2 000 из 12 000? Проверьте: 10 000 × 1,2 = 12 000. Обратный расчёт выявляет ошибку формулы мгновенно.

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

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

Как быстро вычесть процент без кода, прямо в поле документа?

В числовых полях табличных частей 1С работают арифметические выражения. Введите в поле суммы выражение вида 10000*0.85 и нажмите Enter — программа вычислит и подставит результат. Это удобно для разовых корректировок без калькулятора.

Почему НДС, посчитанный как 20 % от суммы с налогом, не совпадает с данными 1С?

Потому что налог уже включён в сумму, и его нужно выделять по формуле Сумма × 20/120, а не начислять сверху. Умножение на 0,2 корректно только для суммы без НДС, к которой налог добавляется.

Как применить скидку сразу ко всем строкам документа?

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

От чего считать скидку: от суммы с НДС или без?

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

Можно ли вычесть процент в отчёте, не изменяя данные документов?

Да. В СКД добавьте вычисляемое поле с формулой вида Сумма * (1 - Процент / 100) или используйте выражение в ресурсе отчёта. Данные базы при этом не меняются — расчёт выполняется только при формировании отчёта.

Почему сумма со скидкой по строкам не сходится с итогом на копейки?

Из-за округления: скидка по каждой строке округляется до копеек, и сумма округлённых значений отличается от округлённой скидки от итога. Это нормальная ситуация; важно, чтобы печатная форма и проводки использовали один и тот же принцип расчёта.

Итог

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

Вычитание процента — формула S × (1 − P/100), выделение включённого процента — S × P / (100 + P). В документах 1С скидки и НДС считаются автоматически; ручные формулы применяйте для разовых расчётов и отчётов, всегда округляйте до копеек и проверяйте результат обратной операцией.