После обновления конфигурации «1С:Бухгалтерия» до версий 3.0.139 и 3.0.140 многие пользователи столкнулись с неприятной ситуацией: при проведении документа ГТД по импорту в проводках по зачету аванса таможне (Дт 76.09 Кт 76.09) в бухгалтерском учете (БУ) появляются аномально большие, миллиардные суммы. При этом в налоговом учете (НУ) суммы остаются корректными, что приводит к возникновению огромных временных разниц (ВР) и искажению оборотов по счету.
Проанализируем ситуацию, выясним причину этой ошибки и разберем по шагам, как ее исправить.
Проблема заключается в ошибке, допущенной в указанных релизах конфигурации, связанной с механизмом расчета курсовых разниц и зачета авансов. Если в информационной базе существует договор с таможенным органом, в котором валюта расчетов отлична от рубля, программа может автоматически подставлять его в скрытую по умолчанию табличную часть документа ГТД по импорту.
В результате при проведении документа система совершает логическую ошибку: она берет рублевую сумму аванса и повторно умножает ее на курс валюты из этого договора. Это и приводит к появлению «диких» сумм в бухгалтерском учете, в то время как налоговый учет отрабатывает правильно. Хотя конечный остаток по счету 76.09 может оставаться верным, обороты по нему искажаются, что недопустимо для корректного ведения учета.
Технически, изменение произошло в общем модуле УчетВзаиморасчетов, в процедуре ДобавитьСтрокиЗачтенныхАвансов. Алгоритм расчета рублевой суммы проводки был изменен, что и стало причиной некорректного поведения программы в特定ных сценариях.
Этот способ позволяет исправить ситуацию без обновления конфигурации. Он подходит для быстрого приведения в порядок как старых, так и новых документов. Рассмотрим по шагам, что нужно сделать.
Откройте проблемный документ ГТД по импорту.
По умолчанию раздел, вызывающий проблему, не виден на форме. Чтобы его отобразить, нажмите кнопку «Еще» в правом верхнем углу формы документа и выберите пункт «Изменить форму».
В открывшемся окне настройки формы найдите в списке элементов группу под названием «Расчеты с таможней в валюте» и установите напротив нее флажок. После этого нажмите «ОК».
Важно: Эта группа может быть скрыта внутри других групп, поэтому внимательно просмотрите дерево элементов формы.
После возвращения в документ вы увидите новый раздел (обычно в виде табличной части). Проверьте, заполнено ли в нем поле «Договор». Если там указан какой-либо договор, особенно валютный, именно он является причиной проблемы.
Очистите поле «Договор» в этом разделе. Просто удалите из него значение.
После очистки поля нажмите кнопку «Провести и закрыть». Программа перепроведет документ уже с корректной логикой.
Откройте проводки документа (Дт/Кт) и убедитесь, что сумма в проводке Дт 76.09 Кт 76.09 по бухгалтерскому учету теперь равна сумме по налоговому учету, а временные разницы исчезли.
Эту операцию необходимо проделать со всеми документами, где возникла данная ошибка. Чтобы предотвратить ее появление в будущем в новых документах, проверьте договоры с контрагентом-таможней. Если расчеты ведутся исключительно в рублях, убедитесь, что у вас нет активных валютных договоров с этим контрагентом.
Описанная проблема является официально признанной ошибкой разработчиков 1С. Она была полностью исправлена в релизе «1С:Бухгалтерия» версии 3.0.142 и более поздних.
Самый правильный и надежный способ решения проблемы — обновить конфигурацию до актуальной версии. Это не только устранит данную ошибку, но и обеспечит соответствие учета последним изменениям законодательства и исправит другие возможные недочеты.
Для версий 3.0.139 и 3.0.140 также выпускались специальные исправления (патчи) с кодами вида EF_xxxxxx, которые можно было установить через интернет-поддержку без полного обновления. Однако установка полноценного обновления является предпочтительным вариантом.
Для более глубокого понимания, рассмотрим, какое именно изменение в коде привело к ошибке. В общем модуле УчетВзаиморасчетов, процедуре ДобавитьСтрокиЗачтенныхАвансов, изменился фрагмент, отвечающий за присвоение рублевой суммы проводки.
Как было раньше:
СтрокаВзаиморасчетов.СуммаРуб = СуммаРуб;
Как стало в ошибочных релизах:
Если ПроведениеСервер.ИспользуетсяОтложенноеПроведение(Реквизиты.Организация, Реквизиты.Период) Тогда
СтрокаВзаиморасчетов.СуммаРуб = СуммаРуб;
Иначе
НераспределеннаяСуммаВал = НераспределеннаяСуммаВал - ЗачитываемыйАванс;
Если НераспределеннаяСуммаВал = 0 Тогда
СтрокаВзаиморасчетов.СуммаРуб = НераспределеннаяСуммаРуб;
Иначе
СтрокаВзаиморасчетов.СуммаРуб = Мин(СуммаРуб, НераспределеннаяСуммаРуб);
КонецЕсли;
НераспределеннаяСуммаРуб = НераспределеннаяСуммаРуб - СтрокаВзаиморасчетов.СуммаРуб;
КонецЕсли;
В новой логике при определенных условиях в реквизит СтрокаВзаиморасчетов.СуммаРуб попадает значение из переменной НераспределеннаяСуммаРуб. В контексте зачета аванса по ГТД с валютным договором эта переменная уже содержит сумму, умноженную на курс, что и приводило к повторному завышению итоговой суммы в проводке.
Данная ошибка может иметь более серьезные последствия, чем просто искаженные обороты. Некорректные суммы в проводках могли привести к возникновению «фантомных» курсовых разниц, отраженных на счете 91 «Прочие доходы и расходы». Это, в свою очередь, могло исказить финансовый результат и базу для расчета налога на прибыль.
После исправления всех проблемных документов ГТД по импорту настоятельно рекомендуем выполнить следующие действия:
Таким образом, своевременное обнаружение и исправление данной проблемы поможет избежать не только ошибок в учете, но и потенциальных претензий со стороны налоговых органов.