Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> НДФЛ. Учет НСЛ с больничных.          
sVasilich Подменю пользователя
сообщение 22.03.11, 15:24
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

После 29-го релиза ЗиК столкнулся с проблемой при расчете НДФЛ.

Вот код из модуля расчета НДФЛ, место где формируются суммы уменьшения базы для каждого вида доходов.
тбПоВидамДохода.ВыбратьСтроки();
    Пока тбПоВидамДохода.ПолучитьСтроку() = 1 Цикл
        
        спДопПараметры.Установить("Облагаемое", тбПоВидамДохода.Сумма);
        спДопПараметры.Установить("ВидДохода", тбПоВидамДохода.ВидДохода);
    
        спЛьготы = глПолучитьЛьготыДляНалога(Объект,"НалогНаДоходыФЛ", НачПериода, спДопПараметры);
        Если флАванс = 1 Тогда
        Иначе    
            тбПоВидамДохода.СуммаУменьшенияБазы = тбПоВидамДохода.СуммаУменьшенияБазы + Число(спЛьготы.Получить("СуммаУменьшенияБазы"));
        КонецЕсли;
        глТрассировка("Средние показатели по доходу " + тбПоВидамДохода.ВидДохода + ": Сумма = " + тбПоВидамДохода.Сумма + " СуммаУменьшенияБазы = " + тбПоВидамДохода.СуммаУменьшенияБазы, 1);
    КонецЦикла;


В 29-м релизе был добавлен вид дохода "Больничный". В следствие этого, в ситуациях когда, например Зарплата (вид дохода) у человека 1000 грн, а Больничный 500, срабатывает НСЛ (в глПолучитьЛьготыДляНалога попадает Облагаемое 1000грн, меньше чем порог получения льготы). Естественно, что при попытке пересчитать февральскую зарплату на новом релизе, часть больничных "поплыла".

Попытался решить проблему так: рассчитать вначале Облагаемое как Зарплата + Больничные, и, от этой суммы посчитать сумму уменьшение базы для налога по льготам. Потом эту сумму прибавить к каждому виду дохода.
//Рассчитаем отдельно сумму уменьшения базы по льготам
    СуммаУменьшенияБазыПоЛьготам=0;
    тбПоВидамДохода.ВыбратьСтроки();
    Облагаемое = 0;
    Пока тбПоВидамДохода.ПолучитьСтроку()=1 Цикл
        Если (тбПоВидамДохода.ВидДохода = "Зарплата") ИЛИ (тбПоВидамДохода.ВидДохода = "Больничный") Тогда
            Облагаемое=Облагаемое+тбПоВидамДохода.Сумма;
        КонецЕсли;
    КонецЦикла;  
    спДопПараметры.Установить("Облагаемое", Облагаемое);
    спДопПараметры.Установить("ВидДохода", "Зарплата");
    спЛьготы = глПолучитьЛьготыДляНалога(Объект,"НалогНаДоходыФЛ", НачПериода, спДопПараметры);
    СуммаУменьшенияБазыПоЛьготам = Число(спЛьготы.Получить("СуммаУменьшенияБазы"));
    тбПоВидамДохода.ВыбратьСтроки();
    Пока тбПоВидамДохода.ПолучитьСтроку() = 1 Цикл
        Если  флАванс=0 Тогда
            тбПоВидамДохода.СуммаУменьшенияБазы = тбПоВидамДохода.СуммаУменьшенияБазы + СуммаУменьшенияБазыПоЛьготам;
        КонецЕсли;
    КонецЦикла;


В итоге получилась ошибка на другом сотруднике:
Пособие по берем. и родам 11,794.86
Оплата больн. 343.08
Допл. по больн. 343.08
Отпускные 540.30
Всего начислено 13,021.32

Единый социальный взнос 19.45
ЕСВ больничный 13.72
Профсоюзный взнос 12.26
Налог на доходы физ.лиц 37.84

А должно быть (1226,46-33,17-470,50)*0,15=108,42.

Подскажите, как исправить ошибку.

sVasilich Подменю пользователя
сообщение 23.03.11, 9:00
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

Разбил сумму уменьшения базы по льготам пропорционально для каждого вида дохода. Вроде всё правильно работает.

//Рассчитаем отдельно сумму уменьшения базы по льготам
    СуммаУменьшенияБазыПоЛьготам=0;
    тбПоВидамДохода.ВыбратьСтроки();
    Облагаемое = 0;
    Пока тбПоВидамДохода.ПолучитьСтроку()=1 Цикл
        Если (тбПоВидамДохода.ВидДохода = "Зарплата") ИЛИ (тбПоВидамДохода.ВидДохода = "Больничный") Тогда
            Облагаемое=Облагаемое+тбПоВидамДохода.Сумма;
        КонецЕсли;
    КонецЦикла;  
    
    спДопПараметры.Установить("Облагаемое", Облагаемое);
    спДопПараметры.Установить("ВидДохода", "Зарплата");        
    спЛьготы = глПолучитьЛьготыДляНалога(Объект,"НалогНаДоходыФЛ", НачПериода, спДопПараметры);
    СуммаУменьшенияБазыПоЛьготам = Число(спЛьготы.Получить("СуммаУменьшенияБазы"));
    
    Если Облагаемое=0 Тогда
        СуммаУменьшенияБазыПоЛьготам = 0;
    Иначе
        СуммаУменьшенияБазыПоЛьготам = СуммаУменьшенияБазыПоЛьготам/Облагаемое;
    КонецЕсли;
    спЛьготы="";
        
    тбПоВидамДохода.ВыбратьСтроки();
    Пока тбПоВидамДохода.ПолучитьСтроку() = 1 Цикл
        Если  флАванс=0 Тогда
            тбПоВидамДохода.СуммаУменьшенияБазы = тбПоВидамДохода.СуммаУменьшенияБазы + тбПоВидамДохода.Сумма*СуммаУменьшенияБазыПоЛьготам;
        КонецЕсли;
    КонецЦикла;

igmig65 Подменю пользователя
сообщение 23.03.11, 9:07
Сообщение #3

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

Может я чтото не понял. В новом релизе при расчет 1 половины зарплаты добавлена возможность неприменять льготу, что и требовалось. У вас соответственно изменились расчеты, вы переплатили суммы. При полном расчете все выравняется.

sVasilich Подменю пользователя
сообщение 23.03.11, 9:12
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

igmig65, дело в том, что у нас всего один расчет зарплаты. Бухгалтера решили платить аванс по старинке - процентом от оклада, по этому и зарплата рассчитывается один раз.
Хотя, очень возможно что мы просто неправильно проводим расчёт зарплаты %)

igmig65 Подменю пользователя
сообщение 23.03.11, 9:16
Сообщение #5

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

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

Спасибо сказали: sVasilich,

igmig65 Подменю пользователя
сообщение 23.03.11, 9:21
Сообщение #6

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

И еще раз, ведь все равно уже при окончательном расчете вам все пересчитает правильно учитывая льготу и уже выплаченный аванс, зачем этот гемор, все равно в итоге выплатите остаток

sVasilich Подменю пользователя
сообщение 23.03.11, 9:21
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

Спасибо. Получается 2 дня подряд велосипед изобретал?)) Буду пробовать по вашему совету.

"и неставь галку аванс в Расчете ЗП"

Это в смысле "Без дополнительных начислений"? Не ставлю. Пришёл к тому, с чего начал. У человека по текущему периоду:
Оклад/тариф 1,159.65
Допл. персональная 85.37
Оплата больн. 202.85

Единый социальный взнос 44.82
ЕСВ больничный 4.06
Профсоюзный взнос 11.24
Налог на доходы физ.лиц 139.27

а должно быть
Налог на доходы физ.лиц 209.85

Т.е. по Зарплате 1245,02<меньше порога получения соц. льготы. Она и сработала.

5_kopeek Подменю пользователя
сообщение 23.03.11, 11:32
Сообщение #8

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

А если константе Метод расчета НДФЛ установить значение Нет, ничего не меняется?

sVasilich Подменю пользователя
сообщение 23.03.11, 11:38
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

5_kopeek, так и стоит.

igmig65 Подменю пользователя
сообщение 24.03.11, 13:49
Сообщение #10

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

Я сразу непонял о чем сдесь речь. Счас сам с этим столкнулся. У вас получается что берет льготу при расчете НДФЛ, а нужно чтоб не брало, так как расчитывется начисленная ЗП в текущем месяце. Нужно ставить галку "Без дополнительных начислений" в доке Расчет ЗП, тогда льгота неначислится.
    Если флАванс = 1 Тогда
    Иначе    
        тбПоВидамДохода.СуммаУменьшенияБазы = тбПоВидамДохода.СуммаУменьшенияБазы + Число(спЛьготы.Получить("СуммаУменьшенияБазы"));
    КонецЕсли;

если будет стоять флаг, то флАванс = 1.
Но вот у меня возникла ситуация: , а как быть если в течении месяца были начисления только больничных, и все за счет соцстраха, и сумма меньше порога для предоставления льготы, тоесть льгота должна предоставиться. Как же быть с проводками по 663, например если у нас есть начисления и 661 и 663 и НСЛ применяется то мы с 663 начисляем НДФЛ без НСЛ, но он компенсируется на 661(остаток), а как же быть если только 663? У меня скоро с этими нововведениями скоро начнет крыша ехать. Ну и намудрили, этих бы этих муд....аков посадить вместо расчетчиков на месяц, чтоб расчитали и отчитались так как сами намудили.

5_kopeek Подменю пользователя
сообщение 30.03.11, 21:21
Сообщение #11

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

igmig65, насколько я поняла, речь идет не о начислении аванса (или ЗП за 1-ую половину месяца), а обычной ЗП. В облагаемую базу попадает только ЗП, исходя из этой базы определяется, есть ли право на льготу. Если, например, начислен Оклад и Больничные и при этом Оклад+Больничные > ПорогаЛьготы, а Оклад < ПорогаЛьготы, то НСЛ все равно учитывается. А не должен. Неужели надо вручную определять для каждого сотрудника (у которых были начисления больничных), превышают ли начисления для него порог, а потом для каждого отдельно проводить РасчетЗП, в котором тем, чей доход превышает, ставить галку, а тем, чей не превышает, не ставить?

sVasilich Подменю пользователя
сообщение 30.03.11, 22:07
Сообщение #12

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

5_kopeek, да, да именно это. Здесь всё сводится к тому, что нужно будет чуть ли не для каждого человека Расчет зарплаты отдельный проводить. Что глупо.

В общем, вроде бухгалтерия пока что одобрила моё решение (см. пост 2): посчитать льготы для вида дохода Зарплата+Больничные. На неделе будем ещё раз проверять.

igmig65 Подменю пользователя
сообщение 31.03.11, 0:17
Сообщение #13

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

Мне гл.бух все нервы вытрепала с этими налогами на СС больничный. ЕСВ ладно, А вот НДФЛ....да еще НСЛ. Короче какую я ей конфетку непоказывал, чтобы избежать этого гемороя, неест. Седня мне показала пример. Тоже пропорционально, но не саму льготу, а сам НДФЛ. Тоесть Например Насчитано всего 2500, из них 300 больничные СС, всего НДФЛ - пусть 400, так вот НДФЛ на больн.СС = 300/2500*400. В принципе нормально, но чтобы уж все было нормально, то нужно незабывать о том что базы НДФЛ разбиваются по периодам, допустим что из этих 300 200 это за пред.месяц, соответственно база для НДФЛ в текщем увеличилась, а если повлияла на льготу....Да куча нюансов еще может быть. Интересно, если я припилю такой пересчет по периодам, учитывая уже взятый НДФЛ, а вдруг проверка, как они интересно, обяснят почему они сняли такую то сумму НДФЛ...

sVasilich Подменю пользователя
сообщение 31.03.11, 7:49
Сообщение #14

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

igmig65, зачем такие сложности. Умножайте на ставку, как обычно, на теже цифры выходим:

Всего 2500
Больн. 300
НДФЛ 400


300/2500*400+2200/2500*400=48+352=400

400/2500=0,16 (ставка ндфл для данного случая)

2200*0,16=352
400*0,16=64


Здесь релиз 29 правильно работает. Он только при НСЛ сумму уменьшения базы неверно берёт: и для 2200 сумма 470,50 и для 400 - 470,5.

sVasilich Подменю пользователя
сообщение 31.03.11, 7:52
Сообщение #15

Говорящий
***
Группа: Пользователи
Сообщений: 59
Из: Донецк
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(sVasilich @ 31.03.11, 9:49) *
400*0,16=64



т.е. 300*0,16=48

не то скопировал)

igmig65 Подменю пользователя
сообщение 01.04.11, 9:49
Сообщение #16

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

Цитата
300/2500*400+2200/2500*400=48+352=400
400/2500=0,16 (ставка ндфл для данного случая)
2200*0,16=352
300*0,16=48

Ну да, тоже самое, матиматика... Но я не то хотел сказать, это только алгоритм расчета по базам начислений. Я акцентировал внимание на другое.
Напрмер из этих 300, 200 это за пред.месяц. Что получается, база пред.месяца увеличивается, и возможно корректируется НСЛ, что приводит к некорректности такого расчета, без разделения по периодам, а тоесть на том же примере, только добавим данные пред.месяца:
База февраль 1300, из них 300 больничные СС и 200 за счет предпр., НДФЛ составил:
(1300 - 800*0,036 - 500*0,02 - 470,5)*0,15 = 118,61 =>
НДФЛ на СС = 118,61/1300 * 300 = 27,37
Теперь март:
База 2500, из них СС - 300 , НДФЛ 400.
Но....
Из 300 200 за февраль, и из 2200 200 доплата по больничным тоже за февраль =>
в марте февральская база увеличилась на 400 =>
НДФЛ в марте за февраль = (1700-800*0,036-900*0,02)*0,15 = 247,98 - 118,61(уже удерж.) = 129,37 =>
НДФЛ на СС = 247,98/1700 * 500 = 72,94 - 27,37(уже удерж.) = 45,57
Ну и плюс мартовские, там просто.
Вот в такой схеме меня глбух УБЕДИТЕЛЬНО просит считать НДФЛ на Больничные соцстраха. Ну, то что 5 ей поставить можно, я не спорю, НО....
НАФИГА ОНО НУЖНО. Какой блин расчетчик обяъснит и расшифрует эту фигню при проверке, если спросят, а почему вы именно такую сумму НДФЛ сняли.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 1:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!