Автозаполнение документов "Перечисление НДФЛ в бюджет РФ"


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

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

Первоначально обработка  была универсальна в части загрузки данных о платежных поручениях (шапки документов), теперь и в части заполнения табличных частей. Для чего после заполнения шапки обработка вызывает встроенную (штатную) процедуру заполнения табличной части документов для той конфигурации, в которую эти документы загружаем, тем самым решая проблему того, что в разных конфигурациях алгоритмы распределения отличаются из-за отличий в наборе исходных данных, кроме этого многие сами меняют эти алгоритмы - ну и пожалуйста! Для реализации этого функционала необходима 1Сpp.dll (где её взять см. в подсказке в полю "ИнфБаза") в папке с обработкой.

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

Для правильной работы обработки важно, чтобы в разрезе аналитики "Перечисление.ВидыПлатежей.Налог" на 68.1 счете у вас было реальное сальдо, а то случается всякое... 

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

В создаваемых документах ставка налога 13%. 

27/02/12

Исправлена ошибка аналитики 68 счета при загрузке из БухОСНО.

Исправлена ошибка определения кода ОКАТО при загрузке, если Выписка была разнесена не по ПлатПоручениям, а по документам "Операция по расчетному счету" .

********************

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

При расчете НДФЛ перечисленного 1Скины используют коеффициент=СуммаПеречислено / ВсегоУдержано, который определяет какая доля исчисленного (или удержанного) у сотрудника НДФЛ перечислена в бюджет РФ конкретным документом    ПеречислениеНДФЛвБюджет.

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

И теперь самое интересное- ВсегоУдержано . 1Скины берут его из 4-й колонки своей фирменной таблицы         ДоходыВычетыНалогиСотрудников.

                        //  4  колонка содержат суммы НДФЛ исчисленного  нарастающим итогом с начала года, собранного по периоду действия – их же комментарий к этой таблице.

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

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

Начислили человеку отпуск в декабре за январь 10000 руб., НДФЛ  (1300 руб.) с него удержали в декабре, отпускные выплатили в декабре, платежка на всю сумму НДФЛ начисленного в декабре прошла в декабре или январе,  В предлагаемом варианте перечисление НДФЛ в бюджет пройдет с декабрьской или январской датой оплаты за декабрь в размере 1300 руб., т.к. коэффициент в декабре будет  1 – 1300 перечислили, 1300 НДФЛ по регистрации=в Своде за декабрь, все что удержали, то и перечислили, и попадет в регистр НДФЛ прошлого года в декабрь (если это декабрь 2010, то никуда не попадет, т.к. регистра еще не было, а в 1-НДФЛ не было данных по уплате).

А начисленный НДФЛ в размере 1300 руб. пройдет в регистре НДФЛ в январе текущего года. Никаких нарушений это не вызовет. В декабре перечислили НДФЛ – не могли не перечислить, т.к. доход выплачен через кассу, таковы правила, установленные не нами. И по регистру НДФЛ  вроде как возникает переплата. В январе же по регистру проходит исчисленный НДФЛ 1300руб. – по регистру этого года возникает недоплата.

В штатной обработке, если вы оплатили по январскому своду все до копейки, в простейшем случае, когда переходящих начислений кроме указанного больше нет, коеффициент  в январе у вас будет: СуммаПеречислено /(СуммаПеречислено +1300)

Итак, казалось бы ничего сложного: в штатной обработке в процедуре ЗаполнитьТаблицуНалогов находим

НомерКолонки = ?(ЗаполнятьПоНачисленному=1,4,"НУ1");

и меняем 4 на 7 

НомерКолонки = ?(ЗаполнятьПоНачисленному=1,7,"НУ1");

                 //  7  колонка содержат суммы НДФЛ исчисленного нарастающим итогом с начала года, собранного по периоду регистрации. (1С комментарий в Глобальном модуле Функции глСобратьДанныеДляНДФЛ2011)

 Заполнять НДФЛ  при этом будем  «по начисленному».

Вуаля!

Упс… Не работает – тот же результат, что и прежде.

Оказыается, 1Скины уже давно налог по регистрации определяют как:

            Если ((ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержанныеНДФЛ)=1) или (ВР.ВходитВГруппу(ГруппаРасчетов.ВсеИсчисленныеНДФЛ)=1))
            и (
ПериодДействия>=НачалоГода) и (ПериодДействия<=ОкончаниеГода) Тогда
               
//налоги
               
НалогиПоРегистрации=1;
            КонецЕсли;

Так было и в глСобратьДанныеДляНДФЛ2005. И они всегда получают налог по регистрации равным налогу по периоду действия. Посмтрела в трассировке НДФЛ для сотрудника с переходящим расчетом - НДФЛ по прериоду регистрации в январе стоит и декабрьский и январский. Это разве правильно?

Я исправила это на:

            Если ((ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержанныеНДФЛ)=1) или (ВР.ВходитВГруппу(ГруппаРасчетов.ВсеИсчисленныеНДФЛ)=1))
            и (
ПериодРегистрации>=НачалоГода) и (ПериодРегистрации<=ОкончаниеГода) Тогда
               
//налоги
               
НалогиПоРегистрации=1;
            КонецЕсли;

И получаем ожидаемый, описанный выше результат. Более того, я проверила как теперь считается НДФЛ для сотрудников, имеющих переходящие отпуска с декабря на январь – вроде правильно все считается. Но терзают меня смутные сомнения, а вдруг это у них не ошибка, вдруг в этом есть какой-то очень глубокий тайный смысл?

Можно, конечно, и самим собрать весь НДФЛ в месяце по периоду регистрации, но тогда штатную обработку         ЗаполнитьТаблицуНалогов  придется переделывать гораздо существеннее. А тут все так красиво получается. Кто что думает?

**************

29/02/12

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

Кроме этого, настоятельно рекомендуется отключить в бухгалтерии, из которой происходит загрузка данных, "Запрос подтверждения выхода из программы" (Сервис-Индивидуальная настройка) для того пользователя, под которым происходит авторизация в OLE-базе.

Организациям, у которых в течении года изменился ОКАТО.

Автозаполнение табличных частей заполнит только те документы, которые относятся к периоду, ОКАТО  которого установлен в настройках. Документы другого периода в части табличных частей будут пусты. Вопрос как заполнять документя периода со старым ОКАТО сейчас решаю. Видимо, новый ОКАТО нужно будет ставить везде.

15/03/12

Признак использования ручного сальдо. Если флажек не установлен, то сальдо будет определено автоматически.
Используется для тех случаев, когда у вас на 68 счете "болтается" сальдо в несколько копеек, которое при распределении учитывать не следует.

05/04/12

Для получения возможности использования способа распределения "по удержанному" в ЗиК рекомендую в функции ЗаполнитьТаблицуНалогов() модуля формы документа ПеречислениеНДФЛвБюджет приведенный ниже фрагмент исправить следующим образом, т.к. сумма НДФЛ удержанного в 10-м столбце полностью соответствует сумме перечисленного налога, если вы перечисляете "по удержанному" (из свода проводок), нежели "причесанная" сумма для форм отчетности в столбце "НУ1":

        Если (Ставка = Ставка13) или (Ставка = Ставка30) Тогда

           
//НомерКолонки = ?(ЗаполнятьПоНачисленному=1,4,"НУ1");
           
НомерКолонки = ?(ЗаполнятьПоНачисленному=1,7,10); //Исправление для корректного распределения

           
СуммаНалогаУдержанная  = Окр(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,НомерКолонки));
            Если
НомерМесяца>1 Тогда
               
СуммаНалогаУдержанная  = СуммаНалогаУдержанная - Окр(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,НомерКолонки));
            КонецЕсли;

        КонецЕсли;

 

 

       

Файлы обработки:

-