Во всех источниках , которые мне встречались, написано, что Страховые взносы НС и ПФ нужно начислять, если это указано в Договоре подряда. В конфигурациях 7.70.637 (бухгалтерия) и 7.70.279 (УСН) для договорников (Код НДФЛ 2010) эти взносы не начисляются. Но если все же нужно их начислить, то можно в конфигурации добавить новый документ. Экранная форма (на рисунке) достаточно простая.
В модуле формы нужно написать:
Перем ОбработчикСообщений;
Перем НачальнаяДатаДокумента;
Перем ДатаДокумента;
Перем Отказ;
//*****************************************************************************
// Проверка()
//
// Описание:
// Проверяет является ли данный документ единственным документом НачислениеСтраховыхВзносовОтНСиПЗдляДоговоровПодряда
// в течение данного месяца.
//
Процедура Проверка(Отказ)
Отказ=0;
Если ДатаДокумента <> ДатаДок Тогда
Дубликат = СоздатьОбъект("Документ.НачислениеСтраховыхВзносовОтНСиПЗдляДоговоровПодряда");
Если (Дубликат.ВыбратьДокументы(НачМесяца(ДатаДок),КонМесяца(ДатаДок))=1) И (Дубликат<>ТекущийДокумент())Тогда
Предупреждение("За "+Формат(ДатаДок,"Д ММММГГГГ")+" страховой взнос рассчитывался
|документом """+Дубликат+" от "+ДатаДок+""";
|Для расчета следует использовать этот документ.");
Отказ=1;
КонецЕсли;
ДатаДокумента = ДатаДок;
КонецЕсли;
КонецПроцедуры // Проверка()
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ФОРМУЛ ЭЛЕМЕНТОВ ДИАЛОГА
//
//*****************************************************************************
// ПриИзмененииДаты()
//
// Вызывается из формул элементов диалога:
// Поле ввода ДатаДок.
//
Процедура ПриИзмененииДатаДок()
ДатаДок = КонМесяца(ДатаДок);
Проверка(Отказ);
Если Отказ=1 Тогда
Возврат;
КонецЕсли;
КонецПроцедуры // ПриИзмененииДаты()
//******************************************************************************
// Заполнить()
Процедура Заполнить()
Если КоличествоСтрок()>0 Тогда
Если Вопрос("Перед заполнением таблица документа будет очищена. Продолжить?","Да+Нет")="Нет" Тогда
Возврат;
КонецЕсли;
УдалитьСтроки();
КонецЕсли;
Начисления=СоздатьОбъект("Документ.НачислениеЗП");
Начисления.ВыбратьДокументы(НачМесяца(ДатаДок), КонМесяца(ДатаДок));
Пока Начисления.ПолучитьДокумент()=1 Цикл
Если (Начисления.Проведен()=1) И (Начисления.ВидНачисления.ВидДохода.Код="2010") Тогда
Начисления.Выбратьстроки();
Пока Начисления.ПолучитьСтроку()=1 Цикл
НоваяСтрока();
Сотрудник=Начисления.Сотрудник;
Сумма=Начисления.Оклад;
Документ=Начисления.ТекущийДокумент();
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
//******************************************************************************
//Вызывается из формулы элемента диалога "Сотудник"
Процедура ПриВыбореСотрудника()
Начисления=СоздатьОбъект("Документ.НачислениеЗП");
Начисления.ВыбратьДокументы(НачМесяца(ДатаДок), КонМесяца(ДатаДок));
Пока Начисления.ПолучитьДокумент()=1 Цикл
Если (Начисления.Проведен()=1) И (Начисления.ВидНачисления.ВидДохода.Код="2010") Тогда
Начисления.Выбратьстроки();
Пока Начисления.ПолучитьСтроку()=1 Цикл
Если Начисления.Сотрудник=Сотрудник Тогда
Сумма=Начисления.Оклад;
Документ=Начисления.ТекущийДокумент();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
//******************************************************************************
// ПровестиИзФормы(НажатаКнопкаОК=0)
//
// Параметры:
// НажатаКнопкаОК - число, 1 - нажали кнопку ОК, 0 - нажали кнопку провести
//
// Вызывается из формул элементов диалога:
// Провести, ОК
//
// Описание:
// Записывает и проводит документ
//
Процедура ПровестиИзФормы(НажатаКнопкаОК=0)
ПриЗаписиПерепроводить(0);
Записать();
ПриЗаписиПерепроводить(1);
Если Провести(,ОбработчикСообщений)=0 Тогда
глДобавитьСообщение(ОбработчикСообщений, "Документ не проведен.",ТекущийДокумент());
КонецЕсли;
КонецПроцедуры // ПровестиИзФормы()
//******************************************************************************
// Предопределенная процедура
//
Процедура ВводНового()
ДатаДок = КонМесяца(РабочаяДата());
ДатаДокумента = Дата(0);
Проверка(Отказ);
КонецПроцедуры
//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()
НачальнаяДатаДокумента = ДатаДок;
КонецПроцедуры // ПриОткрытии
а в модуле документа:
//******************************************************************************
//
Процедура ОбработкаПроведения(ОбработчикСообщений)
Сч69_11 = СчетПоКоду("69.11");
// Операция.Содержание = СодержаниеОперации;
ФСС_НС = глПолучитьНалог("ФСС_НС");
СчФСС_НС = ФСС_НС.Счет;
СубФСС_НС_1 = ФСС_НС.Субконто1;
СтФССотНС = ФСС_НС.Ставка.Получить(КонМесяца(ДатаДок));
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если (Документ.ДатаДок < НачМесяца(ДатаДок)) ИЛИ (Документ.ДатаДок > КонМесяца(ДатаДок)) Тогда
Сообщить("В строке "+НомерСтроки+" документ начисления не входит в рассматриваемый период","!!!");
Сообщить("Документ не проводится","!!!");
Возврат;
КонецЕсли;
Если Документ.ИспользоватьСчетДокумента = 1 Тогда
СчетДебета = Документ.СчетЗатрат;
Иначе
СчетДебета = Сотрудник.СчетЗатрат.Получить(КонМесяца(ДатаДок));
КонецЕсли;
Если ПустоеЗначение(СчетДебета) = 1 Тогда
Если Документ.ИспользоватьСчетДокумента = 1 Тогда
ТекстСообщения = "Не выбран счет отнесения затрат";
глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 1);
глНеПроводить(ТекущийДокумент());
Иначе
ТекстСообщения = "Не выбран счет отнесения затрат для сотрудника "+Сотрудник;
глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 1,, Сотрудник);
глНеПроводить(ТекущийДокумент());
КонецЕсли;
Возврат;
КонецЕсли;
// Дт <Счет учета затрат> Кт 69.11
Если Сумма <> 0 Тогда
Операция.НоваяПроводка();
Операция.НомерЖурнала = "ЗП";
Операция.СодержаниеПроводки = "Начислено НС и ПЗ";
Операция.Дебет.Счет = СчетДебета;
Если Документ.ИспользоватьСчетДокумента = 1 Тогда
Операция.Дебет.Субконто(1, Документ.Субконто1);
Операция.Дебет.Субконто(2, Документ.Субконто2);
Операция.Дебет.Субконто(3, Документ.Субконто3);
Иначе
Операция.Дебет.Субконто(1, Сотрудник.Субконто1.Получить(КонМесяца(ДатаДок)));
Операция.Дебет.Субконто(2, Сотрудник.Субконто2.Получить(КонМесяца(ДатаДок)));
Операция.Дебет.Субконто(3, Сотрудник.Субконто3.Получить(КонМесяца(ДатаДок)));
КонецЕсли;
Операция.Кредит.Счет = Сч69_11;
Операция.Кредит.Субконто(1, СубФСС_НС_1);
Операция.Сумма = Окр(Сумма * СтФССотНС/100,2,1);
КонецЕсли;
КонецЦикла;
Операция.Записать();
ТекстСообщения = "Документ проведен.";
глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0);
глПриПроведении(ТекущийДокумент());
КонецПроцедуры // ОбработкаПроведения
Документ формируется не чаще, чем один раз в месяц. По кнопке Заполнить табличная часть заполняется всеми начислениями сотрудников за месяц, у которых код по НДФЛ равен 2010 (Выплаты по договорам гражданско-правового характера (за исключ. авторских)). Табличную часть можно отредактировать.
Результатом проведения документа будут сформированные проводки Дт <Счет затрат> Кт <Счет ФСС_НС> <Сумма проводки>, где Счет затрат получается из соответствующего документа начисления, Счет ФСС_НС - счет Расчетов по обязательному социальному страхованию от несчастных случаев на производстве и профессиональных заболеваний, а Сумма проводки вычисляется, как начисленная сумма, умноженная на Ставку ФСС НС и ПЗ.