<?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='\
По сути, формируя отчет за 1 месяц — на конец месяца — у нас не должно быть никаких отклонений.
Плохо: хоть переплата, хоть недоплата. Если есть переплата — налоговая эти суммы не считает налогом и в дальнейшем может их не учесть, а потом и наказать…
Если есть недоплата — то это точно сразу штраф, пени…
Согласны? Я правильно мыслю?
Смотря в как смотреть переплату и недоплату у нас по НДФЛ все таки налоговый период год , Не должно быть переплат и не доплат после закрытия года. Точнее до конца марта недоплата может еще быть (хвосты). А если на конец года переплата -то да это уже не считается налогом . Я так думаю . И большинство моих клиентов так же склоняются к этому мнению. Я бы предложил смотреть недоплату и переплату в разрезе месяцев налогового периода , вот по месяцам налогового периода должно все ровно закрываться
(2) vadim1011985, контроль в разрезе месяцев налогового периода — это скорее всего просто анализ регистра Расчеты налоговых агентов с бюджетом по НДФЛ.
И этот контроль не поможет нам понять — верно ли мы платили и не накажут ли нас после сдачи 6-НДФЛ.
Ведь смысл 6-НДФЛ — контролировать СРОКИ УПЛАТЫ НДФЛ — имхо…. иначе бы для чего вводилась эта отчетность.
Вот я и хочу сделать отчет — который проверит наши данные так — как это сделает налоговая после сдачи наших 6-НДФЛ.
очень удобный отчет, а можно ли его сделать для ЗКБУ 1.0?
(3) тогда я бы показывал бы не только сумму оплаты , но и срок планируемой и фактической оплаты по каждому удержанию тогда это больше подходит по смыслу отчета контроль сроков уплаты.
Все я увидел на других скринах эти даты
(4) ludmila-chern@yandex.ru, попробую сделать…
Людмила! сейчас проверила у себя на тестовой базе ЗКБУ 1.0.91.1 — отчет работает.
Но в тестовой базе данных очень мало… если может кто-то проверить на своей реальной базе ЗКБУ 1.0.91.1 — отпишитесь, плз!
Сейчас с расчетчиками протестировали отчет! могу сказать — очень полезно и, в принципе, удобно! сразу нашли ошибки — исправили, часть переплат/недоплат — поняли почему они возникают, и остались вопросы по долгам — будут смотреть — почему они перечислили меньше, чем положено….
По поводу недоплат и переплат в отчете — поясню такую ситуацию:
11/01/2016 перечисляем зарплату, часть сумм = зарплата, и часть сумм отпускные и больничные.
Например, всего с перечисленной зарплаты удержали НДФЛ = 1000, из них 300 рублей — с отпускных и больничных, 700 рублей с зарплаты
в результате имеем два крайних срока перечисления НДФЛ:
12/01/2016 сумма удержанного НДФЛ 700
31/01/2016 сумма удержанного НДФЛ 300
(так и будет в отчете)
Но! заплатить мы можем сразу всю сумму, например, 12/01/2016, — имеем право!
И тогда будем иметь такой отчет: переплатой и недоплатой, но в целом отклонение = 0.
12/01/2016 сумма удержанного НДФЛ 700, сумма перечисленного НДФЛ 1000, отклонение -300, переплата 300
31/01/2016 сумма удержанного НДФЛ 300, сумма перечисленного НДФЛ 0, отклонение +300, недоплата 300
Итого за январь — все хорошо.
Вот не смогла я придумать — как сделать отчет — чтобы он и такие моменты контролировал…
Получилось сделать только по крайним срокам…
и еще одно замечание: данные по перечисленному НДФЛ собираются по данным документов «Перечисление НДФЛ в бюджет РФ», НО!!!! дата перечисления берется в отчет из поля «Дата платежного поручения» — потому как могут забыть установить дату документа, равной дате перечисления НДФЛ, а вот поля «Платежное поручение номер» и «Платежное поручение дата» — должны точно верно указать — они не заполняются автоматически, их берут из Бухгалтерии и, думаю, вводят эти данные осознанно ответственно и верно!
И еще — пока сверяли, обнаружили ситуацию, когда крайний срок перечисления НДФЛ приходится на выходной, тогда бухгалтера перечисляют в следующий понедельник, т.е. фактически позже крайнего срока…
Что в законах говорится про выходные при определении срока уплаты?
(9) Я думаю что это как и отчетность если день сдачи попадает на выходной то его переносят на след. возможный день уплаты. можно программно определять дата выплаты попадает на выходной или нет (и соответственно продлевать на 1 или 2 дня )
(10) vadim1011985, да, можно сделать…
поищу законы…
(11) 136 ТК РФ — При совпадении дня выплаты с выходным или нерабочим праздничным днем выплата заработной платы производится накануне этого дня.
нашлаhttp://www.glavbukh.ru/hl/140743-razdel-2-v-6-ndfl-po-otpusknym
Дата фактического получения дохода – 14.01.2016
Дата удержания налога – 14.01.2016
Срок перечисления налога – 01.02.2016 (т.к. согласно п.7 ст. 6.1 в случаях, когда последний день срока приходится на выходной, днем окончания срока считается ближайший рабочий день).
Значит надо попытаться перенести с выходных дней на ближйший рабочий…
хм… а ведь в 6-НДФЛ в данный момент срок уплаты считается без учета выходных дней???
Добавила отчет для ЗУП 2.5 — с переносом крайнего срока уплаты с выходного дня на следующий ближайший рабочий день в соответствии с производственным календарем.
http://infostart.ru/public/484446/ , а потом уже приступаем в этому отчету.
Для проверки сроков уплаты — он подходит больше, так как реально бухгалтера могут уплачивать НДФЛ в следующий ближайший рабочий день (за выходным) и это не будет являться нарушением законодательства.
В маленьких организациях — все хорошо видно и легко свести… А вот с крупными…. там черт ногу сломит… но разбираться надо! по каждому движению, друг за другом…\r
Но, сначала мы все свели в отчете
И еще: порядок также желателен и в регистре накопления «Расчеты налоговых агентом по НДФЛ», но и без него отчет должен корректно формироваться.
Добавила отчет для ЗУП 3.0 — без переноса выходных дней. Тестировала на своей учебной маленькой базе… поэтому какие-нибудь нюансы могла не учесть… пишите! Все учтем и поправим!
А нельзя сделать универсально? Например, ставим «галочку» Перенос выходных дней, а без «галочки» — значит без переноса. Можно даже еще одну сделать: «До выходных» — «После выходных».
(17) ivnik, хотела сразу сделать оба варианта в одном отчете… но как-то сразу не получилось скрестить…. а нужно было быстро до отпуска своим расчетчикам дать почву под ногами и план действий…
хотелось бы по обосбленным подразделениям
(19) chmv, смогу сделать только после 20 апреля…
Внимание!!! Версия 2.5.103.2.
Смотрю отчет — и вижу, что верхняя таблица неверна — не попадают часть строк из второй таблицы…
смотрю регистр «НДФЛРасчетыСБюджетом»… его, конечно. изменили… писали, что добавили поле Крайний срок уплаты — его заполняют с учетом выходных…
Попробую разобраться — почему сейчас отчет так формируется, переделать отчет — использовать теперь их поле…
(21) на смену сломавшемуся отчету для ЗУП 2.5 с переносом выходных дней («Контроль перечисления НДФЛ по срокам уплаты. ЗУП 2.5 и ЗКБУ 1.0.91 (с переносом выходных дней)» (!!! сломался с версии 2.5.103..)) разработан новый отчет «Контроль перечисления НДФЛ по срокам уплаты. для ЗУП с 2.5.103.. и ЗКБУ с 1.0.95.».
В версии 2.5.103.2 в регистр накопления НДФЛРасчетыСБюджетом разработчики добавили поле КрайнийСрокУплаты — в виде даты, раньше такого поля не было и его необходимо было вычислить в отчете… (возможно это поле добавили еще в релизе 2,5,102…). Разработчики успели уже поправить заполнение этого поля с учетом выходных дней дней.
Разработанный отчет использует это поле КрайнийСрокУплаты в качестве крайнего срока уплаты. Пользуйтесь этим отчетом!
Отчет «Контроль перечисления НДФЛ по срокам уплаты. ЗУП 2.5 и ЗКБУ 1.0.91» — теперь тоже не актуален.
(22) Всем скачавшим прежние версии отчетов для ЗУП 2.5 и для ЗКБУ 1.0… — могу выслать новый отчет!
(23) если не трудно скиньте на почту agema2010@mail.ru
(24) Agema, файл отправлен!
Смотрела на свой отчет… он нужный, полезный… но чего-то в нем не хватало… для общей картины.
Поняла — что нужны итоги нарастающим итогом — чтобы увидеть в целом: не доплатили мы, или переплатили — но не знала как реализовать это.
Теперь это дело я реализовала! Думаю, теперь отчет окончательный!
Отчет помогает увидеть потенциальные штрафы: это суммы «недоплат», выделенные красным цветом в колонке «Отклонение» «Недоплата» — эти суммы не всегда являются «недоплатой» — налог может быть перечислен авансом — это будет на усмотрение налоговой — зачтет она перечисленный аванс или нет…
А также отчет показывает реальные штрафы: это суммы, выделенные красным цветом в колонке «Итого нарастающим итогом» «Недоплата» — это точно «недоплата» и на нее точно будет штраф.
Конечно, подразумевается, что документы по перечислению НДФЛ введены верно!
(27) Увидев эти проблемы — можно 6-НДФЛ «подогнать» так, чтобы «недоплат» не было!
Либо найти ошибки в данных и исправить их!
По мотивам данного отчета разработан еще один похожий отчет:http://infostart.ru/public/539325/ «Контроль данных Раздела 2 регламентированного отчета 6-НДФЛ и фактически перечисленного НДФЛ. ЗУП.2.5.»
Новый отчет анализирует данные Раздела 2 регламентированного отчета 6-НДФЛ и данные по перечислениям НДФЛ.
Ведь 6-НДФЛ приходится править руками… и перед отправлением — желательно убедиться, что внесенные нами исправления не испортили «общую картину».
(23)
Как можно получить новую версию? Почта в Вашей личке.
Все это конечно хорошо. НО нет разбивки по подразделениям (кодам ИФНС или ОКТМО, КПП), и желательно расшифровка и отбор по физ. лицам, чтобы понять ИТОГОВУЮ разницу по Регистру налогового учета по НДФЛ по каждому сотруднику. Не за горами время когда придется собирать еще 2-НДФЛ. Я понимаю, что цель Вашего отчета несколько иная и ничего универсального нет.
(31) nachprod, да, скорее всего нужно сделать отчет с разбивкой по обособленным подразделениям — подумаю над этим.
Интересует: для какой конфигурации нужен отчет по обособленным подразделениям? У нас нет базы с обособленными подразделениями — поэтому и потребности нет — если появятся желающие для конкретной конфигурации — постараюсь сделать. Еще бы базу с реальными данными…
(32) в итоге сделали или нет?
(33) buKIN, нет, данный отчет по обособленным подразделениям не делала: нет базы — чтобы тестировать и нет данных чтобы понимать что и как надо… если вам нужен подобный отчет по обособленным подразделениям — могу попробовать сделать — но с вашей стороны нужно конкретизировать некоторые моменты.
(33) buKIN, может быть вам будет интересен такой отчет:http://infostart.ru/public/539325/
в нем анализируются данные готового отчета 6-НДФЛ и своевременность перечисления НДФЛ. По идее этот отчет даже важнее — ведь в налоговую вы отправляете именно эти данные и именно они должны соответствовать перечислениям НДФЛ. И он у вас уже сформирован по обособленным подразделениям.
Хм… кстати указанный отчет не проверяла на обособленных подразделениях…. надо об этом подумать!
(35) посмотрю.
(36) buKIN, можете ответить на такой вопрос:
при наличии обособленных подразделений, отчетность подается в разрезе Организация/КПП? или Организация/ОКТМО?, или Организация/КПП/ОКТМО?
(36) buKIN, Добавила отчет с учетом обособленных подразделений (http://infostart.ru/public/539325/ ) . Обособленное подразделение идентифицируется по ОКТМО и КПП. Надеюсь верно?
Кто сдает отчетность по обособленным подразделениям — скажите — верно я мыслю?
(38) да верно,http://forum.klerk.ru/printthread.php?t=552298 :
(39) Kaniman, спасибо!
(1)
Насколько я понимаю, налоговая просто разносит платежи нарастающим итогом и смотрит «-«. Причем даже без учета года. Проверено на 4 предприятиях.
Ваш отчет просто берет даты документов?