Пониженные ставки по страховым взносам с 01.04.2020 в ЗиК 7.7

Публикация № 1230563

Учет и отчетность - Зарплата

ЗиК 7.7 страховые взносы пониженные ставки 2020

Доработка конфигурации ЗиК 7.7 (релиз 7.70.371) для расчета страховых взносов по пониженным ставкам с 01.04.2020.

1С официально прекратила поддержку ЗиК 7.7. Это печально :-(

Цель публикации помочь тем кто "героически" продолжает вести учет в ЗиК 7.7 :-)

Изменение ставок на сайте налоговой https://www.nalog.ru/rn22/news/activities_fts/9720686/

Доработка изменяет ТОЛЬКО сумму расчета взносов, но НЕ изменяет выгрузку данных для сдачи отчетности.

В комментариях есть ссылка на проект "продолжения поддержки ЗиК 7.7", можно смотреть там что есть полезного

Чтобы ЗиК 7.7 начала рассчитывать взносы по пониженным ставкам нужно доработать модули расчета, у нас их три.

Во всех местах будем вставлять код после стандартного расчета переменной Результат

ВидРасчета.ПФРПоСуммарномуТарифу.МодульРасчета

	Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
	// %изм% Mx Начало ПФР2020
	Если ДатаОкончания>='01.04.2020' Тогда
		_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаПФР");
		_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаПФР");
		// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
		_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
		// МРОТ берём из константы
		_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
		_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания);
		// Если предел был пройден в прошлых месяцах то применяем ставку 10%
		Если _БазаПоПрошлыйМесяц>_Предел Тогда
			Результат=_БазаТекущийМесяц*10/100;
		Иначе
			Если _БазаТекущийМесяц<_МРОТ Тогда
				Результат=_БазаТекущийМесяц*СтавкаТарифа;
			Иначе
				Если _БазаПоПрошлыйМесяц+_МРОТ>_Предел Тогда // Если граница превышения попадает на МРОТ
					_МРОТ=_Предел-_БазаПоПрошлыйМесяц; // Уменьшим облагаемую базу по "основной" ставке тарифа
				КонецЕсли;
				Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*10/100;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	// %изм% Mx Конец ПФР2020

ВидРасчета.ФФОМСс2010.МодульРасчета

		Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
		// %изм% Mx Начало ПФР2020
		Если ДатаОкончания>='01.04.2020' Тогда
			_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФОМС");
			_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФОМС");
			// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
			_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
			// МРОТ берём из константы
			_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
			_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания);
			// Для ФФОМС НЕТ ПРЕДЕЛА !!! всегда расчет происходит до и после МРОТ
			Если _БазаТекущийМесяц<_МРОТ Тогда
				Результат=_БазаТекущийМесяц*СтавкаТарифа;
			Иначе
				Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*5/100;
			КонецЕсли;
		КонецЕсли;
		// %изм% Mx Конец ПФР2020

ВидРасчета.ФССс2010.МодульРасчета

		Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
		// %изм% Mx Начало ПФР2020
		Если ДатаОкончания>='01.04.2020' Тогда
			_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФСС");
			_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФСС");
			// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
			_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
			// МРОТ берём из константы
			_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
			_Предел=Константа.ПредельнаяВеличинаБазыФСС.Получить(ДатаОкончания);
			// Если предел был пройден в прошлых месяцах то применяем ставку 0%
			Если _БазаПоПрошлыйМесяц>_Предел Тогда
				Результат=_БазаТекущийМесяц*0;
			Иначе
				Если _БазаТекущийМесяц<_МРОТ Тогда
					Результат=_БазаТекущийМесяц*СтавкаТарифа;
				Иначе
					Если _БазаПоПрошлыйМесяц+_МРОТ>_Предел Тогда // Если граница превышения попадает на МРОТ
						_МРОТ=_Предел-_БазаПоПрошлыйМесяц; // Уменьшим облагаемую базу по "основной" ставке тарифа
					КонецЕсли;
					Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*0;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
		// %изм% Mx Конец ПФР2020

Релиз конфигурации 1С ЗиК 2.3 (7.70.371), релиз платформы 1С 7.70.027

Если кому удобно посмотреть готовые модули, то можно скачать файл 1cv7.md вкотором всё описанное уже присутствует.

Если конфигурация не измененная, то можно в конфигураторе провести процесс "Объединение конфигураций..." и получить готовый результат.

Дополнение: попытался проверить расчет с превышением предела в 1С ЗУП 3.1 (3.1.13.151)  и что-то там специфическая логика - в месяце превышения сумма МРОТ (пропорционально) делится на части и одна относится к 22%, а другая к 10%... в общем, я ничего не понял :-)
прошло два месяца и в 1С наконец-то сделали правильный расчет взносов в месяце превышения предела в ЗУП 3.1.14.97

Обновление 06.07.2020 - поправил модули для случая когда граница превышения попадет на МРОТ (обсуждалось в комментариях)

Скачать файлы

Наименование Файл Версия Размер
файл 1cv7.md для "объединения"

.zip 8,27Mb
51
.zip 8,27Mb 51 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ray1978 01.05.20 07:03 Сейчас в теме
Вчера позвонили клиенты, что на ЗиК еще сидят и спросили : "что будем делать?"

Я решил, что пока быстрее можно внести изменения, чем перевести на восьмерку за пару дней и научить за тоже количество дней ;)

Внес такие же изменения.

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

Автору топика респект!
2. Serg12 13 04.05.20 16:09 Сейчас в теме
Спасибо тебе, Добрый человек!!!
3. safiamed 06.05.20 11:27 Сейчас в теме
4. petruxa 07.05.20 09:05 Сейчас в теме
Спасибо большое!
Я только убрал предел в расчете по ФОМС.
5. nnn_57 07.05.20 14:57 Сейчас в теме
Спасибо огромное, есть еще хорошие и добрые люди.
6. ninaK 08.05.20 04:10 Сейчас в теме
Спасибо. Считает все нормально.
7. goncharov82 08.05.20 08:24 Сейчас в теме
Спасибо, постараюсь допилитьЮ не понятны мне законодательные повороты
8. user656122_bober38 08.05.20 18:38 Сейчас в теме
Немного поправил Ваш алгоритм
теперь правильно считает все границы превышения
ФСС
		// %изм% Mx Начало ПФР2020
		Если ДатаОкончания>='01.04.2020' Тогда 
			СуммДоПревышения=0;
			_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФСС");
			_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФСС");
			// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
			_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
			// МРОТ берём из константы
			_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
			_Предел=Константа.ПредельнаяВеличинаБазыФСС.Получить(ДатаОкончания);
			// Если предел был пройден в прошлых месяцах то применяем ставку 0%   
			_Облогаемаябаза=0;_ОблагаемаяСтараяставка=0; _ОблагаемаяНоваяставка=0;
			
			Если _БазаПоПрошлыйМесяц>_Предел Тогда
				Результат=_БазаТекущийМесяц*0;
			Иначе
				Если _БазаПоТекущийМесяц>=_Предел Тогда //Превышение предела в текущем месяце    
					_Облогаемаябаза=_Предел-_БазаПоПрошлыйМесяц; 
				Иначе    //Превышение предела Нет
					_Облогаемаябаза =_БазаТекущийМесяц;
				Конецесли;
				
				Если _Облогаемаябаза>=_МРОТ Тогда
					_ОблагаемаяСтараяставка=_МРОТ;
					_ОблагаемаяНоваяставка = _Облогаемаябаза-_МРОТ;
				Иначе
					_ОблагаемаяСтараяставка=_Облогаемаябаза; 
					_ОблагаемаяНоваяставка =0;
				Конецесли;
				
				Результат=_ОблагаемаяСтараяставка*СтавкаТарифа+(_ОблагаемаяНоваяставка)*0;	
			
			КонецЕсли;
		КонецЕсли;
		// %изм% Mx Конец ПФР2020
Показать


ФОМС
		// %изм% Mx Начало ПФР2020
		Если ДатаОкончания>='01.04.2020' Тогда
			_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФОМС");
			_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФОМС");
			// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
			_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
			// МРОТ берём из константы
			_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
			_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания); 
			_Облогаемаябаза=0;_ОблагаемаяСтараяставка=0; _ОблагаемаяНоваяставка=0;
			_Облогаемаябаза =_БазаТекущийМесяц;
			Если _Облогаемаябаза>=_МРОТ Тогда
				_ОблагаемаяСтараяставка=_МРОТ;
				_ОблагаемаяНоваяставка = _Облогаемаябаза-_МРОТ;
			Иначе
				_ОблагаемаяСтараяставка=_Облогаемаябаза; 
				_ОблагаемаяНоваяставка =0;
			Конецесли;
			Результат=_ОблагаемаяСтараяставка*СтавкаТарифа+(_ОблагаемаяНоваяставка)*5/100;		
			
		КонецЕсли;
		// %изм% Mx Конец ПФР2020
Показать


ПФР
	// %изм% Mx Начало ПФР2020
	Если ДатаОкончания>='01.04.2020' Тогда 
		_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаПФР");
		_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаПФР");
		// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
		_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
		// МРОТ берём из константы
		_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
		_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания);
		// Если предел был пройден в прошлых месяцах то применяем ставку 10%     
		_Облогаемаябаза=0;_ОблагаемаяСтараяставка=0; _ОблагаемаяНоваяставка=0;
		Если _БазаПоПрошлыйМесяц>=_Предел Тогда
			Результат=_БазаТекущийМесяц*10/100;
		Иначе
			Если _БазаПоТекущийМесяц>=_Предел Тогда //Превышение предела в текущем месяце    
				_Облогаемаябаза=_Предел-_БазаПоПрошлыйМесяц;    
				_ОблогаемаябазаСверхпредела= _БазаПоТекущийМесяц- _Предел;
			Иначе    //Превышение предела Нет
				_Облогаемаябаза =_БазаТекущийМесяц;
			Конецесли;
			
			Если _Облогаемаябаза>=_МРОТ Тогда
				_ОблагаемаяСтараяставка=_МРОТ;
				_ОблагаемаяНоваяставка = _Облогаемаябаза-_МРОТ;
			Иначе
				_ОблагаемаяСтараяставка=_Облогаемаябаза; 
				_ОблагаемаяНоваяставка =0;
			Конецесли;
			
            Результат=_ОблагаемаяСтараяставка*СтавкаТарифа+(_ОблагаемаяНоваяставка)*10/100+(_ОблогаемаябазаСверхпредела)*10/100;
		
		КонецЕсли;
	КонецЕсли;
	// %изм% Mx Конец ПФР2020
Показать
9. ussrussr 08.05.20 22:39 Сейчас в теме
(8) спасибо большое! Только у Вас по ФОМСу не обработан предел. И почему в куске для ПФР
Если _БазаПоПрошлыйМесяц>=_Предел Тогда
Результат=_БазаТекущийМесяц*10/100;

результат должен же быть равен 0. Разве нет?

И в чём может быть ещё проблемы кроме выгрузки для сдачи отчётности (как пишет автор статьи)?
10. user656122_bober38 09.05.20 13:03 Сейчас в теме
(9)
БазаПоПрошлыйМесяц>=_Предел Тог

https://pravovest-audit.ru/nashi-statii-nalogi-i-buhuchet/kak-nachislyat-strakhovye-vznosy-s-1-aprelya-2020-goda-coronavirus/
По ФОМС предела пео факту нет
По ПФР при превышении предела ставка 10%
11. user656122_bober38 09.05.20 13:32 Сейчас в теме
Вас по ФОМСу не обработан предел.

По факту зависимости ставк от предела у ФОМС нет
результат должен же быть равен 0. Разве нет?

Нет.
(9)
16. Mx00 233 06.07.20 06:08 Сейчас в теме
(11) Спасибо за модули, поправил в статье и в конфигурации.
отдельное спасибо за ФФОМС - что-то я сильно тупил в самом начале :-)
12. Fedor1970 31 12.05.20 12:05 Сейчас в теме
Есть обновления 1С ЗиК выполненные без участия 1С. Считает, в том числе страховые правильно.
http://f5for1c.ucoz.net/index.htm
Актуальная версия на момент написания поста v.7.70.373 от 07.05.2020
Korben Dallas; Archivarius; user764649; Monkisio; +4 Ответить
13. safiamed 15.05.20 08:48 Сейчас в теме
(12)Какая прелесть! Спасибо большое!
21. Eos 03.08.20 07:03 Сейчас в теме
(12) Добрый день! Обновил ЗиК до последней версии 7.70.376, но все равно при формировании регистра учета начисления налогов, включаемых в состав расходов получается странная разбивка по эффективным ставкам (22%, 20,13% и 16,33%). При том, что общая сумма верная. Может у кого-то была похожая проблема? Подскажите пожалуйста, в чем может быть дело?
22. Mx00 233 03.08.20 15:32 Сейчас в теме
(21) там отдельная обработка для отчётности РСВ, которая с рекламой
14. ussrussr 18.05.20 13:29 Сейчас в теме
Автор, если интересно, сравните комплексную 7.70.581 с 7.70.582. 1С в части заплаты поддерживает изменения законодательства в этой конфигурации.
15. d_ter 20.05.20 00:33 Сейчас в теме
внес изменения, всё считает. большое спасибо!
17. user936118 09.07.20 12:56 Сейчас в теме
Ой спасибо Вам большое !!!
18. Eos 30.07.20 21:44 Сейчас в теме
Доброго времени суток! Внес изменения в ЗиК, но в регистре учета начисления налогов, включаемых в состав расходов, какие-то странные эффективные ставки с апреля. Например, по ПФР, должно быть 2 строчки с эффективными ставками 22 % и 10%, а получается 3: 22%, 20,13% и 16,33%. При этом общая сумма получается верная. Подскажите пожалуйста, в чем может быть проблема?
19. Mx00 233 30.07.20 22:12 Сейчас в теме
(18) проблема в том, что вы ожидаете от этой статьи больше, чем в ней есть :-)
так и написано "Доработка изменяет ТОЛЬКО сумму расчета взносов, но НЕ изменяет выгрузку данных для сдачи отчетности."
в комментарии 12 есть ссылка где более правильное решение проблемы
20. Eos 30.07.20 23:33 Сейчас в теме
Я понял. Спасибо за информацию!
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку