6-НДФЛ — Формирование, проверка, корректировка, перенос в типовой отчет. ЗУП 2.5 / УПП 1.3 / ЗиКБУ




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. madonov

    Исправлена ошибка: При сворачивания/разворачивании расшифровок по физлицам в соответствующем разделе затирались ручные корректировки декларации.

    Исправлена ошибка: В элементах формы на закладке Раздел 1 ранее было отключено свойство «Редактирование текста», что не позволяло корректировать данные раздела вручную

    Reply
  2. the1

    Выглядит монументально! Посмотрим, поможет ли нашему горю))

    Reply
  3. ol_2004@mail.ru

    раздел 1, колонка «020 сумма начисленного дохода» : 99 999 999,99 .

    Reply
  4. Filipp_inf

    Очень жаль что нет выбора обособленного подразделения !!

    Потому что именно для таких фирм 6-НДФЛ — ИЗОЩРЕННАЯ ПЫТКА для бухгалтера!!

    Это очень сложно добавить?

    Обработку скачала.

    Reply
  5. madonov

    (3) ol_2004@mail.ru, Можно чуть подробнее?

    Конфа типовая? ЗУП 2.5.107?

    В расшифровке Раздела 1 никакие данные не задвоились?

    В расшифровке первого раздела в подвале колонки 020 какая сумма?

    Или у вас настолько крупная организация, что сумма начисленного дохода за полугодие превышает 100млн и обработке просто не хватило разрядности в ячейке?

    Reply
  6. the1

    (5) к сожалению нет заполнения по обособленному подразделению, от бишь ОКТМО. Это очень существенно.

    Reply
  7. Filipp_inf

    Классная вещь! Спасибо разработчику.

    «+» за идею!

    Работа с документами для рядового бухгалтера понятнее и проще, чем поиск по регистрам,

    записи в которых непонятно когда в предыдущих релизах,

    предыдущими расчетчиками,

    были сделаны некорректно, а отсюда и тянутся какие-то суммки то «+», то «-«.

    Еще бы добавить отбор по обособленному подразделению (КПП/ОКТМО), цены бы не было этой обработке.

    Reply
  8. madonov

    (7) Филипп, над отбором по подразделению работаю =).

    Reply
  9. vikm

    Кстати, не хватает разрядности чисел

    Reply
  10. vikm

    да, и очень надо по обособленным подразделениям. С нетерпением ждем…

    Reply
  11. Mityushina

    Не все начисления подтягиваются. По документу разовые начисления не попали в отчет доп.начисления

    Reply
  12. madonov

    (11) Mityushina, ОЧЕНЬ важное замечание.

    Спасибо!

    Reply
  13. Filipp_inf

    (8) спасибо за отзывчивость.

    Подразделение — да , этоэлемент справочника «Подразделения организации»

    с установленной галочкой «Подразделение зарегистрировано в ИФНС как обособленное с присвоением кода по ОКАТО и КПП, но не имеет выделенного баланса»

    и заполнены реквизиты код ОКТМО, код КПП и еще должен выбираться код ифнс, в которую подается файл, как в регламентированном отчете.

    Фирма 1С до сих пор не может внести изменения в ЗУП, чтобы в даннос справочнике у был еще и реквизит «Код ИФНС»,

    они все еще по старинке в справках 2-ндфл берут код ИФНС как первые 4 цифры КПП, а это совсем не всега совпадает!

    И от этого кода ИФНС зависит и генерируемое имя выгружаемого файла. Например имя файла по такому ОБП д.б. таким:

    «NO_NDFL6_6195_6195_хххххххххх616332001_20160728_88527f89-d78f-4d65-bb14-a4e505e80f25.xml»,

    где хххххххххх — ИНН организации, 616332001 — код КПП ОБП, а 6195 — код ИФНС по месту регистрации ОБП.

    Ну а ОКТМО ОБП , это уже внутри файла, как и для обычной организации.

    Reply
  14. madonov

    Разрядность чисел поправил.

    Отбор по подразделению сделал, но нет возможности полноценно протестировать — тем кто отписался в этой теме отправил ЛС (если кого забыл — киньте ЛС сами).

    Короче ищу добровольцев для теста.

    Добавил в запросы условие «Подразделение В Иерархии», то есть в декларацию войдет выбранное подразделение и все его подчиненные.

    Дивиденды начисляются вне подразделений. Чтобы включить дивиденды в конкретное подразделение — нужно поставить подразделению галочку «дивиденды».

    При выборе подразделения в выгружаемый файл подставляется КПП (2 раза) и ОКТМО подразделения. Насколько это правильно — я пока тоже не знаю, надо штудировать информацию о формате файла в КонсультантПлюс.

    Косяк описанный Mityushina в (11) сегодня поправить уже не успеваю.

    Так что, если у кого-то есть допначисления в документе «Разовые начисления» — обработка пока их не считает.

    Reply
  15. madonov

    (13) Филипп, спасибо! очень важная информация!

    Но этот момент сегодня уже доработать не успею.

    В хабаровске рабочий день окончен, дома элементарно нет 1с =))

    Reply
  16. Filipp_inf

    Еще забыла, в регламентированном отчете 6-НДФЛ специально для этой формы в конфигурацию ЗУП фирмой 1С был добавлен еще 1 вид справочника «Регистрация в ИФНС»,

    с полями: КПП, код ИФНС, Организация. Причем этот справочник сам по себе, никак не увязан со справочником «Подразделения организации» , заполняется вручную, выбирается в форме заполнения декларации и служит как раз только для генерации имени выгружаемого файла и заполнения титульного листа.

    Reply
  17. the1

    Добрый!

    (14)

    1. Принцип немного не тот. Тут заполнять нужно не по подразделению, а по ОКТМО. А один и тот же ОКТМО может быть у разных подразделений, и они все могут находится в разной иерархии. Так что ПодразделениеОрганизации В ИЕРАРХИИ (&ПодразделениеОрганизации) не подойдет.

    2. Удержанный НДФЛ у Вас собирается по документам расчета НДФЛ, что годится только для учетной политики «принимать исчисленный как удержанный». Т.к. 1С не рекомендует пользоваться этой фичей, то и заполнение будет неверным.

    3. В запросе по начислениям не учитывается ТЧ «ДополнительныеНачисления», а это материалка, подарки и проч.

    4. Я бы переписал запрос по начислениям, выбирая данные из РР, так есть гарантия, что не пропустишь какой-нибудь вид документа или табличную часть. ИМХО.

    А так да, развивайте продукт, типовые конфы в этом плане вообще нефункциональны, видимо принуждают перейти на ред 3.0.

    Успехов!

    Reply
  18. the1

    (14) Вот из типовой, для понимания, приблизительно как собираются доходы по ОКТМО

    ВЫБОР
    КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
    КОГДА НДФЛСведенияОДоходах.Период < ДАТАВРЕМЯ(2013, 1, 1)
    ТОГДА «»
    КОГДА НДФЛСведенияОДоходах.КодПоОКТМО <> «»
    ТОГДА НДФЛСведенияОДоходах.КодПоОКТМО
    КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО, «») <> «»
    ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО
    ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКТМО, «»)
    КОНЕЦ
    ИНАЧЕ «»
    КОНЕЦ КАК КодПоОКТМО

    Показать

    Reply
  19. madonov

    (18) the1, (16) Филипп,

    я действительно абсолютно не знаком с формированием 6-НДФЛ по обособленным подразделениям.

    Изучением вопроса не занимался, тк не требовалось, а всё, что успел сделать наспех — это добавить фильтр по подразделению.

    Завтра у меня последний рабочий день перед отпуском. Исправлю всё, что успею.

    Reply
  20. madonov

    (17) the1,

    а вот по пункту 2

    2. Удержанный НДФЛ у Вас собирается по документам расчета НДФЛ, что годится только для учетной политики «принимать исчисленный как удержанный». Т.к. 1С не рекомендует пользоваться этой фичей, то и заполнение будет неверным.

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

    То есть политика не «принимать исчисленный как удержанный», а грубо говоря «применять выплаченный как удержанный».

    То есть всё зависит от того, насколько достоверно заполнены поля «Дата выплаты дохода» в документах.

    Но Вы правы в том, что обработка не проверяет наличие самих документов выплаты.

    Тут принцип «Какую бухгалтер указал дату выплаты дохода — такую и берем». Моих бухгалтеров устроил именно такой подход, а не правка накопленных годами ошибок в регистре по НДФЛ и постоянное перепроведение периода.

    Reply
  21. madonov

    Не торопимся качать файл — через пару-тройку часов будет новая версия:

    1. Правильный (я надеюсь) отбор обособок по ОКТМО+КПП

    2. Учет доп начислений из документа «разовые начисления»

    3. Возможность редактировать все возможные коды руками

    Reply
  22. vikm

    новая версия будет по прежней ссылке на яндекс.диске?

    Reply
  23. madonov

    (22) vikm, разумеется.

    Файл уже там, информация по обновлению в публикации.

    Тестирование категорически приветствуется — на доработку у меня осталось 3 часа, после чего начинается мой отпуск, который продлится до 1 сентября.

    (16) Филипп, Теперь при наличии хотя бы одного элемента в этом справочнике на форме появляется спец кнопка, для заполнения кодов ИФНС и КПП из него.

    (11) Mityushina, исправлено

    Reply
  24. Bellka

    Замечательная обработка! Вскрывает все косяки в учете )))

    Reply
  25. Filipp_inf

    madonov, добрый день!

    Огромное человеческое СПАСИБО!

    Будем тестировать.

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

    что позволяет применять упрощенный учет без внесения платежек по уплате (при количестве ОБП больше 100 и ведении бухучета в другой программе это значительно увеличивает трудоемкость) и манипулировать датой уплаты налога в документе начисления.

    По регистрам куча обработок на сайте, которые просто дублируют регламентируют отчетность и просто делают расшифровку.

    Приятного отдыха!

    Reply
  26. madonov

    (24) Bellka, что не всегда радует бухгалтеров =))

    Reply
  27. madonov

    Найдена незначительная ошибка:

    При работе без обособок оба кода ИФНС по умолчанию брались из поля «Код налогового органа — получателя отчетности».

    Поправил. Теперь КодИФНС из КодИМНС, КодИФНСПолучателя из КодИФНСПолучателя.

    Файл обновлён.

    Так, что если у кого эти коды отличаются можно обновиться, ну или не забываем поправить ручками.

    Кнопка «Заполнить» становится активной только когда заполнены реквизиты:

    — Организация

    — КодПоОКТМО

    — КПП

    — КодИФНСПолучателя

    — КодИФНС

    Кнопка «Сохранить» становится активной только когда заполнены реквизиты:

    — Организация

    — КодПоОКТМО

    — КПП

    — КодИФНСПолучателя

    — КодИФНС

    — Подпись

    — ДатаПодписи

    — Телефон

    — КодМестаПредставленияРасчета

    — Раздел 1 (хотя бы 1 строка в таблице)

    — Раздел 2 (хотя бы 1 строка в таблице)

    Reply
  28. madonov

    И немного теоретической информации по 6НДФЛ: контрольные соотношения и формат файла.

    Тем, кто будет дорабатывать обработку под свои нужды может пригодиться.

    Reply
  29. mastakw

    (28) КПП у индивидуальных предпринимателей пустой !

    Reply
  30. madonov

    (29) mastakw, Спасибо! Исключил из обязательных реквизитов.

    Ждите ЛС =)

    Файл обновлен.

    Reply
  31. vikm

    Огромное спасибо за обработку.

    Приятного отдыха!

    Reply
  32. vikm

    обновление все там же?

    Reply
  33. madonov

    (32) vikm, да =)

    Reply
  34. antss

    Добрый день,

    скачала отчет- получаю ошибку след.содержания:

    и ссылка на конфигуратор:

    {Форма.Форма.Форма(1233)}: Ошибка при вызове метода контекста (ВыполнитьПакет)

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

    по причине:

    {(18, 20)}: Таблица не найдена «Документ.НачислениеЗарплатыРаботникамОрганизаций.ДатыВыплаты»

    ЛЕВОЕ СОЕДИНЕНИЕ <<?>>Документ.НачислениеЗарплатыРаботникамОрганизаций.ДатыВыплаты КАК НачислениеЗарплатыРаботникамОрганизацийДатыВыплаты

    Reply
  35. madonov

    (34) antss, добрый день!

    У Вас точно ЗУП 2.5?

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

    Обновление конфигурации до актуального релиза должно помочь.

    Reply
  36. Jen

    Добрый день!

    В доходы не попадает оплата праздничных и выходных, доплата праздничных и выходных…

    Reply
  37. madonov

    (36) Jen,

    Прежде чем тратить $m на скачивание рекомендую внимательно прочесть описание



    В расчете принимают участие следующие документы:

    • НачислениеЗарплатыРаботникамОрганизаций
    • ОплатаПоСреднемуЗаработку
    • ПремииРаботниковОрганизаций
    • РегистрацияРазовыхНачисленийРаботниковОрганизаций
    • ДоговорНаВыполнениеРаботСФизЛицом
    • НачислениеПоБольничномуЛисту
    • НачислениеОтпускаРаботникамОрганизаций
    • РасчетПриУвольненииРаботникаОрганизаций
    • НачислениеДивидендовОрганизаций

    Прочие документы, которые могут повлиять на НДФЛ, в нашем учете в 1-ом полугодии не использовались, поэтому и в алгоритме заполнения декларации их нет.

    Показать

    Да, обработка не обучена собирать доходы из документов «Оплата праздничных и выходных дней», и к сожалению в ближайшее время у меня не будет возможности её доработать =( .

    Reply
  38. Agema

    На конфигурации 1С:Зарплата и кадры бюджетного учреждения 8 будет работать, кто-нибудь проверял ?

    Reply
  39. madonov

    (38) Agema, К сожалению я не знаком со структурой конфигурации «Зарплата и кадры бюджетного учреждения» и не могу точно ответить на Ваш вопрос.

    Reply
  40. makas

    Ошибка в отчете: — Обработка берет в отчет «Пособие по уходу за ребенком до 1.5 лет», которое не является доходом и не должно включаться в отчетность.

    Reply
  41. madonov

    (40) makas, Спасибо за отзыв.

    Мои бухгалтера просили исключить только пособие по уходу за ребенком до 3-ех лет.

    Почему никому до вас не потребовалось исключать пособие до 1,5 не знаю — возможно вы и правы, что стоит. Надо садиться читать законодательство и разбираться.

    На память знаю только то, что пособие до 1,5 лет выплачивается за счет средств ФСС, а не работодателем.

    К сожалению под рукой нет ни Консультанта (чтобы изучить законодательство), ни 1С (чтобы поправить обработку) — Я в отпуске до конца августа.

    Reply
  42. Agema

    (41) http://www.buhonline.ru/forum/index?g=posts&t=383013

    Согласно п.2 ст.230 НК РФ: «Налоговые агенты представляют в налоговый орган по месту своего учета: …расчёт сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом, за первый квартал, полугодие, девять месяцев — не позднее последнего дня месяца, следующего за соответствующим периодом, за год — не позднее 1 апреля года, следующего за истекшим налоговым периодом, по форме, форматам и в порядке, которые утверждены федеральным органом исполнительной власти, уполномоченным по контролю и надзору в области налогов и сборов.»

    Доходы в виде государственных пособий сотрудникам, имеющим детей, выплачиваемым за счёт средств ФСС России (например, пособие женщинам, вставшим на учёт в ранние сроки беременности, единовременное пособие при рождении ребенка, пособие по уходу за ребёнком до 1,5 лет), НДФЛ не облагаются (п.1 ст.217 НК РФ). В отношении этих доходов организация не признаётся налоговым агентом.

    Следовательно, в расчёте 6-НДФЛ данные доходы не отражаются.
    Reply
  43. madonov

    (42) Agema, (40) makas,

    Уточнил в бухгалтерии момент относительно пособия до 1.5 лет.

    Хабаровский край вошел в пилотный проект ФСС, и мы как работодатель пособие до 1,5 лет не выплачиваем (его за нас платит ФСС).

    Отпуск закончился, как разгребу накопившуюся работу — доработаю и обработку =).

    Reply
  44. the1

    (38) Agema, будет, только немного допилить надо

    Reply
  45. madonov

    //UPD 12.09.2016 — Из расчета исключены пособия по уходу за ребенком до 1.5 лет.

    И вроде бы это единственное замечание, которое я не успел исправить до отпуска.

    Спасибо всем, кто принимает участие в тестировании обработки и просто проявляет к ней интерес.

    Думаю в октябре мы снова здесь все соберемся =) .

    =============================

    А нет, было еще пожелание о включение в расчет документа «Оплата праздничных и выходных дней». Есть над чем работать, как будет свободная минутка — допишу.

    Reply
  46. madonov

    Сегодня достигнут рубеж в 100 скачиваний — в масштабах ИС совсем немного, но все равно очень приятно.

    А еще обработка была замечена на главной в графе «Выбор экспертов». Я понятия не имею как и кем формируется этот рейтинг, но спасибо =) .

    Reply
  47. Anna_Valenty

    А для УПП подойдет?

    Reply
  48. BigRig

    Добрый день!

    Планируется ли делать сохранение в отчет? Чтобы в базе на него глазами посмотреть

    Reply
  49. madonov

    (47) Anna_Valenty, не знаю, попробуйте, обработку отправил в ЛС.

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

    Поэтому — нет, пока не планируется, тк требует слишком много времени, которого у меня сейчас очень мало.

    =========================================

    Anna_Valenty протестировала обработку на конфигурации «Управление производственным предприятием, редакция 1.3 (1.3.80.2)» — полёт нормальный.

    Добавил информацию о совместимости в публикацию.

    Reply
  50. madonov

    //UPD 10.10.2016 — В расчет добавлен документ ОплатаПраздничныхИВыходныхДнейОрганизаций (36) .

    //UPD 10.10.2016 — Для определения даты выплаты в документах Оплата по среднему / Премии (начисление НДФЛ) / Оплата праздничных и выходных теперь используется дополнительный реквизит.

    Обращаю внимание, что для корректной работы обработки у пользователя должны быть права на создание элементов ПланыВидовХарактеристик «НазначенияСвойствКатегорийОбъектов» и «СвойстваОбъектов», а также права на редактирование регистра сведений «ЗначенияСвойствОбъектов».

    Где брать обновление — думаю все уже знают =).

    Reply
  51. madonov

    //UPD 13.10.2016 — пользователь Anna_Valenty помогла обнаружить ошибку, при которой данные о начислениях из документов «ПремииРаботниковОрганизаций» и «РасчетПриУвольненииРаботникаОрганизаций» не попадали в декларацию в случаях, когда в карточке сотрудника в закладке «трудовой договор» не было заполнено подразделение.

    В табличной части этих документов нет колонки «ПодразделениеОрганизиции», поэтому приходится его брать из карточек сотрудников с закладки «Трудовой договор». Тем у кого есть обособки рекомендую проверить правильность заполнения этого поля.

    Reply
  52. madonov

    //UPD 14.10.2016 — пользователь Бирюков Артем (artemb) обнаружил ошибку — в декларацию попадали данные из документа «НачислениеЗарплатыРаботникамОрганизаций», с Периодом начисления «ПерваяПоловинаТекущегоМесяца», что неправильно (я убедился в этом, ознакомившись с этой статьёй на ИТС )

    //UPD 14.10.2016 — пользователь Бакулева Марина помогла обнаружить ошибку, при которой начисления по ДГПХ не попадали в декларацию в случае, когда в документе не заполнено подразделение. Да и вообще с незаполненным подразделение в любом документе была беда — ВСЕМ рекомендую обновиться до 2.2.2.

    Reply
  53. svetik_svetiko

    Здравствуйте, только что скачала обработку и при запуске пишет:

    Reply
  54. svetik_svetiko

    Не указано назначение свойства.

    Не удалось записать дополнительные свойства объектов! — Возможно недостаточно прав!

    У меня полные права.

    Reply
  55. madonov

    (54) svetik_svetiko, Доброго времени суток.

    Какая конфигурация? (желательно название и точную версию релиза)

    Reply
  56. svetik_svetiko

    Зарплата и Управление Персоналом, редакция 2.5 (2.5.110.1)

    Reply
  57. madonov

    (56) svetik_svetiko,

    Попробуйте:

    1 .Меню Операции План Видов Характеристик Свойства объектов — зайти и посмотреть есть ли там элемент «Документы — Дата выплаты (6-НДФЛ)». Если нет, то попробуйте создать элемент (любой, потом удалить)

    2. Меню Операции Регистр сведений Значения свойств объектов — зайти и создать запись (любую, потом удалить)

    Получится?

    Reply
  58. svetik_svetiko

    1. есть такая запись

    2. создала и потом удалила

    Reply
  59. svetik_svetiko

    При повторном запуске обработки, ошибки не отразились. Думаю, это при первичном запуске было.

    Reply
  60. madonov

    (58) svetik_svetiko,

    А свойства у документов «Оплата по среднему» / «Премии (начисление НДФЛ)» / «Оплата праздничных и выходных» заполнились, как на картинке в сообщении (50)?

    Reply
  61. svetik_svetiko

    Да, всё заполнилось.

    Reply
  62. madonov

    //UPD 19.10.2016 — благодаря пользователю den_vladimir обнаружена ошибка, при которой в декларацию попадали начисления «Отпуск по беременности и родам» и «Пособие за счет ФСС при постановке на учет в ранние сроки беременности». Ошибка исправлена, доступна версия 2.2.3.

    Reply
  63. madonov

    //UPD 20.10.2016 — Утомился исключать поочередно все начисления, не облагаемые НДФЛ. Наконец решил исключить их ВСЕ по общему признаку, что следовало сделать с самого начала, а не идти по методу «Костыли и велосипеды».

    Тем более, что это оказалось очень просто — ВСЕ начисления без кода дохода по НДФЛ исключены из расчета.

    Версия 2.2.4 доступна на яндекс-диске. Публикация будет обновлена в ближайшее время.

    Reply
  64. svetik_svetiko

    В связи с тем, что у нас бухгалтера работают в обособленных подразделениях и имеют ограничения, просьба в следующие версии в обработку во всех запросах в «ВЫБРАТЬ» добавить «РАЗРЕШЕННЫЕ».

    Reply
  65. madonov

    (64) svetik_svetiko, спасибо за отзыв.

    Делать отдельную версию ради настолько незначительных изменений считаю нерентабельным, да и как я понял Вы уже самостоятельно поправили запросы. Но обязательно учту в следующей версии.

    Сейчас воюю с выгрузкой в типовую декларацию, если получится, то будет версия 3.0.0 =))

    Reply
  66. user597109_ironotter

    Управление производственным предприятием, редакция 1.3 (1.3.83.1)

    Не удалось записать дополнительные свойства объектов! — Возможно недостаточно прав!

    НазначениеСвойства.Родитель = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.ГруппаДокументов;

    ————————————————————————————ОШИБКА—————————————————————————————

    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.ГруппаДокументов {(1)}: Поле объекта не обнаружено (ГруппаДокументов)

    Пока просто закомментировал, на что-то влияет?

    Reply
  67. madonov

    (66) user597109_ironotter, в Вашей базе не хватает одного предопределенного элемента, который есть в ЗУП 2.5..

    По сути влияет только на иерархию элементов в Плане Видов Характеристик «Свойства объектов», то есть только на красоту.

    Заключу эту строку в попытку в следующей версии. Спасибо за замечание.

    Reply
  68. madonov

    (48) DimaBab, Сделано

    //UPD 24.10.2016 — Появилась возможность выгрузки данных в типовой регламентный отчет 6-НДФЛ. Перед печатью, выгрузкой или проверкой типового отчета необходимо его СОХРАНИТЬ, иначе лезут ошибки.

    Файл обновлен (везде).

    Reply
  69. madonov

    Реализовал заполнение Раздела 1 по разным ставкам НДФЛ. Учёт ставок отличных от 13% несколько упростил, но думаю этого вполне хватит.

    Версия 3.1.0 доступна для тестирования на Яндекс-диске. Стабильной её не считаю, всем у кого в учёте нет ставок НДФЛ отличных от 13% рекомендую использовать версию 3.0.0. В публикации файл обновлять пока не стал.

    Для версии 3.1.0 требуется тестирование со стороны сообщества:

    1. Если у вас в учёте нет ставок НДФЛ отличных от 13%, то для помощи мне, Вам достаточно скачать версии 3.0.0, 3.1.0, заполнить за 9 месяцев и сравнить полученный результат — данные обеих деклараций должны сойтись.

    2. Если среди сотрудников Вашей организации есть налоговые Нерезиденты РФ, то можете попробовать скачать версию 3.1.0, заполнить, и тщательно проверить как заполнится Раздел1 и его расшифровку.

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

    Reply
  70. корум

    (69) в 3.0.0 учтено замечание по запросу, «ВЫБРАТЬ РАЗРЕШЕННЫЕ» ?

    Reply
  71. madonov

    (70) корум, да, добавил во все запросы (вроде бы).

    Можете скачать обновление с Яндекс-диска и протестировать .

    Reply
  72. chesnokov-a-v

    Добрый день.

    Обработка — супер. Но есть маленькие недочеты.

    Пока что нашел, что при расчете суммы вычетов не учитывается вычет по коду 508 (мат помощь при рождении ребенка).

    Reply
  73. madonov

    (72) chesnokov-a-v, Доброго времени суток. Спасибо за отзыв.

    Сумма налоговых вычетов (строка 030) — это единственное, что я собираю по регистрам накопления.

    В регистре накопления «Предоставленные стандартные и социальные вычеты по НДФЛ» за этот год точно есть записи с кодом вычета 508?

    Reply
  74. madonov

    По непонятным причинам у меня в данный момент отсутствует возможность редактирования публикации — вносимые изменения просто не сохраняются. Не могу обновить и файл в публикации.

    Обращение в поддержку ИС отправил. //Всё починили

    Если кому нужна версия 3.1.0 с разбивкой Раздела 1 по различным ставкам НДФЛ — забираем обновление на Яндекс-диске, на сегодня уже есть отзывы подтверждающие её стабильность.

    //UPD 27.10.2016 — Обработка обучена заполнению Раздела 1 по разным ставкам НДФЛ.

    Файл обновлен.

    Reply
  75. igozakh

    Спасибо за доброту, а в бюджетной будет работать?

    Reply
  76. madonov

    (75) igozakh, «из коробки» возможно и не будет. Скорее всего потребуется доработка.

    Reply
  77. igozakh

    Так и есть.

    Reply
  78. madonov

    //UPD 31.10.2016 — благодаря пользователю den_vladimir обнаружена ошибка, из-за которой в расшифровку раздела 2 не попадали начисления по документу «Оплата праздничных и выходных дней организаций». Сам раздел 2 при этом формировался правильно, ошибка была исключительно в расшифровке.

    Доступна версия 3.1.1.

    Сегодня 31.10.2016 — последний день сдачи 6-НДФЛ за 9 месяцев.

    Кто-то конечно будет подавать корректировки, будут и «опаздуны». Но с большинством пользователей можно попрощаться до марта 2017г и поздравить их с успешной сдачей 6-НДФЛ за 9 месяцев.

    Reply
  79. chesnokov-a-v

    (73) Вы правы в регистре «Предоставленные стандартные и социальные вычеты по НДФЛ» этих данных нет.

    Они есть в регистре»НДФЛ сведения о доходах» (поля «Сумма вычета» и «Код Вычета»).

    Еще заметил одну особенность: Если в сентябре ввести больничный период расчета сентябрь, дата документа любое число сентября, а Дата выплаты дохода для НДФЛ октябрьская, т.е. больничный выплачиваем вместе с зарплатой за сентябрь. Тогда в первом разделе учитываются начисления по больничному, но не учитывается НДФЛ. И возникает разница между рассчитанным НДФЛ и Начисленным (проверял на 2.5.110.1)

    Не попадает, так как в регистре «НДФЛ расчеты с бюджетом» дата получения дохода стоит октябрьская

    При этом, если сравнивать с документом Начисление зарплаты за сентябрь (дата выплаты з.п. стоит такая же как в больничном 05.10.16) в регистр «НДФЛ расчеты с бюджетом» дата получения дохода пишется 30.09.16 г.

    Мне кажется, что это ошибка разработчиков конфигурации.

    Reply
  80. madonov

    (79) chesnokov-a-v, Отвечу немного не по порядку.

    Если в сентябре ввести больничный период расчета сентябрь, дата документа любое число сентября, а Дата выплаты дохода для НДФЛ октябрьская, т.е. больничный выплачиваем вместе с зарплатой за сентябрь. Тогда в первом разделе учитываются начисления по больничному, но не учитывается НДФЛ. И возникает разница между рассчитанным НДФЛ и Начисленным (проверял на 2.5.110.1)

    Не попадает, так как в регистре «НДФЛ расчеты с бюджетом» дата получения дохода стоит октябрьская.

    Регистр «НДФЛ расчеты с бюджетом» в моей обработке не используется вообще.

    Данные по больничным берутся из документа «Начисление по больничному листу». Начисления из закладки «Оплата», удержания из закладки «НДФЛ».

    При этом квартал, к которому относится начисление определяется по полю «Месяц начисления» (в шапке документа). Квартал к которому относится удержание определяется по колонке «Дата получения дохода» (табличная часть «НДФЛ»).

    Если у вас по каким-либо причинам в документе поля «Месяц начисления» отличается от «дат удержания», то да — начисления и удержания могут разбежаться по разным кварталам, ну и в регистре «НДФЛ расчеты с бюджетом» будет описанное вами несоответствие.

    Я вижу эту ситуацию как-то так, могу ошибаться конечно, но я бы проверил закладку «НДФЛ» и проблемных больничных.

    в регистре «Предоставленные стандартные и социальные вычеты по НДФЛ» этих данных нет.

    Они есть в регистре»НДФЛ сведения о доходах» (поля «Сумма вычета» и «Код Вычета»).

    Получается, что не только в строку 030 не попадает, но и в строке 040 излишек на сумму этого вычета не… излишка в 040 не будет.

    Косяк, требуется переписать все запросы… Займет определенное время, но думаю реально. Буду над этим работать.

    Важное замечание. Спасибо.

    Reply
  81. vitalchikkk

    Добрый вечер. Оплата сверхурочных часов должна ли попадать в раздел1?

    Reply
  82. madonov

    (81) vitalchikkk, с точки зрения законодательства думаю должна, да и в Раздел2 тоже, но…

    В расчете принимают участие следующие документы:

    НачислениеЗарплатыРаботникамОрганизаций

    ОплатаПоСреднемуЗаработку

    ПремииРаботниковОрганизаций

    РегистрацияРазовыхНачисленийРаботниковОрганизаций

    ДоговорНаВыполнениеРаботСФизЛицом

    НачислениеПоБольничномуЛисту

    НачислениеОтпускаРаботникамОрганизаций

    РасчетПриУвольненииРаботникаОрганизаций

    НачислениеДивидендовОрганизаций

    Оплата праздничных и выходных дней организаций

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

    Редко им пользуются судя по всему, из 215 скачиваний — Вы первый, кому он понадобился =) .

    Reply
  83. TeMochkiN

    Здравствуйте!

    А можете добавить в свою обработку какую-нибудь настройку, которая позволит в документах ОплатаПоСреднемуЗаработку, ПремииРаботниковОрганизаций и ОплатаПраздничныхИВыходныхДнейОрганизаций использовать дату документа в качестве даты получения дохода?

    Извините, если вопрос уже был, просто очень много комментариев)))

    Reply
  84. madonov

    (83) TeMochkiN, Доброго времени суток.

    Для заполнения ДатыВыплаты в этих документах используется дополнительное свойство — см. комментарий (50).

    Так вот, эти доп свойства по умолчанию как раз и заполняются датой самого документа. То есть все работает именно так, как Вам требуется.

    Reply
  85. TeMochkiN

    (84) хорошо, проверю ещё раз, а то что-то после первого запуска обработки это доп.свойство не добавилось к докам, вручную пришлось добавить. Хотя назначение свойства автоматически создалось. А вот ещё такой момент, у договоров ГПХ сумма дохода и НДФЛ разбиваются на отдельные строчки, разница лишь в дате фактического получения дохода (строка 100). В чем может быть проблема?

    Reply
  86. TeMochkiN

    Я нашел, свойство действительно заполнилось у всех доков, но у самого свойства не заполнено назначение свойства, возможно, поэтому, премии у меня всё-таки не ложатся на нужные даты 🙁

    Reply
  87. madonov

    (86) TeMochkiN,

    Проставьте в «назначение» предопределённый элемент «документы» (временно).

    С остальным сегодня уже не подскажу — в Хабаровске ночь, голова отказывается думать и категорически требует сна.

    Reply
  88. TeMochkiN

    (87) я туда уже вставил назначение, которое создалось автоматически обработкой, но эффекта это не дало, кажется. Сотая строка так и не заполняется корректно по премиям 🙁

    а так, ваша обработка конечно чудо! 🙂

    конечно, думаю, тут все люди понимающие 🙂 никто вас тут не обязывает отвечать в срочном порядке, это же форум 🙂

    Reply
  89. madonov
    Reply
  90. TeMochkiN

    (89)

    Планы на будущее:

    1. Добавить переключатель (начисление дохода по ДГПХ: концом месяца / Датой Выплаты) — и пускай каждый сам решает как ему вкуснее.

    Было бы очень круто! 🙂

    Премия — это не межрасчетная выплата, это оплата труда. В сотую строку идет последний день месяца начисления, а не ДатаВыплаты, так как это оплата труда.

    А вы это по коду дохода определяете?

    Если поменять код дохода на 4800 (Иные доходы), то будет ли по премии в сотой строке день выплаты, а не конец месяца?

    Reply
  91. madonov

    (90) TeMochkiN,

    Нет, опрелеляю исключительно по типу документа начисления. Хотя Ваша идея вероятно более правильная — но при разработке не пришло в голову.

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

    Reply
  92. TeMochkiN

    (91) до нас просто поздно дошло озарение, как правильно начислять в программе премию, чтобы это соответствовало требованиям ФНС (она ж хочет, чтобы в сотой строке по премиям была дата выплаты, а не последний день месяца). В голове были мысли использовать вместо документа «Премии» -> «Регистрация разовых начислений» + вид расчета премии с кодом дохода НДФЛ 4800, но только недавно наткнулся на статью на ИТС, что собственно это единственный вариант, чтобы всё получилось так, как хочет ФНС.

    Reply
  93. madonov

    (92) TeMochkiN,

    А собственно в чем именно выражается подобное желание ФНС? С какой стати они требуют заполнять начисления премии по правилам для межрасчетных выплат?

    Есть какая-либо нормативка по этому поводу? Письма ифнс, разъяснения?

    В статье на итс сказано, что в сотую строку идёт конец месяца, но если очень хочется, то можно это имзменить (зачем непонятно).

    Reply
  94. TeMochkiN

    (93) конечно есть письма:

    https://its.1c.ru/news/340584

    http://www.garant.ru/products/ipo/prime/doc/71365920/

    при чем минфин придерживается того же мнения, что и ФНС:

    http://отрасли-права.рф/article/14910

    собственно, наша организация следует рекомендациям для осторожных налоговых агентов:

    https://its.1c.ru/db/taxndfl#content:617:hdoc

    Reply
  95. madonov

    (94) TeMochkiN,

    Мда, и в Главной Книге тоже самое пишут.

    Между тем в НК РФ сказано:

    Статья 223. Дата фактического получения дохода

    …….

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

    Если премия предусмотрена трудовым договором или положением о премировании — это оплата труда. Если премия — это не оплата труда, то можно и взносами не облагать?

    И вот тут возникает вопрос о том, что же главнее с точки зрения законодательства — письмо ФНС, или какой-то там Налоговый Кодекс…

    Планы на будущее:

    1. Добавить переключатель (начисление дохода по ДГПХ: концом месяца / Датой Выплаты) — и пускай каждый сам решает как ему вкуснее.

    2. Исключить из расчета документы НачислениеЗарплатыРаботникамОрганизаций с типом расчета «За вторую половину месяца» — они там лишние, правда их почти никто не использует.

    3. Добавить в расчет декларации документ ОплатаСверхурочныхЧасов

    4. Заполнять строку 100 для премий в зависимости от кода дохода

    Reply
  96. buKIN

    (92) TeMochkiN,

    «Премии» -> «Регистрация разовых начислений» + вид расчета премии с кодом дохода НДФЛ 4800

    К сожалению решение сработает не всегда. Если премия начислена и выплачена до выплаты ЗП за прошлый месяц все равно получим не совсем желаемый результат: 06.09 начисляем и выплачиваем премию (ЗП за август уже начислена), а ЗП за август выплачиваем 10.06. В итоге часть выплаты премии пойдет на погашение ЗП за август, которую мы сейчас не выплачивали.

    Reply
  97. madonov

    Доступна версия 3.1.2.

    1. Доработан алгоритм заполнения строки 030 Раздела1. Обсуждалось в (72), (73), (79), (80).

    2. Строка 100 Раздела2 по ДГПХ теперь заполняется Датой выплаты, однако если кому-то требуется видеть там конец месяца начисления — в обработке просто нужно снять галочку «Заполнять строку 100 по ДГПХ Датой выплаты». Обсуждалось в (85), (89).

    3. Если в документе «ПремииРаботниковОрганизаций» в графе «Вид премии» стоит начисление с кодом отличным от «2000», то в строку 100 Раздела2 пойдет Дата выплаты, в противном случае — последний день месяца начисления. Обсуждалось в (86), (88), (89), (90), (91), (92), (93), (94), (95), (96).

    4. Из расчета исключены документы НачислениеЗарплатыРаботникамОрганизаций с типом расчета «За вторую половину месяца». Замечание от пользователя artemb (Бирюков Артем).

    //////////////////////////////////////////

    Планы на будущее:

    1. Добавить в расчет декларации документ ОплатаСверхурочныхЧасов

    Reply
  98. buKIN
    2. Строка 100 Раздела2 по ДГПХ теперь заполняется Датой выплаты, однако если кому-то требуется видеть там конец месяца начисления — в обработке просто нужно снять галочку «Заполнять строку 100 по ДГПХ Датой выплаты».

    Судя по всему если убрать галочку получим в итоге расхождения между 2-НДФЛ и 6-НДФЛ.

    Для примера возьмем начисления сентября: договоры ГПХ отражаются в регистре «НДФЛ сведения о доходах» по дате выплаты в документе начисления ЗП, а на основе этого регистра заполняется 2-НДФЛ. Соответственно когда мы уберем галку в 6-НДФЛ все попадет в месяц начисления — сентябрь, а в 2-НДФЛ в месяц выплаты — октябрь, т.к. ЗП за сентябрь выплачиваем в октябре.

    Если по итогам года ИФНС будет сверять суммы по 2-НДФЛ и 6-НДФЛ получим как минимум вопрос с просьбой пояснить расхождения.

    Reply
  99. madonov

    (98) buKIN,

    Судя по всему если убрать галочку получим в итоге расхождения между 2-НДФЛ и 6-НДФЛ.

    Так не убирайте =) . Именно поэтому она и включена по умолчанию. Предыдущие версии обработки всегда работали по алгоритму «снятой галочки», что не устроило некоторых пользователей, по вполне понятным причинам.

    Просто бывают организации, где ДГПХ выплачивают вместе с ЗП, а не по факту выполнения. У меня лично именно такой случай, и бухгалтерия попросила считать ДГПХ как ЗП. Я понимаю, что это несколько не соответствует законодательству, но надо — значит надо, поэтому оставил возможность снятия этой галочки.

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

    Я опирался на Приложение N 3 Утвержденое приказом ФНС России от 14.10.2015 N ММВ-7-11/450 ФОРМАТ ПРЕДСТАВЛЕНИЯ РАСЧЕТА СУММ НАЛОГА НА ДОХОДЫ ФИЗИЧЕСКИХ ЛИЦ, ИСЧИСЛЕННЫХ И УДЕРЖАННЫХ НАЛОГОВЫМ АГЕНТОМ (ФОРМА 6-НДФЛ), В ЭЛЕКТРОННОЙ ФОРМЕ.

    Имя файла обмена должно иметь следующий вид:

    R_T_A_K_O_GGGGMMDD_N, где:

    R_T — префикс, принимающий значение NO_NDFL6;

    A_K — идентификатор получателя информации, где:

    A_K — идентификатор получателя информации, где: A — идентификатор получателя, которому направляется файл обмена, K — идентификатор конечного получателя, для которого предназначена информация из данного файла обмена <1>. Каждый из идентификаторов (A и K) имеет вид для налоговых органов — четырехразрядный код (код налогового органа в соответствии с классификатором «Система обозначения налоговых органов» (СОНО));

    ———————————

    <1> Передача файла от отправителя к конечному получателю (K) может осуществляться в несколько этапов через другие налоговые органы, осуществляющие передачу файла на промежуточных этапах, которые обозначаются идентификатором A. В случае передачи файла от отправителя к конечному получателю при отсутствии налоговых органов, осуществляющих передачу на промежуточных этапах, значения идентификаторов A и K совпадают.

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *