DocFlow

В цене шесть знаков после запятой

Как это выглядит

Цена отображается как 12,35, а при щелчке в строке формул видно 12,3456789. Сумма по колонке не сходится с итогом на несколько рублей, хотя каждая строка выглядит правильной.

Коротко

Формат ячейки меняет только отображение, а считает Excel по хранимому значению. Округлив показ до двух знаков, вы видите 12,35, а в сумму идёт 12,3456789. Расхождение на копейку в строке превращается в рубли на тысяче строк — и объяснить его, глядя на экран, невозможно.

Почему так происходит

  1. 01Цена получена делением

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

  2. 02Импорт принёс значение с большей точностью

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

  3. 03Пересчёт из другой валюты или единицы

    Деление на курс или на коэффициент фасовки даёт длинную дробь. Она наследуется всеми последующими расчётами, если её не округлить явно.

Как понять, что причина именно эта

Как починить

Округлить значение, а не отображение

  1. 1.Добавьте служебную колонку с явным округлением до двух знаков.
  2. 2.Замените исходную колонку значениями из служебной.
  3. 3.Пересчитайте итог и сверьте с документом.

не чинит: Меняет данные: если исходная точность нужна для последующих расчётов, округлять надо на последнем шаге, а не на первом.

Округлять в момент получения

  1. 1.При делении сразу оборачивайте результат округлением до нужного разряда.
  2. 2.Договоритесь в команде о единой точности для денег — обычно два знака.

не чинит: Не исправит уже накопленные данные: их придётся пересчитать отдельно.

Когда мы не нужны

Это поведение Excel при расчётах, а не проблема документов. Одна колонка с явным округлением решает вопрос бесплатно. Сервис здесь не нужен, и предлагать его было бы нечестно.

Что с этим делает наша выгрузка

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

Вопросы

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

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

Сколько знаков хранить для денег?

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

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/slishkom-mnogo-znakov-posle-zapyatoi.