Обход ошибки в ЗУП 3 при начислении НДФЛ по обособленным подразделениям

13.04.23

Учетные задачи - Зарплата

Если в организации есть обособленные подразделения, ЗУП неверно считает НДФЛ. Для программистов предлагается способ обхода этой ошибки. Смысл в том, чтобы документ сторнировал аванс только своего подразделения.

Если сотрудник работал за месяц в разных обособленных подразделениях,  при проведении документа «Начисление зарплаты»  по первому из них программа сторнирует  доход  и НДФЛ, исчисленный документом «Начисление зарплаты за первую половину месяца» по обоим подразделениям, и записывает его на первое.

Запрос по доходам:

ВЫБРАТЬ
	СведенияОДоходахНДФЛ.Регистратор КАК Регистратор,
	СведенияОДоходахНДФЛ.ДатаПолученияДохода КАК ДатаПолученияДохода,
	СведенияОДоходахНДФЛ.СуммаДохода КАК СуммаДохода,
	СведенияОДоходахНДФЛ.Начисление КАК Начисление,
	СведенияОДоходахНДФЛ.Подразделение КАК Подразделение,
	СведенияОДоходахНДФЛ.Период КАК Период,
	СведенияОДоходахНДФЛ.СуммаВычета КАК СуммаВычета,
	СведенияОДоходахНДФЛ.Сотрудник.Код КАК СотрудникКод
ИЗ
	РегистрНакопления.СведенияОДоходахНДФЛ КАК СведенияОДоходахНДФЛ
ГДЕ
	СведенияОДоходахНДФЛ.ФизическоеЛицо = &ФизическоеЛицо
	И СведенияОДоходахНДФЛ.Период >= &Период
ИТОГИ
	СУММА(СуммаДохода),
	СУММА(СуммаВычета)
ПО
	Подразделение,
	Регистратор

Результат:

 

 

Видим, что Начисление зарплаты №390(Отдел маркетинга) сторнировало доход по обоим подразделениям, в том числе и по Апт. пункту.

Теперь по налогу

Запрос:

ВЫБРАТЬ
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Регистратор КАК Регистратор,
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Сумма КАК Сумма,
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Подразделение КАК Подразделение,
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.РасчетМежрасчетногоПериода КАК РасчетМежрасчетногоПериода,
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СуммаВыплаченногоДохода КАК СуммаВыплаченногоДохода,
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ВидДвижения КАК ВидДвижения
ИЗ
	РегистрНакопления.РасчетыНалогоплательщиковСБюджетомПоНДФЛ КАК РасчетыНалогоплательщиковСБюджетомПоНДФЛ
ГДЕ
	РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизическоеЛицо = &ФизическоеЛицо
УПОРЯДОЧИТЬ ПО
	Подразделение

Результат:

 

 

Сто рублей налога взяли с аванса в Апт. пункте, а сторнировали в отделе маркетинга.

Смысл исправлений: чтобы каждое начисление зарплаты сторнировало аванс(Доход и налог) только своего подразделения.

Общий модуль УчетНДФЛ

Процедура ДополнитьДвиженияСписаниемАванса(

После запроса из ВТАвансыНалоговКПогашению КАК ВыплаченныеАвансы

Результаты = Запрос.ВыполнитьПакет();
		Результат = Результаты[2];
		Если Не Результат.Пустой() Тогда
			АвансыКЗачету = Результат.Выгрузить();
			//Начало вставки    
			
			//при учете доходов идет перебор по СтрокаОкончательногоРасчета, откуда можно взять подразделение, а тут  надо смотреть всю таблицу
			КоличествоЭлементов = АвансыКЗачету.Количество(); 
			Счетчик=0;
			Пока Счетчик < КоличествоЭлементов Цикл
				Струка = Новый Структура;
				Струка.Вставить("ФизическоеЛицо",АвансыКЗачету[Счетчик].ФизическоеЛицо);
				мСтрок = ДанныеОДоходахОкончательногоРасчета.НайтиСтроки(Струка); 
				Если мСтрок.Количество()=0 Тогда 
					Сообщить("Строки дохода не найдены");  
					Счетчик=Счетчик+1;
			        Продолжить;
				КонецЕсли; 
				Найдено = Ложь;
				Для каждого мт из мСтрок Цикл
					Если мт.РегистрацияВНалоговомОргане = АвансыКЗачету[Счетчик].Подразделение.РегистрацияВНалоговомОргане Тогда
						Найдено = Истина;
					КонецЕсли;	
				КонеЦЦикла;	
				Если НЕ Найдено  Тогда // 
					АвансыКЗачету.Удалить(Счетчик);
					КоличествоЭлементов = КоличествоЭлементов - 1; 
				Иначе
					Счетчик=Счетчик+1;
				КонецЕсли;
			КОнецЦикла;
			//Конец вставки
			Если Не Результаты[3].Пустой() Тогда // Авансы остались незачтенными из-за начисления в окончательный расчет недостаточных сумм.
				СтрокиКПогашению = Результаты[3].Выгрузить();
				ИндексироватьТаблицу = АвансыКЗачету.Количество() > 100;
				ПоляОтбора = "ФизическоеЛицо,ЗарегистрированоПриНачисленииАванса,КатегорияДохода,СтавкаНалогообложенияРезидента,ВидДвижения,ВариантУдержания,Подразделение";
				ЗачестьИсчисленныеНалогиВСчетОкончательногоРасчета(Неопределено, СтрокиКПогашению, АвансыКЗачету, ПоляОтбора, ИндексироватьТаблицу);
				Если (АвансыКЗачету.Итог("Сумма") > 0 Или АвансыКЗачету.Итог("СуммаСПревышения") > 0) И (СтрокиКПогашению.Итог("Сумма") > 0 Или СтрокиКПогашению.Итог("СуммаСПревышения") > 0) Тогда
					ПоляОтбора = "ФизическоеЛицо,ЗарегистрированоПриНачисленииАванса,КатегорияДохода,СтавкаНалогообложенияРезидента,ВидДвижения,ВариантУдержания";
					ЗачестьИсчисленныеНалогиВСчетОкончательногоРасчета(Неопределено, СтрокиКПогашению, АвансыКЗачету, ПоляОтбора, ИндексироватьТаблицу);
				КонецЕсли;
			КонецЕсли;

Процедура ЗачестьАвансовыеДоходыВСчетОкончательногоРасчета(

с самого начала

ДобавлятьЗаписиВДвижения = НаборЗаписей <> Неопределено;
	СтруктураОтбора = Новый Структура(ПоляОтбора);
	Если ИндексироватьТаблицу Тогда
		ДанныеОкончательногоРасчета.Индексы.Добавить(ПоляОтбора);
	КонецЕсли;
	Для каждого СтрокаАвансов Из АвансыКЗачету Цикл
		Если СтрокаАвансов.СуммаДохода = 0 И СтрокаАвансов.СуммаВычета = 0 Тогда
			Продолжить;
		КонецЕсли;
		ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаАвансов); //струкотб приемник!
		Для каждого СтрокаОкончательногоРасчета Из ДанныеОкончательногоРасчета.НайтиСтроки(СтруктураОтбора) Цикл
			Если СтрокаОкончательногоРасчета.СуммаДохода < 0 И СтрокаОкончательногоРасчета.СуммаВычета < 0 Тогда
				Продолжить;
			КонецЕсли;
			//Начало вставки
					Если НЕ СтрокаОкончательногоРасчета.Подразделение=СтрокаАвансов.Подразделение Тогда
						Продолжить;
					КонецЕсли;	
			//Конец вставки
			СуммаДоходаКЗачету = Мин(СтрокаАвансов.СуммаДохода, СтрокаОкончательногоРасчета.СуммаДохода);

В результате Начисление зарплаты каждого подразделения сторнирует только свое:

 

 

И налоги после:

 

ЗУП НДФЛ Ошибка

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    141553    668    352    

233

Перенос данных из Парус 8 в ЗГУ 3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    22684    19    1    

22

Перенос данных из Камин 3.5 (5.5) в ЗиКГУ 3.х

Перенос данных 1C Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    57535    144    141    

120

Устранение начислений прошлых периодов из ведомостей: в банк, в кассу, на счета в ЗУП 3.1, КА, ЗиКГУ 3.1

Зарплата Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

При заполнении ведомости на выплату зарплаты вылазят задолженности прошлых периодов, которых быть не должно? Наша обработка позволяется убрать эти доходы прошлых периодов за пару секунд. Больше не нужно тратить часы на анализ каждого такого случая.

15600 руб.

14.09.2022    13184    64    26    

66

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2781    30    15    

37

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

Зарплата Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    33442    206    89    

166

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4745    10    5    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. prog-eg 86 17.04.23 14:10 Сейчас в теме
2. bolikov 12 20.04.23 13:17 Сейчас в теме
3. aleksey2 86 31.05.23 12:00 Сейчас в теме
И СведенияОДоходахНДФЛ.ЗарегистрированоПриНачисленииАванса > ДатаВремя (1,1,1)
4. tany13 08.06.23 22:12 Сейчас в теме
а если у меня сотрудники- совместители в разных организациях, но головная организация одна.
Такая же чехарда. Поможет?
5. Stas84 10.08.23 22:40 Сейчас в теме
Спасибо за статью, два дня не мог разобраться с проблемой.
Очень похоже на зарегистрированную ошибку Ошибка 50013306
https://bugboard.v8.1c.ru/error/000066324
у нас как раз из-за некорректного сторно аванса, задваиваются обороты по НДФЛ в разрезе подразделений, например по одному подразделению +700000, по другому -680000, а в сумме получается нормально
6. Stas84 13.08.23 12:06 Сейчас в теме
Перепровел документы с января 2023, используя рекомендации из данной публикации. Похоже, что Ошибка 50013306 (о которой я писал выше) и ее исправление к данной проблеме не относятся, более того рекомендации по ее исправлению мне помешали и в итоге я их убрал.

К данной публикации хочу добавить. В моем случае оба подразделения, в которых работал сотрудник зарегистрированы в одной налоговой, поэтому я немного изменил код из данной публикации.



Для каждого мт из мСтрок Цикл
	Если мт.РегистрацияВНалоговомОргане = АвансыКЗачету[Счетчик].Подразделение.РегистрацияВНалоговомОргане Тогда
		Найдено = Истина;
	КонецЕсли;	
КонеЦЦикла;	


Заменил на

Для каждого мт из мСтрок Цикл
	Если мт.Подразделение = АвансыКЗачету[Счетчик].Подразделение Тогда
		Найдено = Истина;
		Прервать;
	КонецЕсли;	
КонеЦЦикла;	


РЕЛИЗ ЗУП 3.1 (3.1.27.23)
Оставьте свое сообщение