Как зарегистрироваться ИП (индивидуальным предпринимателем)




Принцип обмена данными из 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='\

21 Comments

  1. babys

    Хочется отметить еще один «нюанс», с этого года с суммы капитала выведеного из обращения _необходимо_ платить 13% подоходного налога, это по мнению налоговой.

    Так что вариант «доходы» получается не очень доходным (6 + 13).

    А вариант доходы минус (1(один) + 13) требует больших временных и мыслительных затрат 🙁

    Reply
  2. babys

    Да чуть не забыл, сейчас можно «хапнуть» еще больше, до 1 000 000 руб, но только в том случае если вашему малому предприятию больше года и за вами нет долгов. И надо еще что то там обосновать, вообщем мне лень 🙂

    Reply
  3. tsd

    (1) про 13% можете какие-нибудь ссылки привести?

    Reply
  4. larisab

    Однако, люто… В Казахстане ИП платит 3% (туда входит подоходный+социальный) от доходов (вариант как ваш первый), 10% — пенсионный, 4% — соцотчисления ОТ мин.зарплаты (13470 тенге = 90$) в месяц. На НДС не становишься, если не превышаешь 10 млн.тенге в квартал оборота.

    Одна налоговая декларация в квартал. Налоги платишь 1 раз в квартал, без всяких там авансовых платежей.

    Курс примерно 5 тенге за 1 рубль.

    Reply
  5. black_doctor

    про казахстан дааа…

    я 7 лет там своим делом занимался, тут пока еще боюсь, как раз из за незнания налоговой системы…

    ну вот, теперь вроде проясняеться…

    можно еще добавить ссылочки на официальные документы на эту тему???

    тоды скорее всего в ближайшее время и займусь 🙂

    (время покажет)

    Reply
  6. lion11

    Про «И наполедок ложка дегтя: за год придется заплатить в пенсионный фонд 7274 рубля 40 копеек.»

    Не так уж это и страшно, т.к. на эту сумму можно уменьшить налог по УСН и заплатить его меньше, но вычесть можно не более половины общей суммы налога УСН. (см. порядок заполнения декларации по УСН)

    Reply
  7. babys

    (3) Налоговики ссылаются на ст 227. НК. Хотя, ИМХО, это не корректно, поэтому я официально в этом году деятельность не веду. Посмотрим по результатам года.

    Reply
  8. tossik

    (7) а в каком конкретно письме или т.п. они ссылаются?

    Reply
  9. tsd

    (7) на сколько я помню все это относится к ИП на общей системе. Упрощенщики платят в соответствии со схемами упрощенки.

    Reply
  10. lion11

    (8)(9) Письмо или закон так сразу не скажу, если найду, напишу. Я в таких случаях советуюсь с грамотными бухами, которых сопровождаю — быстрее и надежнее. Но это относится именно к Упрощенке, а следовательно и к ИП на УСН. Смотрим строку 110 раздела 2 декларации по УСН: «Сумма уплаченных за налоговый (отчетный) период страховых взносов на обязательное пенсионное страхование, а также выплаченных работникам в течение налогового (отчетного) периода из средств налогоплательщика пособий по временной нетрудоспособности, уменьшающая (но не более чем на 50%) сумму исчисленного налога по коду стр. 080»,

    из которого следует, что налог УСН можно уменьшить на сумму уплаченных взносов на ОПС на самого ИП и на его работников, если они у него есть.

    Reply
  11. lion11

    Упс… это не про то

    Reply
  12. babys

    (9) Я тоже так думал, и лет пяток проработал, а тут 🙁

    Вообщем я посоветовался с налоговиками, и решил «подождать». Благо тут переезд в другой город нарисовался.

    Reply
  13. tossik

    (10) Вы такие серьезные вещи не говорили бы, если не на что сослаться… А то здесь программисты в основном — народ неграмотный в вопросах налогообложения — могут и поверить)))

    Reply
  14. lion11

    (13) Вот ведь хитрая девушка ;))

    Так легко и непринужденно заставила залесть в НК…

    Про это написано в Главе 26.2 НК Статья 346.21. Порядок исчисления и уплаты налога. Еще по ходу интересная статейка про заполнение декларации: http://self-employed.ru/taxes/instruction-for-declaration/

    Reply
  15. tossik

    (14) терпеливо прочла ваши ссылки, но про 13% там ни одного словечка…

    Reply
  16. babys

    Возможно 155-ФЗ от 22.07.2008 навел тень на плетень, но мне в то время некогда было разбираться, тем более что клиентской базы в новом городе не было.

    Reply
  17. lion11

    (15) Я же в 11 попытался извиниться, что в 10 написал не про 13%, а про вычет ПФР 😉

    Не хватает на сайте возможности корректировать свои комментарии 🙁

    Reply
  18. lihomanov

    Народ!!! а дают деньги, ИП которое уже зарегистрировано??, или только на безработного!

    Reply
  19. lihomanov

    Дают денежные средства на уже открытое ИП, есть ссылки где можно посмотреть????

    Reply
  20. kstukov

    (19) позвони в соцстрах местный, спроси

    Reply
  21. kstukov

    (20) блин, не в соцстрах, а в центр занятости (полдня бухи по соцстраху в зупе мучили) 😉

    Reply

Leave a Comment

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