При ведении расчетов с поставщиками и покупателями по договорам в условных единицах (у.е.) или иностранной валюте бухгалтеры часто сталкиваются с ситуацией, когда рублевые суммы курсовых разниц в программе «1С:Бухгалтерия предприятия» не сходятся с ручными расчетами или актами сверки контрагентов. При этом валютное сальдо по договору сходится без расхождений. Выясним причину такого поведения системы, разберем механизм работы алгоритма переоценки и рассмотрим пошаговый порядок исправления ошибок.
В типовой конфигурации «1С:Бухгалтерия предприятия» расчет курсовых разниц жестко регламентирован и не имеет отдельных пользовательских переключателей формул. Программа применяет не расчет разницы «по сделке» через перемножение изменения курса на сумму операции, а так называемый сальдовый метод.
Формула расчета выглядит следующим образом:
Сумма курсовой разницы = (Остаток в валюте на счете × Текущий курс валюты) – Текущий рублевый остаток на счете
Разберем, почему выбран именно этот алгоритм. При расчетах курсовых разниц на основе дробных котировок валют прямое умножение дельты курсов на сумму операции регулярно приводит к накоплению копеечных погрешностей округления. Сальдовый метод гарантирует, что в момент закрытия валютного остатка рублевый остаток по счету взаиморасчетов (например, 60.31 «Расчеты с поставщиками и подрядчиками (в у.е.)») полностью обнулится, исключая зависание остатков в копейках.
Именно из-за этого принципа при точечной проверке одной операции ручной расчет Сумма валюты × (Курс 2 – Курс 1) может разойтись с проводкой 1С на доли копеек. При следующей операции переоценки программа автоматически выравнивает это расхождение, что является штатным поведением, а не программной ошибкой.
Проанализируем основные факторы, которые приводят к неверным цифрам в проводках и расхождениям с поставщиками:
60.32). Поскольку авансы согласно ПБУ 3/2006 не переоцениваются, алгоритм расчета курсовых разниц полностью сбивается.Операция) или включением флага ручной корректировки в документе разрушает встроенный механизм. Внося ручные правки на счет 91 и счета расчетов, пользователь меняет фактический рублевый остаток. При следующем закрытии месяца или проведении очередного платежа система посчитает разницу от искаженного рублевого сальдо, что приведет к задвоению ошибок и искажению финансового результата на счете 91.60.32 и кредит по счету 60.31. В такой ситуации кредиторская задолженность необоснованно переоценивается в полном объеме, что ведет к искажению базы переоценки.Разберем по шагам, как выявить источник некорректного расчета и восстановить правильные данные в базе:
Валюты и откроем историю курсов по используемой валюте (например, EUR или USD). Убедимся, что курсы загружены на каждый день без пропусков, а поле Кратность везде заполнено корректно (равно единице, если не предусмотрено иное).Оборотно-сальдовая ведомость по счету для счета 60 с максимальной детализацией (по субсчетам 60.31, 60.32, контрагентам, договорам и документам расчетов). Убедимся, что по данному контрагенту отсутствует «развернутое сальдо» (одновременный дебет по авансам и кредит по расчетам в рамках одного договора).Поступление (акт, накладная) должен иметь время раньше, чем Списание с расчетного счета (например, поступление в 12:00:00, оплата в 16:00:00).Списание с расчетного счета должно быть оформлено раньше документа поступления.Операции – Закрытие месяца. Выполним перепроведение документов за проблемные месяцы и перезапустим регламентную операцию Переоценка валютных средств.Переоценка валютных средств откроем отчет Справка-расчет переоценки валютных средств. В нем подробно отражаются валютные остатки, курсы на начало и конец периода, рублевые эквиваленты и итоговые суммы признанных доходов и расходов.Восстановление строгой хронологии документов и отказ от ручного вмешательства в проводки позволяют типовому механизму 1С корректно рассчитать рублевые остатки и курсовые разницы по сальдовому методу.