Исправление ошибки удержания НДФЛ в ЗУП8 (2.5.61.1)

Неправильно формируется НДФЛ удержанный при сторнировании начислений сделанных в прошлых расчетных периодах.

      Неправильное формирование НДФЛ удержанного (замечено в конфигурации ЗУП8 2.5.61.1) происходит при проведении документа «ЗарплатаКВыплатеОрганизаций» в случае сторнирования начислений произведенных в прошлых периодах. Например: сотруднику в декабре была полностью начислена и выплачена зарплата, а он в январе принес больничный лист за дни декабря. В этом случае при проведении документа «ЗарплатаКВыплатеОрганизаций» дополнительно формируются записи по расходу (удержанию) регистра накопления НДФЛРасчетыСБюджетом и по приходу регистра накопления РасчетыНалоговыхАгентовСБюджетомПоНДФЛ на сумму НДФЛ со сторнируемой суммы. Это «паразитное» удержание формируется за счет ошибки формирования СальдоПоНалогу в запросе, который выполняется в Общем модуле ПроведениеРасчетовПереопределяемый в Процедура СформироватьРасчетыПоНДФЛПриВыплате. СальдоПоНалогу расчитывается не нарастающим итогом, а по каждому месяцу налогового периода (см.текст запроса).

 

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

        |  И НДФЛРасчетыСБюджетом.ФизЛицо В(ВЫБРАТЬ ФизЛицо ИЗ ВТВыплатыФизлицам)
        | 
        | ОБЪЕДИНИТЬ ВСЕ
        | 
        | ВЫБРАТЬ
        |  НДФЛКЗачету.ФизЛицо,
        |  НАЧАЛОПЕРИОДА(НДФЛКЗачету.Период, МЕСЯЦ),
        |  ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13),
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА НДФЛКЗачету.СуммаНДФЛКЗачету
        |   ИНАЧЕ -НДФЛКЗачету.СуммаНДФЛКЗачету
        |  КОНЕЦ,
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА НДФЛКЗачету.СуммаНДФЛКЗачету
        |   ИНАЧЕ 0
        |  КОНЕЦ,
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА 0
        |   ИНАЧЕ НДФЛКЗачету.СуммаНДФЛКЗачету
        |  КОНЕЦ
        | ИЗ
        |  РегистрНакопления.НДФЛКЗачету КАК НДФЛКЗачету
        | ГДЕ
        |  НДФЛКЗачету.Регистратор <> &ДокументСсылка
        |  И НДФЛКЗачету.Организация = &ГоловнаяОрганизация
        |  И НДФЛКЗачету.Период        

        |  И НДФЛКЗачету.ФизЛицо В(ВЫБРАТЬ ФизЛицо ИЗ ВТВыплатыФизлицам)) КАК НДФЛРасчетыСБюджетом
        |
        |СГРУППИРОВАТЬ ПО
        | НДФЛРасчетыСБюджетом.ФизЛицо,
        | НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента,
        | НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, МЕСЯЦ),
        | НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, ГОД)
        |
        |ИНДЕКСИРОВАТЬ ПО
        | ФизЛицо,
        | СтавкаНалогообложенияРезидента,
        | НалоговыйПериод,
        | МесяцНалоговогоПериода»;

 Запрос.Выполнить();

В конфигурации поставщика строки 7153 — 7233. Один из вариантов исправления запроса приведен ниже.

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

        |  И НДФЛРасчетыСБюджетом.ФизЛицо В (ВЫБРАТЬ ФизЛицо ИЗ ВТВыплатыФизлицам)
        | 
        | ОБЪЕДИНИТЬ ВСЕ
        | 
        | ВЫБРАТЬ
        |  НДФЛКЗачету.ФизЛицо,
        |  НАЧАЛОПЕРИОДА(НДФЛКЗачету.Период, МЕСЯЦ),
        |  ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13),
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА НДФЛКЗачету.СуммаНДФЛКЗачету
        |   ИНАЧЕ -НДФЛКЗачету.СуммаНДФЛКЗачету
        |  КОНЕЦ,
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА НДФЛКЗачету.СуммаНДФЛКЗачету
        |   ИНАЧЕ 0
        |  КОНЕЦ,
        |  ВЫБОР
        |   КОГДА НДФЛКЗачету.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        |    ТОГДА 0
        |   ИНАЧЕ НДФЛКЗачету.СуммаНДФЛКЗачету
        |  КОНЕЦ
        | ИЗ
        |  РегистрНакопления.НДФЛКЗачету КАК НДФЛКЗачету
        | ГДЕ
        |  НДФЛКЗачету.Регистратор <> &ДокументСсылка
        |  И НДФЛКЗачету.Организация = &ГоловнаяОрганизация
        |  И НДФЛКЗачету.Период        

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

20 Comments

  1. Gesperid

    В конце прошлого года разбирался с этой процедурой и пришёл к выводу, что «паразитный» НДФЛ возникает при выполнении двух условий:

    1. Наличии переплаты по налоговому периоду №1

    2. Возврате переплаты в налоговом периоде №2 (или последующих)

    В соответствии с этим и откорректировал текст запроса.

    У вас же, в описании, возврат и _налоговые_ периоду не упоминаются. Уточните способ воспроизведения ошибки, хочется разобраться.

    Reply
  2. andrewks

    я вообще не уверен, что это ошибки. это просто заковыристая ситуация из-за наших заковыристых законов.

    если получилась переплата по НДФЛ за 2013 год (пусть даже это получилось и задним числом, не по вашей вине, и сделать вы ничего не можете), нельзя её зачесть в счёт НДФЛ 2013 года. это прописано в НК РФ. нужно подавать данные в ФНС, сотрудник должен написать заявление о возврате налога на карточку, и ФНС безнально ему вернёт

    Reply
  3. Gesperid

    (2) _Зачесть_, может и нельзя — есть различные мнения, когда рыл эту тему — в периодике, в письмах, в комментариях. А вот _возвратить_ излишне удержанный НДФЛ агент обязан, даже в следующем НП.

    Reply
  4. andrewks
    Reply
  5. SOB

    (1)

    [В конце прошлого года разбирался с этой процедурой и пришёл к выводу, что «паразитный» НДФЛ возникает при выполнении двух условий:

    1. Наличии переплаты по налоговому периоду №1

    2. Возврате переплаты в налоговом периоде №2 (или последующих)

    В соответствии с этим и откорректировал текст запроса. ]

    Все правильно при переплате НДФЛ в предыдущих месяцах (т.е. при сторнировании документами начислений)

    НДФЛ исчисленный относится на те месяцы по которым производится сторнирование. В результате приведенного запроса, на основании которого формируется сумма НДФЛ удержанного при проведении документа ЗарплатаКВыплатеОрганизаций,поле СальдоПоНалогу формируется без учета переплаты за прошлые месяцы.

    Reply
  6. Gesperid
    налоговый период — год. соответственно, когда окончательное перечисление за 2012 год уже сделано, а потом приносится такой больничный, то только через возврат через ФНС

    Не понимаю, из какого положения этого пункта сделан такой вывод.

    В следующем абзаце говорится, что должны вернуть и баста.

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

    Более того, должны вернуть даже уволенным, см., например, ПИСЬМО от 2 июля 2012 г. № 03-04-06/6-193.

    Исключение составляют смена статуса резидента, об этом где-то в НК есть.

    Reply
  7. Gesperid

    (5) SOB, я тебя спрашивал про конкретный способ воспроизведения (начислили за такой-то месяц столько-то, выплата такого-то числа, перерасчет за такой-то месяц и т.д.). По-твоему описанию «паразитного» НДФЛ не возникает. Был ли у тебя возврат?

    Reply
  8. andrewks

    (6)

    Не понимаю, из какого положения этого пункта сделан такой вывод.

    Статья 216. Налоговый период

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

    Reply
  9. andrewks
  10. Gesperid

    (8) в том, то и дело, что не говорится, что возвращать нельзя за предыдущие НП

    (10) только подтверждает (6)

    Данный вывод нам подтвердил Николай СТЕЛЬМАХ, заместитель начальника отдела налогообложения доходов физических лиц Минфина России: «Если по итогам года у работника образовалась переплата по НДФЛ, то она считается излишне удержанной. В этом случае возвращать ее нужно по правилам пункта 1 статьи 231 Налогового кодекса РФ. То есть перечислить деньги на банковский счет работника. По-другому поступать нужно, если налоговый период еще не закончился. Тогда переплату можно зачесть в следующих месяцах этого же года. Так предусмотрено пунктом 3 статьи 226 Налогового кодекса РФ».
    Reply
  11. SOB

    (7)

    Воспроизводится очень просто на примере больничного:

    За декабрь сотруднику полностью начисляется и выплачивается заплата в результате в регистре накопления НДФЛРасчетыСБюджетом записывается сумма S1 по приходу (начисление) и если в параметрах учета стоит «галочка» «Принммать исчисленный НДФЛ к учету как удержанный», то и сумма S1 по расходу (удержание).

    Документ ЗарплатаКВыплатеОрганизаций в этом случае никаких записей в регистре не делает.

    В январе сотрудник приносит больничный лист за N дней в декабре. При расчете и проведении документа в январе кроме начисления по больничному формируется сторно начисления зарплаты декабря за дни болезни. При проведении документа делаются записи в этот регистр по сторно зарплаты за декабрь по НДФЛ исчисленному с минусом (попадает в период декабрь) и по начисленному и удержанному НДФЛ по больничному. Начисление зарплаты за январь формирует НДФЛ исчисленный и удержанный за январь. Проведение документа ЗарплатаКВыплатеОрганизаций призвано в части НДФЛ удержанного увеличить или уменьшить сумму удержания в зависимости от наличия или отсутствия соответствующих удержаний и начислений. В результате по текущему примеру в конфигурации поставщика удерживаемое НДФЛ не учитывает сторно за декабрь, т.к. сальдо по НДФЛ считается только по текущему месяцу.

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

    Reply
  12. andrewks

    (11) я так понял, это спорный момент. но, при любом раскладе, получается, что нельзя зачесть НДФЛ 2012 года в счёт платежей за 2013 год, как предлагается

    Reply
  13. Gesperid

    (12) Спасибо, посмотрю

    (13) Нет, не спорный, если сотрудник написал завяление, то агент должен вернуть НДФЛ за любой предшествующий НП. А за счет каких средств будет сделан этот возврат из текущих платежей или выклянчиванием из ФНС — это другой вопрос.

    Reply
  14. andrewks

    (14) спорный — я имел в виду не про то, надо возвращать сотруднику, или нет, а каким образом налоговый агент их оформит — через уменьшение текущих поступлений, или через возврат от ФНС

    Reply
  15. SOB

    (14) (15) andrewks,

    Простите что вмешиваюсь в ваши споры по поводу разных налоговых периодов. Но по-моему ошибка разработчиков конфигурации очевидна. В приведенном примере у сотрудника при сторнировании доблестно удерживается из зарплаты за сторнируемый период выплата плюс НДФЛ с выплаты, который он никогда не получал. СальдоПоНалогу приведенное в статье — суть задолженность налогоплательщика перед налоговым агентом и наоборот и накакого отношения к задолженности налогового агента и ФНС не имеет.

    Reply
  16. BlackStar

    (16) Скажите, вы писали об ошибке в техподдержку, если да был ли ответ? Пытаюсь сделать возврат НДФЛ, а он при выплате снова ставит его как излишне удержанный ))) Конфигурация на поддержке у франча, так просто не изменишь (

    Reply
  17. SOB

    (17) BlackStar, Собирался написать хотел послать им тестовый пример, но расчетчики задергали решил сам исправить. У нас конфигурация доработанная своими силами, так что без проблем. А если у Вас конфигурация на поддержке, то Вам сам бог велел…

    Reply
  18. BlackStar

    (18) Спасибо )) Хотя скорость и реакция техподдержки на запросы совсем не радует.

    Reply
  19. smooth

    Редкий случай, когда действительно «В споре рождается истина…» 😉

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

    зы на чтение изменений НК и тп ни как не могу найти время 🙁

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *