Как правильно отражать курсовые разницы по новым правилам и закрывать остатки на счете 60.31 в 1С

Программист 1С v8.3 (Обычные формы) Налоговый учет IT и автоматизация бизнеса
← На главную

В связи с изменениями в налоговом законодательстве (Федеральный закон № 67-ФЗ), порядок учета курсовых разниц в 2022–2024 годах существенно изменился. Часто пользователи сталкиваются с ситуацией, когда на валютных счетах (например, 60.31 или 62.31) образуются странные остатки: валютная сумма равна нулю, а рублевый эквивалент продолжает «висеть» — для исправления есть обработка переноса и корректировки зависших остатков в 1С. В этой статье мы разберем, почему так происходит, как работает механизм временных разниц и как правильно закрыть эти «хвосты» в 1С, особенно если вы работаете в исторически сложившихся или доработанных конфигурациях типа УПП.

Разберем суть изменений законодательства (67-ФЗ)

Для начала проанализируем, почему возникла техническая сложность. Согласно новым правилам, в налоговом учете (НУ) курсовые разницы теперь признаются только в момент погашения задолженности. В бухгалтерском учете (БУ) всё осталось по-прежнему — переоценка происходит ежемесячно на последнюю дату месяца.

Из-за этого возникает разрыв:

  1. В БУ мы обязаны пересчитать долг по актуальному курсу и отразить доход или расход.
  2. В НУ мы фиксируем изменение курса, но не имеем права включать его в расчет налога на прибыль, пока контрагент не заплатит (или мы не заплатим ему).
  3. Согласно формуле БУ = НУ + ПР + ВР, эта разница обязана «упасть» в колонку ВР (Временные разницы).

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

Выясним причину «зависших» рублей на счете 60.31

Рассмотрим ситуацию: валютный остаток на счете 60.31 обнулился после оплаты, но в рублях висит сальдо. Это происходит по одной из следующих причин:

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

Реализация механизма перехода и переоценки

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

Во-первых, проверьте наличие Даты начала применения особого порядка. Это константа или параметр учетной политики. Если документы перепроводились без учета этой даты, алгоритм будет работать по старинке, сразу списывая всё на НУ.

Во-вторых, необходимо использовать специализированный Документ перехода. Рассмотрим подробнее, что он делает:

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

Как закрыть конечное сальдо: НУ или ВР?

Отвечая на вопрос автора темы: как должно закрыться сальдо на 60.31, если валюты уже нет?

Если задолженность полностью погашена, то в момент последнего платежа программа должна сделать следующее:

  1. Списать остаток ВР (обнулить временную разницу).
  2. Отразить эту же сумму в НУ (на счетах 91.01 или 91.02).
  3. Таким образом, рублевое сальдо на счете 60.31 станет нулевым как в БУ, так и в НУ.

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

Пример логики для реализации (технический аспект)

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


// Проверка необходимости признания курсовой разницы в НУ
Если ДатаДокумента >= ДатаНачалаДействия67ФЗ Тогда
    Если ЭтоПогашениеЗадолженности Тогда
        // Переносим из ВР в НУ
        Движение.СуммаНУ = НакопленнаяКурсоваяРазница;
        Движение.СуммаВР = -НакопленнаяКурсоваяРазница;
    Иначе
        // Отражаем только в ВР (отложенное признание)
        Движение.СуммаНУ = 0;
        Движение.СуммаВР = ТекущаяКурсоваяРазница;
    КонецЕсли;
КонецЕсли;

Рекомендации по исправлению ошибок

Рассмотрим пошагово, что нужно сделать, если вы столкнулись с проблемой «зависших» рублей:

  1. Сверка регистров: Проверьте, чтобы остатки по валютным счетам в регистре бухгалтерии совпадали с остатками в специализированных регистрах накопления (в УПП это могут быть «Взаиморасчеты с контрагентами»).
  2. Перепроведение: Выполните последовательное перепроведение документов, начиная с даты настройки «нового порядка» учета курсовых разниц — для ускорения этого процесса есть обработка исправления зачета авансов и группового перепроведения в 1С.
  3. Проверка аналитики: Убедитесь, что закрытие месяца (регламентная операция переоценки) видит обнуление валютной суммы. Если валютное сальдо стало нулевым в середине месяца, именно в этот момент должна сформироваться проводка, переносящая сумму с ВР на НУ.
  4. Ручные корректировки: Если система «старая» и механизмы 67-ФЗ внедрены частично, возможно, придется воспользоваться документом «Корректировка записей регистров», чтобы вручную перебросить суммы с ВР на НУ при закрытии договора, если алгоритм не отработал автоматически.

Резюмируем: «Зависание» рублей при нулевой валюте — это признак того, что программа не зафиксировала событие выплаты/получения денежных средств, которое является триггером для перехода разницы из разряда «бумажной» (ВР) в разряд «реальной» для налогов (НУ). Тщательно проверяйте документы расчетов и наличие специализированных ресурсов для учета отложенных доходов в вашей конфигурации.

← На главную