Как достичь ровной итоговой суммы в строке документа продажи в 1С:Управление торговлей 11.4/11.5 и обеспечить ее корректную передачу через ЭДО?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе в 1С:Управление торговлей (УТ) версии 11.4 или 11.5, особенно когда мы имеем дело с дробными количествами товаров (например, весовым или метражным товаром) и ценами с ограниченной точностью (обычно до двух знаков после запятой), может возникнуть ситуация, когда произведение количества на цену не дает желаемой "ровной" итоговой суммы по строке. Это особенно актуально для организаций, участвующих в тендерах, где требуется строго определенная круглая сумма. Возникает вопрос: как обеспечить такую точность в учетной системе и как это повлияет на электронный документооборот (ЭДО) и приемку товаров у покупателя?

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

Суть проблемы: конфликт округлений и требуемая точность

Представим типовую ситуацию: клиент заказывает 503.1 единицы товара. Если цена за единицу составляет 44.72, итоговая сумма будет 22498,632. Если цена 44.73, сумма будет 22503,663. Однако нам нужна строго ровная сумма, например, 22500.00. Казалось бы, невозможно достичь такой суммы, если мы привязаны к двум знакам после запятой в цене. Основное заблуждение, которое часто встречается, заключается в предположении, что система 1С всегда строго соблюдает правило Количество * Цена = Сумма с округлением цены до двух знаков после запятой, не позволяя вручную корректировать итоговую сумму.

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

Решение 1: Ручное изменение итоговой суммы в строке документа

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

  1. Ввод желаемой суммы: Откроем документ реализации (например, «Реализация товаров и услуг») и найдем нужную строку. Предположим, у нас уже заполнено поле Количество. Мы можем просто перейти в поле Сумма для этой строки и вручную ввести желаемое значение, например, 22500.00.
  2. Автоматический пересчет цены: Как только мы вводим новую сумму, система 1С автоматически пересчитает поле Цена для этой строки. В нашем примере, если Количество = 503.1 и мы ввели Сумма = 22500.00, то поле Цена будет рассчитано как 22500.00 / 503.1 ≈ 44.72271914132379.
  3. Отображение цены: Важно понимать, что хотя внутреннее хранение цены может быть с более высокой точностью, на экране и в стандартных печатных формах цена может отображаться с округлением до двух знаков после запятой (например, 44.72). Однако это не означает, что система игнорирует внутреннюю точность. Главное – итоговая сумма будет ровно такой, как мы ввели.

Почему это работает? Система 1С спроектирована таким образом, чтобы дать пользователю возможность управлять ключевыми показателями. Если мы вручную указываем итоговую сумму, 1С считает это нашим приоритетом и корректирует другие зависимые поля (в данном случае, цену) для достижения этой суммы. Правило Количество * Цена = Сумма становится вторичным по отношению к явно заданной сумме.

Как это повлияет на получателя и УПД?

Один из основных вопросов, волнующих пользователей, – это как такая "неровная" цена повлияет на покупателя и на формирование Универсального передаточного документа (УПД). Давайте разберемся:

  1. Формирование УПД: УПД, по своей сути, является агрегированным документом, который отражает конечные данные по отгрузке (счет-фактура и первичный документ). Он содержит поля для наименования товара, количества, цены и суммы. В УПД нет отдельных полей для "скидки со строки" или детализации того, как была получена итоговая сумма. В него попадают уже итоговые значения. Если мы установили сумму 22500.00, именно эта сумма и соответствующая ей (возможно, высокоточная) цена попадут в электронный УПД.
  2. Электронный документооборот (ЭДО): Современные системы ЭДО, а также форматы электронных счетов-фактур и УПД, позволяют передавать цену с высокой точностью – до 11 знаков после запятой (как, например, предусмотрено Приказом ФНС РФ от 19.12.2023 N ЕД-7-26/970@ для тега ЦенаТов N(26.11)). Это означает, что если ваша система передаст рассчитанную цену, например, 44.7227191413, то покупатель в своем ЭДО получит именно это значение, и проверка Количество * Цена = Сумма будет пройдена с максимальной точностью.
  3. Учет у покупателя:
    • Прием через ЭДО: Если покупатель также использует 1С и получает документ через ЭДО, его система загрузит количество, цену (с высокой точностью) и итоговую сумму. Документ проведется без проблем, так как все арифметические соотношения будут соблюдены за счет точности цены.
    • Ручной ввод по бумажной форме: Если покупатель вводит документ вручную по бумажной форме (которая, скорее всего, будет отображать цену с округлением до двух знаков), он, как правило, введет Количество и Сумму (22500.00). Его система 1С автоматически рассчитает цену (например, 44.72) и проведет документ. Для бухгалтера важна именно итоговая сумма и соответствие ее с вашим документом, а не строгая арифметическая точность умножения в каждой строке вплоть до копейки, если расхождения вызваны округлением дробных значений.

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

Решение 2: Использование ручных скидок для корректировки суммы

Если по какой-то причине прямое изменение суммы кажется нам нежелательным или мы хотим явно показать корректировку, мы можем использовать механизм ручных скидок. В 1С:Управление торговлей реализована мощная подсистема скидок, которая позволяет применять их как процентом, так и фиксированной суммой.

  1. Доступ к скидкам: В документе реализации обычно есть возможность открыть форму управления скидками и наценками. Она может быть доступна через кнопку "Скидки" или аналогичный элемент в командной панели документа или таблицы товаров.
  2. Применение скидки суммой:
    • В диалоге управления скидками мы можем выбрать "Ручная скидка" для выделенной строки.
    • Далее нам предоставляется выбор: установить скидку процентом или суммой. Мы выбираем скидку суммой.
    • Мы можем указать либо сумму скидки, либо конечную сумму продажи по строке. Если нам нужна конечная ровная сумма (например, 22500.00), мы можем указать ее напрямую. Система 1С сама рассчитает необходимый размер скидки (или наценки, если конечная сумма больше первоначальной) и отобразит его в документе.
    • После применения скидки, Сумма по строке станет желаемой ровной величиной, а Цена будет пересчитана с учетом скидки и количества.

Пример: Если у нас была сумма 22498,632, а мы хотим получить 22500.00, то система рассчитает наценку в размере 1.368. Эта наценка будет применена к строке, и итоговая сумма станет 22500.00. При этом, как и в первом случае, поле Цена будет скорректировано (внутренне с высокой точностью), чтобы Количество * ПересчитаннаяЦена = 22500.00.

Особенности УПД и скидок: Как мы уже упоминали, УПД не имеет отдельного поля для скидки. Когда скидка применяется, она уменьшает (или увеличивает, в случае наценки) итоговую сумму по строке. В УПД попадет уже финальная сумма и цена, рассчитанная от этой финальной суммы. Таким образом, для контрагента разницы не будет, использована ли скидка или сумма была изменена напрямую – он увидит только конечные значения.

Решение 3: Увеличение разрядности цены в системе для ЭДО

Этот подход является наиболее фундаментальным и полностью устраняет проблемы округления при передаче данных через ЭДО, обеспечивая полную арифметическую корректность. Он основан на понимании того, что современные требования к форматам обмена (например, для госзакупок по 44-ФЗ или в Приказах ФНС по форматам счетов-фактур) позволяют использовать цену с гораздо большей точностью, чем привычные два знака после запятой.

Контекст и нормативная база:

  1. Требования 44-ФЗ: Для государственных закупок, в соответствии с Постановлением Правительства РФ от 27 января 2022 г. № 60, при формировании проектов контрактов цена единицы товара, работы, услуги округляется по математическим правилам до 11 цифр после запятой. Это прямое указание на необходимость высокой точности.
  2. Форматы ФНС для Счетов-фактур (УПД): Актуальные форматы электронных счетов-фактур (и соответственно, УПД) также поддерживают высокую точность для цены. Например, в Приказе ФНС РФ от 19.12.2023 N ЕД-7-26/970@ для тега ЦенаТов (цена за единицу измерения) определен формат N(26.11), что означает число до 26 знаков, из которых до 11 могут быть после запятой.

Это говорит нам о том, что сама по себе идея "цена всегда два знака" – это устаревшее ограничение, связанное, скорее, с привычками бумажного документооборота и отображением на экране, нежели с техническими возможностями систем или юридическими требованиями.

Как реализовать в 1С:

  1. Настройка точности цены: В стандартных конфигурациях 1С (таких как УТ) точность цен обычно установлена на два знака после запятой. Однако в метаданных платформы 1С:Предприятие 8 мы можем изменить точность числовых реквизитов, отвечающих за цену. Это потребует внесения изменений в конфигурацию, что обычно выполняется программистом.
    • Мы можем изменить свойство Точность для реквизитов, которые хранят цену (например, Цена в табличных частях документов, или в регистрах цен) до 5, 7 или даже 11 знаков после запятой.
    • Важно не путать точность цены с точностью суммы – суммы всегда должны быть до двух знаков после запятой (копейки).
  2. Автоматический расчет: Если мы увеличим точность цены в системе, то при вводе Количества и Суммы, поле Цена будет автоматически рассчитано с этой повышенной точностью. Например, для наших 503.1 единиц и суммы 22500.00 цена станет 44.7227191413... и будет сохранена именно с такой точностью.
  3. Передача через ЭДО: При формировании электронного УПД эта высокоточная цена будет передана покупателю. Это гарантирует, что при проверке арифметики на стороне ЭДО или в учетной системе покупателя, соотношение Количество * Цена = Сумма будет строго соблюдено без каких-либо округлений.
  4. Печатные формы: Для печатных форм (например, бумажного варианта УПД или Счета-фактуры) мы можем оставить округление цены до двух знаков после запятой, поскольку именно такой вид привычен для визуального восприятия. В этом нет противоречия, так как электронный документ будет содержать полную точность.

Преимущества этого подхода:

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

Особенности Универсального передаточного документа (УПД) и ЭДО

Важно понимать, что УПД – это не просто печатная форма, а юридически значимый документ, который может быть передан как на бумаге, так и в электронном виде. Электронный УПД (формат которого утвержден ФНС) является основным способом обмена данными между контрагентами в рамках ЭДО.

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

Проверка логического контроля (ФЛК) в ЭДО:

Операторы ЭДО и учетные системы покупателей обычно выполняют форматно-логический контроль (ФЛК) входящих документов. Одним из таких контролей является проверка арифметического соотношения Количество * Цена = Сумма. Если цена в электронном УПД передана с недостаточной точностью (например, до двух знаков), и это приводит к небольшому расхождению в сумме (например, 99.99 вместо 100.00), некоторые системы могут сигнализировать об ошибке.

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

Коммуникация с покупателем:

В случае, если возникают вопросы у покупателя по поводу расхождений в копейках, важно провести разъяснительную работу. Мы можем объяснить, что итоговая сумма является приоритетной и верной, а небольшие отклонения при пересчете цены связаны с округлением дробных количеств. Рекомендуется, чтобы покупатель в своей системе 1С вводил документ не путем умножения округленной цены на количество, а путем ввода Количества и Итоговой суммы, позволяя своей системе автоматически пересчитать цену.

Общие рекомендации и выводы

Итак, проблема достижения ровной итоговой суммы в строке документа при дробных количествах в 1С:УТ 11.4/11.5 имеет несколько эффективных решений:

  1. Прямое ручное указание суммы: Самый простой и быстрый способ. Введите желаемую ровную сумму в поле Сумма строки документа. 1С автоматически пересчитает цену, и эта скорректированная цена (возможно, с высокой внутренней точностью) будет использоваться для формирования УПД.
  2. Использование ручных скидок/наценок: Если вам важно явно зафиксировать корректировку, примените ручную скидку (или наценку) суммой, указав желаемую конечную сумму по строке. Это также приведет к пересчету цены и желаемой итоговой сумме.
  3. Увеличение разрядности цены в конфигурации: Для наиболее надежного и соответствующего современным стандартам ЭДО решения рассмотрите возможность увеличения точности хранения и отображения цен в 1С до 5-11 знаков после запятой. Это потребует доработки конфигурации, но обеспечит идеальную арифметическую корректность при обмене данными.

Важно помнить:

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

← На главную