gifts2017

Сверка НДФЛ для ЗУП

Опубликовал Сергей Коробейников (Sergey1CSpb) в раздел Отчеты - Бухгалтерские

Сверка и поиск отклонений в расчетах НДФЛ путем сопоставления с доходами сторудника

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

Для исключения подобных вещей в будущем я разработал незатейливый отчет. Суть его сводится к вычислению НДФЛ самым простым способом *0,13. Полученный результат сравнивается с начисленным НДФЛ системы. Имеющиеся отклонения выделяются красным.

Конечно, в отчете не рассмотрено множество нюансов когда «формула * 0,13» не работает, например не учтены некоторые вычеты.

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

Предполагается, что отчет запускается специалистом по расчету зарплаты один раз в месяц после ее окончательного начисления. Бросая взгляд на «красные строчки» нужно понять причину отклонения. И если вызывает сомнения, детально проверить на правильность начисления НДФЛ системой.

 

Благодарю за проявленный интерес к моему отчету.

Представляю обновленную версию от 03.07.13.

- Исправлена ошибка, связанная со «свертыванием» повторяющихся доходов (один вид расчета и сумма). О чем, в частности, сообщал Amras

- Добавлена возможность вывода записи по физлицу, у которого не было доходов за период, а были записи по НДФЛ (напр. корректировки).

- Добавлена возможность вывода  информации по начисленному НДФЛ не только за период регистрации (как в предыдущей версии) так и за налоговый период.

Для этого в настройки добавлен параметр «По периоду регистрации». Значение ДА – за период регистрации, НЕТ- за налоговый период

Например:

Пусть 01 июня было проведено доначисление НДФЛ за май.

Отчет, сформированный за период с 01.05.13 по 31.05.13 покажет это изменение в режиме «за налоговый период» (НЕТ). В режиме «По периоду регистрации» эта запись не отразится.

В свою очередь, отчет, сформированный за период с 01.06.13 по 30.06.13 покажет это изменение в режиме  «По периоду регистрации»  (ДА). В режиме «за налоговый период» эта запись не отразится.

 

Готовлю следующую версию, которое выйдет в виде отдельной публикации. Главное дополнение – вывод сведений о документах-регистраторах!

Скачать файлы

Наименование Файл Версия Размер
СверкаНДФЛ.erf 155
.erf 7,23Kb
03.07.13
155
.erf 7,23Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. al petrov (petrov_al) 30.05.13 13:16
Догадываюсь о какой ошибке идет речь. Лично я попросил расчетчика следить за датами документов где рассчитывается НДФЛ и неделать их одинаковыми.
2. Сергей Коробейников (Sergey1CSpb) 30.05.13 13:43
Думаю, что многие догадываются. По этическим причинам, я здесь не стал ее подробно описывать.
А что значит не делать одинаковыми? В данном случае, как раз из-за неодинаковости все и происходит.
Например, начислили компенсацию сотруднику 5-го числа - начислился НДФЛ. Далее рассчитали з/п 31-го числа и еще раз начислился этот же НДФЛ. Ввиду того, что ошибку проглядели - удвоенный НДФЛ успешно перечислился в бюджет. И ряд сотрудников недополучили деньги. Допускаю, что ошибку давно исправили. Но для исключения таких "сюрпризов" в будущем я своим настоятельно рекомендую раз в месяц ее запускать! И самому спокойнее.

По видимому, petrov_al, мы говорим о разных ошибках.
3. Андрей А. (Amras) 31.05.13 13:46
Лови более детальный запрос (вычеты, скидки). Подразделение можно выкинуть, это заморочка местного пошива:
ВЫБРАТЬ
	ВычетыСкидки.Организация,
	ВычетыСкидки.ПодразделениеОрганизации,
	ВычетыСкидки.ФизЛицо,
	СУММА(ВычетыСкидки.СтандартныйВычет) КАК СтандартныйВычет,
	СУММА(ВычетыСкидки.Скидка) КАК Скидка,
	СУММА(ВычетыСкидки.ИмущественныйВычет) КАК ИмущественныйВычет
ПОМЕСТИТЬ ВТ_ВычетыСкидки
ИЗ
	(ВЫБРАТЬ
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация КАК Организация,
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ФизЛицо КАК ФизЛицо,
		СУММА(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПримененныйВычет) КАК СтандартныйВычет,
		NULL КАК Скидка,
		NULL КАК ИмущественныйВычет
	ИЗ
		РегистрНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц КАК НДФЛПредоставленныеСтандартныеВычетыФизЛиц
	ГДЕ
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		И НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация = &Организация
	
	СГРУППИРОВАТЬ ПО
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ФизЛицо,
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация,
		НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		НДФЛСведенияОДоходах.Организация,
		НДФЛСведенияОДоходах.ПодразделениеОрганизации,
		НДФЛСведенияОДоходах.ФизЛицо,
		NULL,
		СУММА(НДФЛСведенияОДоходах.СуммаВычета),
		NULL
	ИЗ
		РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
	ГДЕ
		НДФЛСведенияОДоходах.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		И НДФЛСведенияОДоходах.Организация = &Организация
	
	СГРУППИРОВАТЬ ПО
		НДФЛСведенияОДоходах.ФизЛицо,
		НДФЛСведенияОДоходах.Организация,
		НДФЛСведенияОДоходах.ПодразделениеОрганизации
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		НДФЛИмущественныеВычетыФизлиц.Организация,
		НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации,
		НДФЛИмущественныеВычетыФизлиц.ФизЛицо,
		NULL,
		NULL,
		СУММА(НДФЛИмущественныеВычетыФизлиц.Размер)
	ИЗ
		РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК НДФЛИмущественныеВычетыФизлиц
	ГДЕ
		НДФЛИмущественныеВычетыФизлиц.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		И НДФЛИмущественныеВычетыФизлиц.Организация = &Организация
		И НДФЛИмущественныеВычетыФизлиц.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	
	СГРУППИРОВАТЬ ПО
		НДФЛИмущественныеВычетыФизлиц.ФизЛицо,
		НДФЛИмущественныеВычетыФизлиц.Организация,
		НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации) КАК ВычетыСкидки

СГРУППИРОВАТЬ ПО
	ВычетыСкидки.Организация,
	ВычетыСкидки.ПодразделениеОрганизации,
	ВычетыСкидки.ФизЛицо
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ДоходыСотрудников.Организация,
	ДоходыСотрудников.ПодразделениеОрганизации,
	ДоходыСотрудников.ФизЛицо КАК ФизЛицо,
	СУММА(ДоходыСотрудников.Результат) КАК Доход,
	МИНИМУМ(ЕСТЬNULL(НДФЛРасчеты.Налог, 0)) КАК НДФЛ,
	СУММА(ДоходыСотрудников.БезНДФЛ) КАК БезНДФЛ
ПОМЕСТИТЬ ВТ_Доходы
ИЗ
	(ВЫБРАТЬ
		ДополнительныеНачисленияРаботниковОрганизаций.Организация КАК Организация,
		ДополнительныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
		ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо КАК ФизЛицо,
		ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета,
		СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат) КАК Результат,
		СУММА(ВЫБОР
				КОГДА ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = NULL
						ИЛИ ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = &ПустойКодДохода
					ТОГДА ДополнительныеНачисленияРаботниковОрганизаций.Результат
				ИНАЧЕ 0
			КОНЕЦ) КАК БезНДФЛ
	ИЗ
		РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
	ГДЕ
		ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &Организация
	
	СГРУППИРОВАТЬ ПО
		ДополнительныеНачисленияРаботниковОрганизаций.Организация,
		ДополнительныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации,
		ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо,
		ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета
	
	ОБЪЕДИНИТЬ
	
	ВЫБРАТЬ
		ОсновныеНачисленияРаботниковОрганизаций.Организация,
		ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации,
		ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо,
		ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
		СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат),
		СУММА(ВЫБОР
				КОГДА ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = NULL
						ИЛИ ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = &ПустойКодДохода
					ТОГДА ОсновныеНачисленияРаботниковОрганизаций.Результат
				ИНАЧЕ 0
			КОНЕЦ)
	ИЗ
		РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
	ГДЕ
		ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
		И ОсновныеНачисленияРаботниковОрганизаций.Организация = &Организация
	
	СГРУППИРОВАТЬ ПО
		ОсновныеНачисленияРаботниковОрганизаций.Организация,
		ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации,
		ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо,
		ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета) КАК ДоходыСотрудников
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			НДФЛРасчетыСБюджетом.ФизЛицо КАК ФизЛицо,
			НДФЛРасчетыСБюджетом.Организация КАК Организация,
			СУММА(НДФЛРасчетыСБюджетом.Налог) КАК Налог,
			НДФЛРасчетыСБюджетом.ПодразделениеОрганизации КАК ПодразделениеОрганизации
		ИЗ
			РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
		ГДЕ
			НДФЛРасчетыСБюджетом.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
			И НДФЛРасчетыСБюджетом.Организация = &Организация
			И НДФЛРасчетыСБюджетом.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
		
		СГРУППИРОВАТЬ ПО
			НДФЛРасчетыСБюджетом.ФизЛицо,
			НДФЛРасчетыСБюджетом.Организация,
			НДФЛРасчетыСБюджетом.ПодразделениеОрганизации) КАК НДФЛРасчеты
		ПО ДоходыСотрудников.ФизЛицо = НДФЛРасчеты.ФизЛицо
			И ДоходыСотрудников.Организация = НДФЛРасчеты.Организация
			И ДоходыСотрудников.ПодразделениеОрганизации = НДФЛРасчеты.ПодразделениеОрганизации

СГРУППИРОВАТЬ ПО
	ДоходыСотрудников.ФизЛицо,
	ДоходыСотрудников.ПодразделениеОрганизации,
	ДоходыСотрудников.Организация
;

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

СГРУППИРОВАТЬ ПО
	ВТ_Доходы.ФизЛицо,
	ВТ_Доходы.ПодразделениеОрганизации,
	ВТ_Доходы.Организация
...Показать Скрыть
4. Андрей А. (Amras) 31.05.13 14:13
И еще... дату начала лучше ставить на начало года (т.к. в некоторых месяцах могут идти корректировки доходов и перерасчет НДФЛ. Тем самым запрос соберет полный доход, включая текущий период и произведет более корректный расчет).

Проблема данного запроса в нерезидентах и прочих отчислений по ставке 35% (мат.выгода). Но при желании все можно допилить :)
5. Сергей Коробейников (Sergey1CSpb) 31.05.13 14:30
(4) Amras,
Да, насчет начала года - мысль действительно хорошая.
35% и нерезидентов у нас, тьфу-тьфу, нет - поэтому и не писал.

Можно Вас попросить прокомментировать "более детальный запрос". Он дополнительно учитывает скидки и вычеты, или что-то еще?
6. Андрей А. (Amras) 31.05.13 15:00
(5)
Добавляет:
1. Вычеты стандартные
2. Вычеты имущественные
3. Скидка (код 503), например с материальной помощи (4000 рублей не облагаемая сумма)

- Данные поля в компоновке необходимо прописать в выражении (если придерживаться данного отчета):
(Доход-БезНДФЛ-Скидка-СтандартныйВычет-ИмущественныйВычет)*0.13
(Доход-БезНДФЛ-Скидка-СтандартныйВычет-ИмущественныйВычет)*0.13-НДФЛ

Но можно было бы и в самом запросе это учесть (ну да не будем отходить от того, что уже написано).

- Закинем в ресурсы данные поля (для итогов)

- Немного бы подправить период в параметрах (Имя: Период / Заголовок: Период / Тип: СтандартныйПериод) - Ограничение Ложь
- Даты в поле выражение: &Период.ДатаНачала и КонецПериода(&Период.ДатаОкончания,"День") - Ограничение Истина

Немного подправить условное оформление для "Цвет текста". Необязательно создавать множество полей, можно пойти через группу ИЛИ и в нее добавить "Дельту" для 1 и "Дельту" для -1. Хотя это уже марафет :)
7. Андрей А. (Amras) 31.05.13 15:09
И есть одна ошибка при сборке начислений (из-за чего я группировку поставил) - на запрос с основными начислениями стоит без дублей. А в документе может возникнуть такая картина:
- Оплата больничных листов = 3 228,56
- Оплата больничных листов = 3 228,56
- Оплата больничных листов за счет работодателя = 3 228,56

Тем самым отсечение дублей, нам удалит одну из строк "Оплата больничных листов = 3 228,56" - и мы получим искажение в расчете.

Либо группируем расчеты, либо убираем флажок в объединение на второй запрос (Основные начисления).
8. Илья (gucci76) 10.07.13 09:25
Я использую отчет "Анализ налогов и взносов" - в нем написал свой вариант отчета, используя Пользовательское поле.
9. Макас (makas) 20.09.13 14:20
(8) gucci76,

Я использую отчет "Анализ налогов и взносов" - в нем написал свой вариант отчета, используя Пользовательское поле.


Пожалуйста, этот отчет в "студию". Хочется посмотреть как это делается, для изучения кода
10. Илья (gucci76) 20.09.13 15:03
Какой код?
Я же не дописывал отчет. Через "ключик" свой вариант отчета сделал


PS Только не для коммерческого использования )))
Прикрепленные файлы:
НДФЛ_анализРасчетаНалога.xml
11. Илья (gucci76) 20.09.13 15:05
Хотя если использовать типовые возможности надо сравнивать Начислено в учете НДФЛ и начислено в своде по зарплате
Потому как в одном релизе у договорников двоилась база НДФЛ в определенных случаях.
12. Татьяна Голованова (tvg258) 28.11.13 09:02
Работает неверно. Не берет стандартные вычеты.
13. Сергей Коробейников (Sergey1CSpb) 28.11.13 13:23
(12) tvg258, Совершенно верно. В описании указано "Конечно, в отчете не рассмотрено множество нюансов, когда «формула * 0,13» не работает, например не учтены некоторые вычеты."
Рекомендую использовать "Детальную сверку" http://infostart.ru/public/196144/
Там вычеты учтены.
14. Татьяна Голованова (tvg258) 28.11.13 13:26
Стандартные вычеты на детей, почему бы их не включить?
15. Татьяна Голованова (tvg258) 28.11.13 13:27
Спасибо. Попробую отчет по сслыке
16. Сергей Коробейников (Sergey1CSpb) 28.11.13 23:29
(15) tvg258, Да, взгляните тот отчет. Если там проблема не исчезнет, готов обсудить. Но, насколько я помню, с "детскими" вычетами там проблем не было.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа