Исправление ошибки удержания НДФЛ в ЗУП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 не будет опубликован. Обязательные поля помечены *