Перечисленный НДФЛ и как с этим бороться

22.02.12

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

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

Для начала небольшой экскурс в методологию (цитата из статьи ИТС "Учет перечисленного в бюджет налога в разрезе физлиц"):

Учет перечисленного в бюджет НДФЛ в разрезе физических лиц в программе необходимо вести с целью автоматического формирования отчета "Регистр налогового учета по НДФЛ" и заполнения документов "Справка 2-НДФЛ" (как для сотрудника, так и для передачи в ИФНС) в части сумм перечисленного налога. Вести такой учет в специальном регистре обязывает статья 230 Налогового Кодекса РФ (далее НК РФ), о необходимости указывать такие суммы в справках 2-НДФЛ сказано в Приказе ФНС от 17 ноября 2010 г. N ММВ-7-3/611@.

Суммы перечисляемого в бюджет налога в общем случае могут не совпадать с суммами налога удержанного. Кроме того п. 1 ст. 230 НК РФ  обязывает указывать в регистрах налогового учета реквизиты платежных документов, которыми была произведена уплата налога в бюджет РФ. Такой информации в подсистеме расчета зарплаты не содержится. Поэтому такие суммы регистрируются в программе отдельным документом "Перечисление НДФЛ в бюджет РФ".

Регистрация в учете сумм перечисленного налога осложняется тем, что НК РФ обязывает вести такой учет в отдельности по каждому физическому лицу, однако в бюджет налог перечисляется общей суммой, без указания по какому лицу какая сумма перечисляется. В настоящий момент не существует разъяснений контролирующих органов о том, как следует распределять перечисляемые в бюджет суммы налога между физическими лицами с целью ведения регистра налогового учета в соответствии с п. 1 ст. 230 НК. Поэтому методистами фирмы "1С" был предложен следующий подход к автоматизированному распределению сумм перечисленного налога.

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

Следующей датой в учете регистрируется факт перечисления налога в бюджет, т.е. вводится документ "Перечисление НДФЛ в бюджет РФ", в котором указывается общая сумма перечисленного налога, дата его перечисления, месяц налогового периода, ставка налогообложения, коды ОКАТО/КПП, а также реквизиты платежного документа. Общая сумма перечисленного налога, вручную указанная в документе, автоматически распределяется по физическим лицам пропорционально суммам, которые ранее (в момент удержания налога) были зарегистрированы как необходимые к перечислению.

Если общая перечисляемая сумма совпадает с общей суммой удержанного налога (т.е. удержанная сумма налога перечисляется полностью), то в результате такого распределения перечисленная сумма по каждому физическому лицу совпадет с суммой удержанной, зарегистрированной как необходимая к перечислению.

Конец цитаты.

 

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

В этих случаях программа ведет себя следующим образом:

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

2. Сумма НДФЛ перечисленного больше чем НДФЛ удержанного: сумма излишне перечисленного налога записывается с минусом в регистр накопления "Расчеты налоговых агентов с бюджетом по НДФЛ". Такая задолженность на последующие месяцы налогового периода не переносится и не может быть зачтена в других месяцах. По словам методистов 1С, такой подход основывается на положениях НК РФ и подтверждается письмом ФНС от 19 октября 2011 г. N ЕД-3-3/3432@, в котором сказано: "… ежемесячное перечисление в бюджет суммы, превышающей сумму фактически удержанного из доходов физических лиц налога на доходы физических лиц, не является налогом. В таком случае налоговому агенту следует обратиться в налоговый орган с заявлением о возврате на расчетный счет организации суммы, не являющейся налогом на доходы физических лиц и ошибочно перечисленной в бюджетную систему Российской Федерации."

 

Если учет НДФЛ перечисленного на Вашем предприятии ведется в соответствии с вышеизложенными рекомендациями, Вы не допускаете наличия "положительных" или ,не дай бог, отрицательных остатков, тогда дальнейшее чтение статьи для Вас будет бесполезно !

  

На данный момент существуют 2 известные мне методики избавления от "висящих" остатков по НДФЛ перечисленному:

1. Написание обработки, которая будет анализировать "висящие остатки" и сама создавать документы "Перечисление НДФЛ в бюджет";

2. Изменение документа "Перечисление НДФЛ в бюджет" для закрытия "висящих" остатков одним документом.

 

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

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

 Типовой механизм 

 Записи с "+" образовались при проведении двух документов "Начисление зарплаты" (за апрель и май 2011 года).

Записи с "-" движения стандартных документов "Перечисление НДФЛ в бюджет" (за апрель и май 2011 года).

Рассчитаем отстаток нераспределенной суммы НДФЛ (по месяцам налогового периода):

За апрель образовалась переплата = -446 = 2431 - 2877;

За май образовалась задолженность = 680 = 2431 - 1751.

В итоге имеем долг по перечисленному НДФЛ  = 234 = 680 - 446.

Возникает вопрос, как закрыть задолженность и почему переплата за апрель не учлась в мае. Все просто! согласно письмом ФНС от 19 октября 2011 г. N ЕД-3-3/3432@ переплата за апрель не является налогом и автоматически зачитываться в типовой конфигурации не будет. Далее, чтобы зачесть задолженность за май необходимо ввести еще один документ "Перечисление НДФЛ в бюджет", в котором в качестве месяца, за который платят, будет указан май. Причем, именно май, т.к. например при перечислении налога за июнь неперечисленный НДФЛ за май автоматически зачитываться также не будет. При таком раскладе количество человеко часов работы бухгалтерии при хорошо разветвленной структуре фирмы и численности работников превышающей 2000 человек увеличивается до пугающих величин.

 

Теперь сравним с движениями измененного документа "Перечисление НДФЛ в бюджет".

 Измененный механизм

Записи с "+", образовались при проведении трех документов "Начисление зарплаты" (за апрель, май и июнь 2011 года).

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

Рассчитаем отстаток нераспределенной суммы НДФЛ (по месяцам налогового периода):

Апрель: переплата = -446 = 2431 - 2877. Обрабтите внимание, что сумма переплаты, в отличие от типового механизма, записывается отдельно (в май 2011 года).

Май: задолженность = 234 = 2431 - 1751 - 446. Документ "Перечисление НДФЛ в бюджет" за май 2011 года зачел переплату за апрель в размере 446 рублей, после чего сумму оплаты в размере 1751 рубль посадил целиком в май. Т.к. суммы оплаты нехватает, чтобы полностью погасить задолженность, следовательно возникает долг = 234 рубля. 

Июнь: задолженность гасится = 0 = 234  + 120 - 354. Документ "Перечисление НДФЛ в бюджет" за июнь 2011 года гасит долг за май в размере 234 рубля, а также гасит долг за июнь в размере 120 рублей.

Результатом работы измененного документа явилось полное погашение задолженности по НДФЛ без ввода дополнительных документов  "Перечисление НДФЛ в бюджет" и корректировок регистра.

 

Что же необходимо сделать, чтобы этот механизм заработал?

Первое, что необходимо - получить остатки НДФЛ по месяцам налогового периода. За это отвечает функция "ПолучитьТаблицуРаспределенияПоФизлицу":

 

Функция ПолучитьТаблицуРаспределенияПоФизлицу(Физлицо) Экспорт    

Запрос = Новый Запрос;  Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ                

| РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.ФизЛицо КАК ФизЛицо,                

| НАЧАЛОПЕРИОДА(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода,                

| СУММА(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.СуммаОстаток) КАК Долг                

|ИЗ                

| РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Остатки(                

|   &Период,                

|   ФизЛицо = &Физлицо                

|    И Ставка = &Ставка               

|    И ОКАТО_КПП = &ОКАТО_КПП) КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки                

|ГДЕ                

| РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.СуммаОстаток <> 0                

|                

|СГРУППИРОВАТЬ ПО                

| РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.ФизЛицо,                

| НАЧАЛОПЕРИОДА(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.МесяцНалоговогоПериода, МЕСЯЦ)                

|                

|УПОРЯДОЧИТЬ ПО                

| ФизЛицо,                

| МесяцНалоговогоПериода                

|АВТОУПОРЯДОЧИВАНИЕ";    

 

Запрос.УстановитьПараметр("Период"  , Новый Граница(КонецДня(Дата), ВидГраницы.Включая));  

Запрос.УстановитьПараметр("ОКАТО_КПП" , ОКАТО_КПП);  

Запрос.УстановитьПараметр("Ставка"  , Ставка);  

Запрос.УстановитьПараметр("Физлицо"  , Физлицо);    

Результат = Запрос.Выполнить();    

ТаблицаРезультат = Результат.Выгрузить();    

Возврат ТаблицаРезультат;  

КонецФункции

 

Теперь процедура формирования движений по регистру накопления "Расчеты налоговых агентов с бюджетом по НДФЛ":

 

Процедура СформироватьДвиженияПоФизлицу(Физлицо, Знач СуммаПеречислено)    

ТаблицаРаспределения = ПолучитьТаблицуРаспределенияПоФизлицу(Физлицо);    

ОтрицательныеСуммы = Новый ТаблицаЗначений;  

ОтрицательныеСуммы.Колонки.Добавить("МесяцНалоговогоПериода", Новый ОписаниеТипов("Дата" , Новый КвалификаторыДаты(ЧастиДаты.Дата)));  

ОтрицательныеСуммы.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));    

ПоложительныеСуммы = Новый ТаблицаЗначений;  

ПоложительныеСуммы.Колонки.Добавить("МесяцНалоговогоПериода", Новый ОписаниеТипов("Дата" , Новый КвалификаторыДаты(ЧастиДаты.Дата)));  

ПоложительныеСуммы.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));    

Для Каждого СтрокаТаблицаРаспределения из ТаблицаРаспределения Цикл      

Если СтрокаТаблицаРаспределения.Долг > 0 Тогда    

СтрокаТаблицы  = ПоложительныеСуммы.Добавить();   

СтрокаТаблицы.МесяцНалоговогоПериода = СтрокаТаблицаРаспределения.МесяцНалоговогоПериода;    

СтрокаТаблицы.Сумма = СтрокаТаблицаРаспределения.Долг;   

Иначе     

СтрокаТаблицы  = ОтрицательныеСуммы.Добавить();    

СтрокаТаблицы.МесяцНалоговогоПериода = СтрокаТаблицаРаспределения.МесяцНалоговогоПериода;   

СтрокаТаблицы.Сумма = -СтрокаТаблицаРаспределения.Долг;   

КонецЕсли;      

КонецЦикла;     

// Закроем отрицательные суммы  

Для Каждого СтрокаОтрицательныеСуммы из ОтрицательныеСуммы Цикл      

ОсталосьРаспределить = СтрокаОтрицательныеСуммы.Сумма;   

Распределено   = 0;      

Для Каждого СтрокаПоложительныеСуммы из ПоложительныеСуммы Цикл        

Если СтрокаПоложительныеСуммы.Сумма > ОсталосьРаспределить Тогда     

Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();     

Движение.Период     = ДатаПлатежа;     

Движение.ФизЛицо    = Физлицо;     

Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;     

Движение.Организация   = Организация;     

Движение.МесяцНалоговогоПериода = СтрокаПоложительныеСуммы.МесяцНалоговогоПериода;     

Движение.ОКАТО_КПП    = ОКАТО_КПП;    

Движение.Ставка     = Ставка;     

Движение.Сумма     = ОсталосьРаспределить;     

СтрокаПоложительныеСуммы.Сумма = СтрокаПоложительныеСуммы.Сумма - Распределено;     

Распределено     = Распределено + ОсталосьРаспределить;     

ОсталосьРаспределить   = 0;    

Иначе     

Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();     

Движение.Период     = ДатаПлатежа;     

Движение.ФизЛицо    = Физлицо;     

Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;     

Движение.Организация   = Организация;     

Движение.МесяцНалоговогоПериода = СтрокаПоложительныеСуммы.МесяцНалоговогоПериода;     

Движение.ОКАТО_КПП    = ОКАТО_КПП;     

Движение.Ставка     = Ставка;     

Движение.Сумма     = СтрокаПоложительныеСуммы.Сумма;     

Распределено     = Распределено + СтрокаПоложительныеСуммы.Сумма;     

ОсталосьРаспределить   = ОсталосьРаспределить - СтрокаПоложительныеСуммы.Сумма;     

СтрокаПоложительныеСуммы.Сумма = 0;    

КонецЕсли;        

Если ОсталосьРаспределить = 0 Тогда     

Прервать;    

КонецЕсли;        

КонецЦикла;       

Если Распределено > 0 Тогда    

Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();    

Движение.Период     = ДатаПлатежа;    

Движение.ФизЛицо    = Физлицо;    

Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;    

Движение.Организация   = Организация;   

Движение.МесяцНалоговогоПериода = СтрокаОтрицательныеСуммы.МесяцНалоговогоПериода;    

Движение.ОКАТО_КПП    = ОКАТО_КПП;   

Движение.Ставка     = Ставка;    

Движение.Сумма     = -Распределено;        

СтрокаОтрицательныеСуммы.Сумма = ОсталосьРаспределить - Распределено;   

КонецЕсли;      

КонецЦикла;   

// Сформируем записи на оставшиеся положительные суммы  

Для Каждого СтрокаПоложительныеСуммы из ПоложительныеСуммы Цикл      

Если СтрокаПоложительныеСуммы.Сумма = 0 Тогда    

Продолжить;   

КонецЕсли;       

Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();   

Движение.Период     = ДатаПлатежа;   

Движение.ФизЛицо    = Физлицо;   

Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;   

Движение.Организация   = Организация;   

Движение.МесяцНалоговогоПериода = СтрокаПоложительныеСуммы.МесяцНалоговогоПериода;   

Движение.ОКАТО_КПП    = ОКАТО_КПП;   

Движение.Ставка     = Ставка;   

Движение.Сумма     = Мин(СтрокаПоложительныеСуммы.Сумма, СуммаПеречислено);      

СуммаПеречислено = СуммаПеречислено - Движение.Сумма;      

Если СуммаПеречислено = 0 Тогда    

Прервать;  

КонецЕсли;      

КонецЦикла;     

// Оставшуюся переплату нужно посадить месяц налого периода из форму документа 

Если СуммаПеречислено > 0 Тогда 

МесяцНалоговогоПериода = НачалоМесяца(МесяцНалоговогоПериода);   

Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();   

Движение.Период     = ДатаПлатежа;   

Движение.ФизЛицо    = Физлицо;   

Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;   

Движение.Организация   = Организация;   

Движение.МесяцНалоговогоПериода = МесяцНалоговогоПериода;   

Движение.ОКАТО_КПП    = ОКАТО_КПП;   

Движение.Ставка     = Ставка;   

Движение.Сумма     = СуммаПеречислено;      

КонецЕсли;   

КонецПроцедуры

 

И, наконец, комментируем строки типовой процедуры "ОбработкаПроведения()" и добавляем вызов процедуры "СформироватьДвиженияПоФизлицу()":

  

Если Не Отказ Тогда    

//Движение = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.ДобавитьРасход();    

//ЗаполнитьЗначенияСвойств(Движение, ЭтотОбъект, "Организация, МесяцНалоговогоПериода, Ставка, ОКАТО_КПП");    

//Движение.Период = ДатаПлатежа;    

//ЗаполнитьЗначенияСвойств(Движение, СтрокаТЧ, "ФизЛицо, Сумма");

СформироватьДвиженияПоФизлицу(СтрокаТЧ.ФизЛицо, СтрокаТЧ.Сумма);   

КонецЕсли;

 

Надеюсь, что данная статья поможет Вам в дальнейшей работе.

 

 

 

См. также

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

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

27900 руб.

01.04.2020    147096    649    360    

235

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

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

48000 руб.

24.04.2017    51021    100    165    

89

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

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

84000 руб.

19.08.2020    25026    23    1    

25

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

14800 руб.

01.11.2012    94133    115    1    

117

SALE! 20%

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

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

5940 4752 руб.

27.05.2021    37560    264    92    

205

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

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

12000 руб.

28.07.2016    60709    153    141    

129

SALE! 30%

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

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

33600 23520 руб.

14.09.2022    15739    70    26    

72
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. kondrp 1156 21.02.12 09:27 Сейчас в теме
Описание простой методики избавления от висящих остатков по НДФЛ перечисленному


Перейти к публикации

1. director04 3659 21.02.12 09:27 Сейчас в теме
Первая часть статьи мне показалась вполне интересной, за что плюс, а вот вторая часть, с запросами, какая-то мутная.
Нипонятно, куда их лепить, и для каких целей.
Видно, именно в этих запросах автор подразумевал свое ноухау. А вот в чем оно - объяснить забыл.

Стоило бы более подробно показать штатные движения регистра. А так же, движения регистра по вашим исправлениям. При этом вполне можно было бы приложить скрины движений. А так же скрины отчетов по данному регистру.
Тогда бы вот, был плюс вполне заслуженный.
lesmash2000; +1 Ответить
2. kondrp 1156 21.02.12 11:00 Сейчас в теме
(1) director04,
Не вопрос, скрины регистров накопления при работе типового и измененного механизма сделаю.

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

Спасибо за конструктивную критику.
3. Модератор раздела 21.02.12 11:27 Сейчас в теме
(0) Хорошая публикация.
ИМХО задачи, решаемые 2-й частью (кодом), лучше описать отдельно, перед кодом, в тексте основной статьи.
Например, что код делает с переплатой или недоплатой.
Из кода эту инфу получать неудобно.
4. kondrp 1156 21.02.12 13:21 Сейчас в теме
(3) artbear,
Спасибо за комментарий. Это моя первая публикация, а когда сам делаешь - думаешь и остальным все понятно.
Сегодня вечером пересмотрю текст второй части статьи
5. mvmaxim 31 22.02.12 07:58 Сейчас в теме
Нужная штука, возможно, в типовых рализах появится что-то подобное. Сделал немного раньше подобную вещь, только перенес в документе "Перечисление НДФЛ в бюджет РФ" реквизит "МесяцНлоговогоПериода" из шапки в табличную часть. Ну и соответственно, обработку распределения сумм переделал. Тогда можно одним документом при распределении сумм перечисленного НДФЛ закрыть "хвосты" предыдущего месяца/ев и распределить за текущий. В Вашем запросе, по-моему, нет необходимости использовать конструкцию НАЧАЛОПЕРИОДА(МесяцНалоговогоПериода, МЕСЯЦ), т.к. там всё равно только первые числа месяца стоят. Как считаете, оправдано ли метедологически указание реквизита МесяцНалоговогоПериода в табличной части, или это я переборщил?
6. kondrp 1156 22.02.12 08:40 Сейчас в теме
(5) mvmaxim,
В первом варианте документа у меня тоже был реквизит в табличной части. Но бухи начали говорить, что им непонятно почему по одному работнику несколько строк, да и типовой механизм распределения в форме нужно было менять + добалять реквизиты. Поэтому пришлось изменить подход: в форме все заполняется по типовому механизму, а весь функционал по распределению вынесен в модуль объекта - подальше от глаз бухгалтерии.

Насчет "НАЧАЛОПЕРИОДА" - согласен, можно не использовать (написано по привычке, чтобы наверняка).

По поводу методологии: насколько я понимаю рекомендации методистов 1С, в случае если была недоплата, то применение вашего механизма, равно как и моего, оправдано, т.к. сокращает количество документов. Но если была переплата, то согласно письму ФНС от 19 октября 2011 г. N ЕД-3-3/3432 сумма переплаты не является налогом и ее нужно возвращать из налоговой. Честно говоря, я себе слабо представляю бухгалтера, который из-за каждых 5 или 10 рублей переплаты будет писать письма в налоговую, да и налоговой от этих писем легче не станет, эти факты ведь нужно еще как то проверить. Очень надеюсь, что это письмо о переплатах будет отменено, либо будет установлен какой то предел, в рамках которого можно будет письма не писать, а просто зачесть эту переплату в следующих месяцах.
7. espero2000 14 22.02.12 15:09 Сейчас в теме
После такого изменения типовую конфигурацию штатно не обновить...
8. kondrp 1156 22.02.12 16:40 Сейчас в теме
(7) espero2000,
С поддержки конфигурацию полностью можно не снимать, нужно только включить возможность вносить изменения. При этом конфигурация продолжит обновляться штатными средствами, а описанный мною функционал можно будет добавить в конфигурацию после обновления.
9. evgalex 71 24.02.12 21:13 Сейчас в теме
Статья хорошая, главное своевременная. Не подскажете, работает ли такая система при перечислении НДФЛ 4-6 платежками в течение месяц.
10. kondrp 1156 25.02.12 00:48 Сейчас в теме
В функциии "ПолучитьТаблицуРаспределенияПоФизлицу" есть параметр запроса "Период". При установке этого параметра остатки по НДФЛ перечисленному проверяются на конец дня в который входит дата документа. Получается, что при данной схеме можно вводить не более одной платежки в день. Причем, по дням их необходимо вводить последовательно, т.е. избегать ввода "задним числом".
Например: от 02.02.2012 введена платежка №1. Если после ввода платежки №1 ввести платежку №2 от 01.02.2012, то платежка №2 испортит распределение остатков платежки №1 и суммы по платежке №1 нужно будет перераспределять заново.
11. echo77 1906 28.02.12 20:38 Сейчас в теме
ИМХО, внешняя обработка лучше - т.к. не заставляет вносить изменения в конфигурацию. Думаю, прийдется писать свою "закрытие регистра перечисления НДФЛ в бюджет". Я думаю, это не сложно: получить остатки за указанный месяц, в разрезе ОКАТО/КПП, организации, ставки
12. kondrp 1156 28.02.12 23:25 Сейчас в теме
(11) echo77,
Возможно Вы и правы, но нам удобнее работать с распределением в документе. Ну не любят у нас бухгалтера, когда внешние обработки сами создают и проводят документы, что ж теперь поделаешь.

По поводу написания собственной обработки, ИМХО, если есть желание изобрести еще один велосипед - конечно можно. А можно воспользоваться готовыми обработками, которых тут пруд пруди.
Вот например:
Автозаполнение таблицы НДФЛ перечисленного;
Пакетное формирование документов "Перечисление НДФЛ в бюджет";
13. iotkin 01.03.12 11:44 Сейчас в теме
Написано доступно и понятно. А главное актуально для нашего предприятия. Огромное спасибо!!!
14. Cobranet123 373 06.03.12 08:11 Сейчас в теме
kondrp,
Что-то не совсем верно отрабатывает алгоритм приведенный вами, либо я не совсем понимаю его.
У меня получается:
за январь у сотрудника начислен НДФЛ на 318 руб. платежка была в феврале (в платежке переплатили), когда документом "Перечисление НДФЛ в бюджет" делаю распределение сумм по сотрудникам, то на этого сотрудника программа ставит 598 руб. По идее, по вашему алгоритму (судя из описания) должно было произойти следующее:
Движения в регистре:
январь сумма 318
февраль сумма 280
по этому сотруднику, Верно понимаю? но когда доходит вот до этого куска кода,

Если СуммаПеречислено > 0 Тогда 
   МесяцНалоговогоПериода = НачалоМесяца(МесяцНалоговогоПериода);   
   Движение      = Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Добавить();   
   Движение.Период     = ДатаПлатежа;   
   Движение.ФизЛицо    = Физлицо;   
   Движение.ВидДвижения   = ВидДвиженияНакопления.Расход;   
   Движение.Организация   = Организация;   
   Движение.МесяцНалоговогоПериода = МесяцНалоговогоПериода;   
   Движение.ОКАТО_КПП    = ОКАТО_КПП;   
   Движение.Ставка     = Ставка;   
   Движение.Сумма     = СуммаПеречислено;      
КонецЕсли; 
Показать


то происходит
МесяцНалоговогоПериода = НачалоМесяца(МесяцНалоговогоПериода),ведь у нас в документе то стоит месяц налогового периода - январь!и в регистре создаются следующие строки:
январь сумма 318
январь сумма 280
15. kondrp 1156 06.03.12 09:02 Сейчас в теме
(14) Cobranet123,
Здесь вы пытаетесь скрестить типовой и измененный механизм. В статье я это не упомянул, но реквизит "МесяцНалоговогоПериода" из формы документа я убрал и всегда устанавливаю его равным текущему месяцу (в котором платят). В этом случае алгоритм отрабатывает верно.
В вашем случае месяц налогового периода должен быть "февраль", либо можете изменить в модуле строку: "Движение.МесяцНалоговогоПериода = МесяцНалоговогоПериода" на "Движение.МесяцНалоговогоПериода = НачалоМесяца(Дата)".
16. kng67 11.03.12 11:40 Сейчас в теме
Статья актуальная. Спасибо автору!
А нашим "писакам" законов видно нечего делать, что добавили еще одну головную боль для бухгалтеров-расчетчиков. Зачем "перечислено" по сотрудикам?! Да, еще хотя бы "законотворцы" методологию распределения перечисленных сумм описали бы подробно. А то: дай то - не знаю что.
Спасибо за функционал, но не хотелось бы типовую "портить". Попробую сегодня пару обработок с Infostart. Посмотрим, что получится.
А 1С могла бы поднапрячься и написать более гибкий механизм распределения!
17. ad-lib 13.03.12 09:45 Сейчас в теме
Если я меняю конфигурацию, то после каждого обновления мне придется это повторять?
18. kondrp 1156 13.03.12 11:50 Сейчас в теме
(17) ad-lib,
Это является недостатком изменных конфигураций. Все изменения нужно тянуть за собой при обновлениях.
В данный момент я работаю над тем как развить представленный мною функционал, а заодно и вынести его из модуля объекта во внешнюю обработку.
19. kvp 21.03.12 14:05 Сейчас в теме
Пыталась внедрить в конфигурацию ЗУП, но что-то неверно работает распределение: если перечисляем больше, чем удержано за месяц, получаем по всем сотрудникам по две-три строки, например:
февраль Панюков 2200 (действительно, за февраль)
февраль Панюков 150 (это уже должно падать на март).
20. kondrp 1156 21.03.12 14:09 Сейчас в теме
(19) kvp,
Остатки которые превышают задолженность садятся в тот месяц, в который входит дата платежа. Если у вас там стоит дата из февраля, то конечно остаток переплаты сядет на февраль.
Если же я Вас неправильно понял и ошибка не в этом, распишите поподробнее.
21. kvp 22.03.12 08:47 Сейчас в теме
(20) Документ от 07 марта 2012г., дата платежа тоже 07 марта, платеж за февраль
22. kondrp 1156 22.03.12 09:01 Сейчас в теме
(21) kvp,
Хорошо. Я еще раз перепроверю модуль
23. cerg110 3 22.03.12 09:29 Сейчас в теме
Спасибо за развернутую статью. очень хорошо и понятно все расписано.
24. kondrp 1156 22.03.12 10:27 Сейчас в теме
(23) cerg110,
Если понравилась, можете отметить +. Буду Вам благодарен.
25. NPMar 29.03.12 14:06 Сейчас в теме
Очень хорошая публикации. Спасибо большое. Тем более очень все понятно, как внести изменения. И самое главное - не нужно ничего скачивать! Думаю, что такое распределение более правильное. Да и при обновлении не сложно будет добавить в конфигурацию.
26. alexsiswx 02.04.12 14:34 Сейчас в теме
У меня такое чувство,что правила по НДФЛ меняются каждый месяц или это мои бухи что-то мудрят,что не месяц, то проблемы с НДФЛ
27. alexsiswx 02.04.12 14:36 Сейчас в теме
28. kondrp 1156 02.04.12 16:16 Сейчас в теме
(27) alexsiswx,
Сообщите о результатах. Думаю будет полезно, тем более, что публикация будет развиваться
29. aplymaz 06.08.12 12:47 Сейчас в теме
Спасибо большое, помогло на бюджетной конфигурации ( ЗБУ )
30. ZVN 123 28.09.12 10:16 Сейчас в теме
Проработал статью. По регистру накоплений НДФЛ в бюджет в нескольких месяцах получилась переплата и недоплата по сотрудникам имеющих переходящий отпуск. После применения Вашего метода все стало на место. Но необходимо обязательно перепроводить все взаимосвязанные документы.Объяснил все Главбуху (она у нас ведет зарплату)она согласна с этим, но как всегда спустила Полкана на 1С "...не в состоянии сделать нормальный расчет...".
Статья хорошая и полезная.
Единственно не нашел обещанную вами обработку по этой статье.
Если ее нет попробую другие или на основе ваших модулей сделаю свою.
31. kondrp 1156 28.09.12 11:07 Сейчас в теме
(30) ZVN,
Обработку и правда хочу сделать. Вот только времени пока не хватает на все. Думаю после закрытия квартала вернусь к этому вопросу.
32. ZVN 123 28.09.12 13:08 Сейчас в теме
(31) В принципе пробовал обработку по ссылке http://infostart.ru/public/118120/
Все довольно просто и красиво, но как всегда хочется лучшего.
33. kondrp 1156 28.09.12 13:47 Сейчас в теме
(32) ZVN,
Указаная Вами обработка тоже по своему хороша. Но у меня изначально стояла задача избежать формирования дополнительных документов "Перечисление НДФЛ". Поэтому решил пойти по такому пути. Сейчас решаю задачу как оставить этот механизм, но не вносить изменения в типовую конфигурацию.
34. ZVN 123 28.09.12 16:32 Сейчас в теме
(33)Я из текста фрагмента модуля так и понял. Надо чтобы в момент формирования документа все нюансы расчета НДФЛ учитывались. А то нет защиты от дурака (Бухгалтера говорят "..Программа должна сама все считать и разносить нам и без этого работы хватает..". Я тоже попробую что нибудь на Вашей основе сварганить.
35. kondrp 1156 28.09.12 17:00 Сейчас в теме
(34) ZVN,
Если будут идеи и предложения - пишите.
36. maxim305 18 14.11.12 10:52 Сейчас в теме
"..Программа должна сама все считать и разносить нам и без этого работы хватает.."
(34) ZVN, Я так часто слышу эти слова, так смешно бывает аж горько!
37. Baibolaika 10.12.12 15:41 Сейчас в теме
Добрый день! Подскажите, пожалуйста, откуда берется запись СуммаПеречислено?
38. kondrp 1156 10.12.12 16:30 Сейчас в теме
(37) Baibolaika,
Не совсем понял вопрос.
Если Вы хотите узнать откуда попадает значение в параметр "СуммаПеречислено" функции "формироватьДвиженияПоФизлицу", то это значение из колонки "Сумма" табличной части "СотрудникиОрганизации".
Если что то другое - распишите поподробнее.
39. Baibolaika 10.12.12 17:02 Сейчас в теме
извиняюсь за не корректный вопрос
Дело в том, что у меня совсем другая конфигурация (Управление Торговлей). Но Вы написали очень хороший алгоритм..и хотела бы попробовать приделать его себе. Есть два документа, в табличной части первого документа находится график по месяцам и количество которое нужно отгрузить, а второй документ списывает его. Мне нужно распределить остатки товара в разрезе месяцев...помогите понять как будет выражаться СуммаПеречислено в таком варианте?
40. VladimirKHV 14 19.12.12 04:08 Сейчас в теме
Все конечно хорошо, и по месяцам раскидывать должно отлично, но никак не учтен момент заполнения табличных частей.
Типовым заполнением, как вы сами верно подметили, переплаты с прошлых периодов не учитываются, в итоге сумма платежки распределяется по людям не верно.
И дальнейшее распределение этих неверных сумм по месяцам приведет к еще большей путаннице по уволенным и декретникам (замучаешься выравнивать их налоги под конец года)

Я у себя автозаполнение подправил следующим образом, в Автозаполнение() изменил условие в строчке
И МесяцНалоговогоПериода >= &МесяцНалоговогоПериода

а в параметрах МесяцНалоговогоПериода сделал началом года
минус в том, что перед перезаполнением документ надо обязательно делать непроведенным

ЗЫ. Посмотрел внимательно обработку.
1) Установка КонцаДня в параметре период запроса, как тут выше верно подметили, явно лишняя
2) Остатки собираются за все периоды, то есть если где-то в 20хх лохматом году было неверное распределение НДФЛ, то оно непременно его захочет сейчас перераспределить
3) И все же непонятно, как закрываются лжепереплаты (пример: 29.10 выплачиваются отпускные за переходящий ноябрь-декабрь отпуск, в регистре расчетов по НДФЛ записей нет, так как еще не расчитана ЗП, бух удерживает с отпускных налог и перечисляет в бюджет, период ставит октябрь. В дальнейшем, после расчета ЗП, налоги исчисленный и удержанный с отпускных пойдут соответственно в ноябрь-декабрь). Следуя логике процедуры она сочтет эти суммы переплатой, и так и поставит их на указанный месяц (октябрь), как и типовая обработка.
41. fnv 08.02.13 12:11 Сейчас в теме
За изложение теории спасибо большое.
Все же я за сохранение максимально типового механизма, т.е., за первый вариант (внешнюю обработку).
42. kravius12 41 17.06.13 11:47 Сейчас в теме
Спасибо за статью, то что надо. 1С ники как всегда "лицом" к народу: все для удобства как говориться. Неужели кто нибудь пишет эти письма о возврате НДФЛ, бред по - моему.
43. kondrp 1156 17.06.13 13:08 Сейчас в теме
(42) kravius12,
Всегда рад помочь.
Возможно кто то и пишет, а кто то не парится, а кто то вообще не знает, что надо делать.
А еще возможно уже что то изменилось в законодательстве, статье то уже более года.
Будет время - займусь актуализацией вопроса
fktrc171; +1 Ответить
44. fktrc171 30.01.14 15:13 Сейчас в теме
Может актуализировать вопрос, ведь уже опять надо сдавать 2-НДФЛ за 2013г.
45. kondrp 1156 06.02.14 10:25 Сейчас в теме
(44) fktrc171,
Добрый день.
А есть какие то изменения или ошибки в функционале ?
Пишите, буду разбираться
46. VladimirKHV 14 06.02.14 13:51 Сейчас в теме
(45)
В процедуре СформироватьДвиженияПоФизлицу() необходимо все строки с "ОКАТО_КПП" продублировать "ОКТМО_КПП".
То же самое сделать в запросе в Функции ПолучитьТаблицуРаспределенияПоФизлицу()

Хотя... У меня они давно переделанные, поэтому у вас может еще чего где подправить.
Но общий посыл надеюсь понятен, с этого года весь НДФЛ переведен с ОКАТО на ОКТМО
47. kondrp 1156 06.02.14 14:14 Сейчас в теме
(46) VladimirKHV,
Извиняюсь :)
Конечно Вы правы насчет ОКТМО. Обязательно посмотрю и обновлю статью
48. Gen-buk 13 19.03.14 15:39 Сейчас в теме
За Статью Спасибо!!! Возможно Сохранение стандартного функционала и добавление существующей "доработки" ?
49. ABVera 48 28.11.14 08:57 Сейчас в теме
Мда... "Обрадую" расчетчика, спасибо за объяснение как это всё прописано в 1С простым языком!
50. rassss 26.02.15 08:58 Сейчас в теме
Добрый день.У нас сотруднику за январь начислено 2600 НДФЛ. 12.02.2015 делаем платежку на этого сотрудника на 3000 руб. в регистре появляются сл записи
31.01.2015 январь + 2600
12.02.2015 январь -2600
12.02.2015 январь -400

Почему?
Оставьте свое сообщение