Расширение конфигурации (и внешняя обработка), облегчающее работу пользователей - позволяет сформировать и отправить в ИФНС "Уведомление об исчисленных суммах налогов, авансовых платежей по налогам, сборов, страховых взносов" в части уплаченного НДФЛ и страховых взносов.
Важное уточнение - расширение и обработка работают независимо друг от друга и дублируют свой функционал. Кому удобнее обработка - можно пользоваться ей без расширения.
Тестирование проводилось на версии конфигурации Зарплата и кадры государственного учреждения, редакция 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
Исправлена ошибка из за которой внешняя обработка для ЗУП не могла записать файл.