С 2019 года вступили в силу изменения в законодательстве, согласно которым возврат товаров, ранее принятых на учет покупателем, должен оформляться через корректировочный счет-фактуру (УКД) со стороны продавца. Это создало серьезную методологическую проблему для компаний, которые недавно перешли на новые конфигурации (1С:ERP или 1С:Бухгалтерия 3.0) или произвели свертку информационной базы. В таких случаях документы реализации за прошлые периоды (например, за 2016 год) отсутствуют в текущей базе, и программа не позволяет создать Корректировку реализации на основании несуществующего документа. Проанализируем, как решить эту задачу в разных конфигурациях 1С.
Разберем, почему нельзя просто оформить «обратную реализацию». Согласно Постановлению Правительства РФ №1137 (с учетом изменений от 19.01.2019 №15), из правил ведения книги продаж были исключены нормы, позволявшие покупателю регистрировать счета-фактуры на возврат товаров. Теперь продавец обязан выставлять корректировочный счет-фактуру. Если товар был отгружен в период действия ставки НДС 18%, то и корректировка должна производиться по ставке 18%, даже если сам возврат происходит в периоде действия ставки 20%. Именно поэтому техническое наличие документа-основания в базе становится критически важным для корректного формирования проводок и записей в регистрах НДС.
В конфигурации 1С:Бухгалтерия предприятия 3.0 механизм корректировки жестко связан с документом-основанием. Чтобы обойти это ограничение, рассмотрим следующий алгоритм:
Реализация товаров и услуг той датой, когда фактически происходила отгрузка (например, в 2016 году).Счет-фактуру выданный. Важно: сам документ реализации проводить не обязательно, но счет-фактура должен быть записан в базе, так как Корректировка реализации будет искать связь именно с ним для отражения в книге покупок.ОбменДанными.Загрузка = Истина, чтобы миновать проверки даты запрета редактирования.Корректировка реализации, выбираем нашу «историческую» реализацию в качестве основания и проводим корректировку в обычном режиме.В 1С:ERP (начиная с версий 2.2 и выше) ситуация несколько иная. Рассмотрим, какие инструменты предоставляет эта конфигурация:
Проанализируем возможность использования документов Ввод остатков по дебиторской задолженности. В современных версиях ERP предусмотрена возможность указывать в качестве объекта расчетов не только конкретную реализацию, но и документ ввода остатков. Если в базе зафиксированы остатки задолженности по конкретному партнеру и сделке, корректировку можно попробовать «привязать» к ним.
Однако, если требуется именно корректировка состава товаров (возврат на склад), рекомендуется использовать схему, аналогичную БП 3.0: создание технического (непроведенного) документа реализации. Выясним важный нюанс: в ERP 2.2 контроль остатков при корректировке может не позволить провести документ, если система «видит», что по данной реализации ничего не отгружалось (так как документ не проведен). Для решения этой проблемы рассмотрим программный метод.
Если вы столкнулись с ошибкой «Количество в корректировке превышает количество в исходной реализации», и при этом вы не хотите проводить старые документы, чтобы не искажать учет и закрытые периоды, можно прибегнуть к модификации кода. Посмотрим на пример заглушки в общем модуле УчетТоваров (или аналогичном модуле в вашей версии ERP/БП):
// Пример модификации функции подготовки таблицы возвращенных товаров
// Функция ПодготовитьТаблицуВозвращенныеСписанныеТовары
Если ТипЗнч(ТаблицаРеквизиты[0].Регистратор) = Тип("ДокументСсылка.КорректировкаРеализации")
И КоличествоНеПодобраноПартии > 0 Тогда
НоваяСтрока = ТаблицаРезультата.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВозврата);
// Принудительно устанавливаем количество, которое не удалось найти в партиях
НоваяСтрока.Количество = КоличествоНеПодобраноПартии;
// Определяем цену (например, по последнему приходу или из документа корректировки)
Цена = Ценообразование.ПолучитьЦенуНоменклатуры(СтрокаВозврата.Номенклатура, Справочники.ТипыЦенНоменклатуры.ОсновнаяЦенаПокупки, ТекущаяДата());
СтавкаНДС = Справочники.Номенклатура.СтавкаНДС(СтрокаВозврата.Номенклатура, ТекущаяДата());
// Рассчитываем суммы для НУ и БУ
ЦенаБезНДС = Окр(Цена / (1 + СтавкаНДС), 2);
НоваяСтрока.СуммаСписания = Окр(СтрокаВозврата.Количество * ЦенаБезНДС, 2);
НоваяСтрока.СуммаСписанияНУ = НоваяСтрока.СуммаСписания;
// Обнуляем остаток неподобранного количества, чтобы система пропустила проведение
КоличествоНеПодобраноПартии = 0;
КонецЕсли;
Данный код позволяет системе «простить» отсутствие партий по историческому документу и сформировать проводки по возврату товаров на склад, используя расчетную или нормативную цену. Это избавляет от необходимости восстанавливать всю цепочку документов с 2016 года.
При оформлении таких корректировок крайне важно следить за ставкой НДС. Проанализируем ситуацию: если в 2016 году товар продавался со ставкой 18%, в документе-основании (даже непроведенном) и в самой корректировке должна стоять ставка 18%. Помните: автоматические алгоритмы 1С при создании новых документов могут подставлять текущую ставку (20%), что приведет к ошибке при проверке декларации в АСК НДС. Всегда проверяйте поле Ставка НДС в табличной части корректировки.
Рассмотрев все варианты, мы можем сделать следующие выводы:
Таким образом, совместная работа бухгалтера и программиста позволяет корректно отразить операции в учете, не нарушая целостности данных прошлых лет и соблюдая требования налогового законодательства.