Расширение конфигурации (и внешняя обработка), облегчающее работу пользователей - позволяет сформировать и отправить в ИФНС "Уведомление об исчисленных суммах налогов, авансовых платежей по налогам, сборов, страховых взносов" в части уплаченного НДФЛ и страховых взносов.
Важное уточнение - расширение и обработка работают независимо друг от друга и дублируют свой функционал. Кому удобнее обработка - можно пользоваться ей без расширения.
Тестирование проводилось на версии конфигурации Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.24.310), а также Зарплата и управление персоналом, редакция 3.1 (3.1.24.310)
Как пользоваться:
1) Установить как расширение конфигурации в конфигураторе
Создаем тут расширение плюсиком, адаптация, снимаем все галки кроме "активно", загружаем из файла.
2) Обновляем конфигурацию базы данных стандартным способом, после чего можно входить в конфигурацию обычным способом.
3) После запуска в документе "Отражение удержанного НДФЛ в бухучете" появляется кнопка выгрузки и создания уведомления.
Кнопка внизу выполняет все, что нужно для создания уведомления
4) Нажимаем "Выгрузить НУ в файл" - программа запросит каталог сохранения файла уведомления, и автоматически создаст его, как показано на рисунке ниже, для отправки:
Код расширения, выполняющий действия по выгрузке.
&НаКлиенте
Асинх Процедура ВыполнитьКоманду(Команда)
Сообщить("Записываю НУ в файл "+Объект.Организация);
//Сообщить(ПериодРегистрацииСтрокой);
//Сообщить(ПолучитьИннПоНаименованию(Объект.Организация));
//Сообщить(ПолучитьРуководителя(Объект.Организация));
//Сообщить(Формат(ТекущаяДата(),"ДФ=yyyyMMdd"));
НачалоПредыдущегоМесяца = НачалоМесяца(ДобавитьМесяц(Объект.Дата, -1));
КонецПредыдущегоМесяца = КонецМесяца(ДобавитьМесяц(Объект.Дата, -1));
//Сообщить(НачалоПредыдущегоМесяца);
//Сообщить(КонецПредыдущегоМесяца);
//Сообщить(ПолучитьЕдиный(Объект.Организация,НачалоПредыдущегоМесяца,КонецПредыдущегоМесяца));
год = лев(Формат(ТекущаяДата(),"ДФ=yyyyMMdd"),4);
мес = сред(Формат(ТекущаяДата(),"ДФ=yyyyMMdd"),5,2);
дн = прав(Формат(ТекущаяДата(),"ДФ=yyyyMMdd"),2);
//Сообщить(мес);
пер = "";
номермескв = "";
если (мес="01") или (мес="02") или (мес="03") тогда
пер = "21";
номермескв = мес;
конецесли;
если (мес="04") или (мес="05") или (мес="06") тогда
пер = "31";
если мес="04" тогда
номермескв = "01";
конецесли;
если мес="05" тогда
номермескв = "02";
конецесли;
если мес="06" тогда
номермескв = "03";
конецесли;
конецесли;
если (мес="07") или (мес="08") или (мес="09") тогда
пер = "33";
если мес="07" тогда
номермескв = "01";
конецесли;
если мес="08" тогда
номермескв = "02";
конецесли;
если мес="09" тогда
номермескв = "03";
конецесли;
конецесли;
если (мес="10") или (мес="11") или (мес="12") тогда
пер = "34";
если мес="10" тогда
номермескв = "01";
конецесли;
если мес="11" тогда
номермескв = "02";
конецесли;
если мес="12" и число(дн)<23 тогда
номермескв = "03";
конецесли;
если мес="12" и число(дн)>=23 тогда
номермескв = "04";
конецесли;
конецесли;
//Сообщить(пер + " " + номермескв);
кно = ""; кпп = "";
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("<?xml version=""1.0"" encoding=""windows-1251""?>");
Текст.ДобавитьСтроку("<Подписант ПрПодп=""1"">");
Текст.ДобавитьСтроку("<ФИО Фамилия="""+РазложитьСтроку(ПолучитьРуководителя(Объект.Организация))[0]+""" Имя="""+РазложитьСтроку(ПолучитьРуководителя(Объект.Организация))[1]+""" Отчество="""+РазложитьСтроку(ПолучитьРуководителя(Объект.Организация))[2]+"""/>");
Текст.ДобавитьСтроку("</Подписант>");
Для каждого Строка из Объект.УдержанныйНДФЛ Цикл
Текст.ДобавитьСтроку("<УвИсчСумНалог КППДекл="""+СокрЛП(Строка.КПП)+""" ОКТМО="""+Строка.КодПоОКТМО+""" КБК="""+Строка.КБК+""" СумНалогАванс="""+СтрЗаменить(Формат(Строка.Сумма,"ЧГ=0;ЧДЦ=2"),",",".")+""" Период="""+пер+""" НомерМесКварт="""+номермескв+""" Год="""+год+"""/>");
кно = Строка.КодНалоговогоОргана;
кпп = СокрЛП(Строка.КПП);
//Сообщить(СтрЗаменить(Формат(Строка.Сумма,"ЧГ=0;ЧДЦ=2"),",",".")); СтрЗаменить(Строка.Сумма,Символы.НПП, "")
КонецЦикла;
если мес="02" или мес="03" или мес="05" или мес="06" или мес="08" или мес="09" или мес="11" или мес="12" тогда
//18210201000011000160
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Ждать ВопросАсинх(НСтр("ru = 'Необходимо отправить налоговое уведомление по страховым взносам за прошлый месяц!"+Символы.ПС+"Либо из этого документа,совместно с данными по НДФЛ,"+Символы.ПС+"либо отдельно - из документа Отражение зарплаты в бухучете!"+Символы.ПС+"--------------------------------------------------"+Символы.ПС+"Включить данные по страховым взносам в текущий файл?';"
+ " en = 'You should use russian language!'"), Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
//Возврат;
кэбэка = "18210201000011000160";
п_номермескв = лев(номермескв,1)+строка(число(прав(номермескв,1))-1);
суммастрах = ПолучитьЕдиный(Объект.Организация,НачалоПредыдущегоМесяца,КонецПредыдущегоМесяца);
Сведения = Новый СписокЗначений;
Сведения.Добавить("", "КППЮЛ");
Сведения.Добавить("", "ОКТМО");
ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Объект.Организация, ТекущаяДата(), Сведения);
//Сообщить(ОргСведения.КППЮЛ);
кпп2=СокрЛП(ОргСведения.КППЮЛ);
Текст.ДобавитьСтроку("<УвИсчСумНалог КППДекл="""+СокрЛП(кпп2)+""" ОКТМО="""+ОргСведения.ОКТМО+""" КБК="""+кэбэка+""" СумНалогАванс="""+СтрЗаменить(Формат(суммастрах,"ЧГ=0;ЧДЦ=2"),",",".")+""" Период="""+пер+""" НомерМесКварт="""+п_номермескв+""" Год="""+год+"""/>");
КонецЕсли;
конецесли;
Текст.ДобавитьСтроку("</Документ>");
Текст.ДобавитьСтроку("</Файл>");
Сведения = Новый СписокЗначений;
Сведения.Добавить("", "КППЮЛ");
Сведения.Добавить("", "КодНО");
ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Объект.Организация, ТекущаяДата(), Сведения);
//Сообщить(ОргСведения.КППЮЛ);
кпп=СокрЛП(ОргСведения.КППЮЛ);
кно = СокрЛП(ОргСведения.КодНО);
ку = "UT_UVISCHSUMNAL_"+кно+"_"+кно+"_"+ПолучитьИннПоНаименованию(Объект.Организация)+кпп+"_"+Формат(ТекущаяДата(),"ДФ=yyyyMMdd")+"_"+новый УникальныйИдентификатор();
ку=СтрЗаменить(ку,Символы.НПП, "");
Текст.ВставитьСтроку(2,"<Файл xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" ИдФайл="""+ку+""" ВерсПрог=""1С:ПРЕДПРИЯТИЕ 8.3 ЗиК ГУ"" ВерсФорм=""5.02"">");
Текст.ВставитьСтроку(3,"<Документ КНД=""1110355"" ДатаДок="""+РазложитьСтроку(Объект.Дата)[0]+""" КодНО="""+кно+""">");
Текст.ВставитьСтроку(4,"<СвНП>");
Текст.ВставитьСтроку(5,"<НПЮЛ ИННЮЛ="""+ПолучитьИннПоНаименованию(Объект.Организация)+""" КПП="""+кпп+"""/>");
Текст.ВставитьСтроку(6,"</СвНП>");
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.Каталог = "";
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберите каталог для сохранения файла НУ";
Если ДиалогОткрытия.Выбрать() Тогда
ПутьККаталогу = ДиалогОткрытия.Каталог;
ФайлПуть = ПутьККаталогу+"\"+ку+".xml";
Текст.Записать(ПутьККаталогу+"\"+ку+".xml","windows-1251");
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗакрытияПредупреждения", ЭтотОбъект, Неопределено);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
По нажатию на кнопку - автоматически формирует и выгружает файл.
И сразу загружает его в 1С Отчетность с возможностью отправки.
_________________________________________________________________
UPD.
Добавил автоматическое определение периода в соответствии с правилами:
НДФЛ
01.01-22.01 21/01
23.01-22.02 21/02
23.02-22.03 21/03
23.03-22.04 31/01
23.04-22.05 31/02
23.05-22.06 31/03
23.06-22.07 33/01
23.07-22.08 33/02
23.08-22.09 33/03
23.09-22.10 34/01
23.10-22.11 34/02
23.11-22.12 34/03
23.12-31.12 34/04
В скором времени сделаю аналогичный функционал для Страховых взносов.
UPD.
Проверил работу в ЗУП 3.1 - все отлично, сформировалось и выгрузилось, это не удивительно так как конфигурации очень похожи, интерфейс один в один!)
UPD 03.02.2023
Обновление - реализовано формирование строки налогового уведомления для суммы по Страховым взносам за прошлый месяц из документа Отражение зарплаты в бухучете.
Обратите внимание что пока непосредственно из этого документа отдельной выгрузки нет - расширение предлагает (из за этого версия платформы теперь должна быть не ниже 8.3.18) выгрузить данные в налоговое уведомление по страховым СОВМЕСТНО (что кажется логичным, правильным и вроде как рекомендуемым самой налоговой) с данными НДФЛ (можно согласиться или отказаться - тогда сформируются только сведения по НДФЛ) как показано на картинке ниже:
КБК для страховых 18210201000011000160 согласно источнику ссылка.
Расширение анализирует текущий месяц - и в тот период когда ну по страховым отправлять не нужно, оно не предлагает выгрузку.
Периоды для налоговых уведомлений по страховым (не позднее) согласно источнику ссылка
январь 27.02.2023 21/01
февраль 27.03.2023 21/02
апрель 25.05.2023 31/01
май 26.06.2023 31/02
июль 25.08.2023 33/01
август 25.09.2023 33/02
октябрь 27.11.2023 34/01
ноябрь 25.12.2023 34/02
Также исправлены некоторые возможные ошибки (в части определения кпп и кода но организаций с подразделениями)
Буду рад любым вашим комментариям и замечаниям, в дальнейших планах сделать отдельную выгрузку только файла налогового уведомления по страховым из документа Отражение зарплаты в бухучете - там будет внизу такая же кнопка.
UPD.
Добавлена кнопка отдельной выгрузки уведомления по страховым, если это кому то надо, использовать с осознанием того факта что уведомление по страховым отправляется в месяце следующим за текущим. В те месяцы когда отправка не предусмотрена - выгрузка не происходит.
UPD. 09.02.2023
Сделал внешнюю обработку для пользователей базовый версий конфигураций, а также для тех кто не хочет устанавливать расширение. Обработка полностью функциональна и способна формировать файлы уведомлений без расширения. Ее установка возможна стандартным способом через справочник обработок, либо просто посредством открытия файла обработки, инструкция:



Нажимаем добавить из файла и выбираем файл обработки. Указываем размещение. И пользователей кому она будет доступна.

После чего обработка появляется в разделе дополнительных обработок.

UPD. 11.02.2023 В ЗУП обычном и базовом - документ отражения в бухучете называется немного иначе чем в ЗиК ГУ, добавил второй файл обработки. Для расширения также добавил отдельный файл для ЗУП.
UPD. 14.02.2023
У ИП нет КПП и сам формат уведомления чуть иной, поправил расширение конфигурации для ЗУП 3.1!
Теперь автоматически определяет ИП это или юрлицо.
И обработку для ЗУП 3.1 тоже поправил, для ЗИК ГУ 3.1 оставил как есть - там только юрлица.
Файлы обновил, просьба скачать и протестировать.
----------------------------------------------------------------------------------------------------------
UPD. 22.01.2024
С 2024 произошли изменения в сроках и кодах при подаче уведомления (как минимум НДФЛ).
Далее текст с сайта налоговой (при этом приказ на 22 число все еще в проекте, отслеживать можно по ссылке https://regulation.gov.ru/Regulation/Npa/PublicView?npaID=144424)
По новым правилам налоговым агентам необходимо подавать в отношении НДФЛ два уведомления в месяц, причем второе приобретет обязательный характер.
Согласно нововведению в 2024 году действуют следующие правила подачи уведомлений:
- с 1 по 22 число — до 25 числа того же месяца;
- с 23 по 30/31 число — до 3 числа месяца, идущего вслед за расчетным;
- с 23 по 31 декабря сроки сохраняются — документ надо отправить не позднее последнего рабочего дня в году.
Табличка с того же сайта налоговой.
Расчетный период
|
Срок подачи уведомления
|
Срок уплаты налога
|
Код отчетного периода в уведомлении
|
Январь
|
01.01–22.01
|
25.01.2024
|
29.01.2024
|
21/01
|
23.01–31.01
|
05.02.2024
|
05.02.2024
|
21/11
|
Февраль
|
01.02–22.02
|
26.02.2024
|
28.02.2024
|
21/02
|
23.02–29.02
|
04.03.2024
|
05.03.2024
|
21/12
|
Март
|
01.03–22.03
|
25.03.2024
|
28.03.2024
|
21/03
|
23.03–31.03
|
03.04.2024
|
05.04.2023
|
21/13
|
Апрель
|
01.04–22.04
|
25.04.2024
|
02.05.2024
|
31/01
|
23.04–30.04
|
03.05.2024
|
06.05.2024
|
31/11
|
Май
|
01.05–22.05
|
27.05.2024
|
28.05.2024
|
31/02
|
23.05–31.05
|
03.06.2024
|
05.06.2024
|
31/12
|
Июнь
|
01.06–22.06
|
25.06.2024
|
28.06.2024
|
31/03
|
23.06–30.06
|
03.07.2024
|
05.07.2024
|
31/13
|
Июль
|
01.07–22.07
|
25.07.2024
|
29.07.2024
|
33/01
|
23.07–31.07
|
05.08.2024
|
05.08.2024
|
33/11
|
Август
|
01.08–22.08
|
26.08.2024
|
28.08.2024
|
33/02
|
23.08–31.08
|
03.09.2024
|
05.09.2024
|
33/12
|
Сентябрь
|
01.09–22.09
|
25.09.2024
|
30.09.2024
|
33/03
|
23.09–30.09
|
03.10.2024
|
07.10.2024
|
33/13
|
Октябрь
|
01.10–22.10
|
25.10.2024
|
28.10.2024
|
34/01
|
23.10–31.10
|
05.11.2024
|
05.11.2024
|
34/11
|
Ноябрь
|
01.11–22.11
|
25.11.2024
|
28.11.2024
|
34/02
|
23.11–30.11
|
03.12.2024
|
05.12.2024
|
34/12
|
Декабрь
|
01.12–22.12
|
25.12.2024
|
28.12.2024
|
34/03
|
23.12–31.12
|
28.12.2024
|
28.12.2024
|
34/13
|
Нам повезло - до 22 числа код не изменился, поэтому до 22 января этого года обновлений не требовалось (мы уже успешно сдали уведомление за этот период). А далее в код надо внести правки согласно выше приведенной таблице.
Касательно страховых - по текущей информации ни коды ни сроки не поменялись.
Просьба скачать обновления.
UPD 24.01.2024
Исправлена ошибка - в текущих условиях правильно дату брать не текущую, а из документа.
То есть В МЕСЯЦЕ НАДО ДЕЛАТЬ ДВА ДОКУМЕНТА датами до 22го и с 23го до конца месяца.
Тогда коды будут при выгрузке всегда правильно формироваться.
UPD 19.11.2024
Исправлена ошибка из за которой внешняя обработка для ЗУП не могла записать файл.
UPD 26.02.2025
Внес изменения в код внешней обработки для ЗУП - сделал сворачивание по КБК, если в документе есть разные суммы с одним КБК (да такая ситуация может быть) - теперь само суммирует.
UPD 10.03.2025
Доработка - сворачивание не только по КБК, но и по КПС.