| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
PHP библиотека для создания электронных транспортных накладных (ЭТрН) в формате ФНС.
Библиотека предназначена для генерации XML документов электронных транспортных накладных в соответствии с требованиями ФНС России. Поддерживает создание всех титулов ЭТрН документов.
| Титул | Код документа | Описание | Статус |
|---|---|---|---|
| Т1 | ON_TRNACLGROT | Информация о грузе, ТС, водителе (Грузоотправитель) | ✅ Поддерживается |
| Т2 | ON_TRNACLPPRIN | Принятие груза к перевозке (Перевозчик) | 🚧 В разработке |
| Т3 | ON_TRNACLGRPO | Приемка груза, состояние при выгрузке (Грузополучатель) | 🚧 В разработке |
| Т4 | ON_TRNACLPVYN | Выдача груза, замечания по выгрузке (Перевозчик) | 🚧 В разработке |
composer require maxistyle/russian-etrn-builderrequire_once 'vendor/autoload.php';<?php
require_once __DIR__ . '/vendor/autoload.php';
use MaxiStyle\EtrnBuilder\DocumentGenerator;
use MaxiStyle\EtrnBuilder\Entities;
// Создаем контакты грузоотправителя
$contact = new Entities\Contact();
$contact->set('phone', '+7 222 888 44 44');
// Создаем адрес грузоотправителя
$address = new Entities\Address();
$address->set('full', 'Хабаровский край, г Хабаровск, Суворова улица 82А')
->set('countryCode', '643');
// Создаем юридическое лицо
$ul = new Entities\LegalEntity();
$ul->set('name', 'ООО "МНОГОВОЗОФФ"')
->set('inn', '2724218020')
->set('kpp', '272301001');
// Создаем сведения о грузоотправителе
$svGO = new Entities\Shipper();
$svGO->set('goEksp', 0) // грузоотправитель не является экспедитором
->set('ul', $ul)
->set('address', $address)
->set('contact', $contact);
// Создаем содержание информации грузоотправителя
$sodInfGO = new Entities\Shipment();
$sodInfGO->set('svGO', $svGO);
// Создаем документ Т1
$doc = new Entities\T1();
$doc->set('numTrN', 'ТН-001') // номер транспортной накладной
->set('numOrder', 'Без номера') // номер заказа
->set('dateTrN', new DateTime()) // дата транспортной накладной
->set('dateOrder', new DateTime()) // дата заказа
->set('dateFile', new DateTime()) // дата формирования файла
->set('sodInfGO', $sodInfGO);
// Генерируем XML
$generator = new DocumentGenerator();
try {
$xml = $generator->generate($doc);
$generator->saveToFile($xml, './example.xml');
echo 'XML файл успешно создан!';
} catch (Exception $e) {
echo 'Ошибка: ' . $e->getMessage();
}russian-etrn-builder/ ├── src/ │ ├── DocumentGenerator.php # Основной класс генерации │ ├── Builders/ # Билдеры для каждого титула │ │ ├── DocumentBuilder.php # Базовый билдер │ │ ├── DocumentBuilderInterface.php │ │ └── T1Builder.php # Билдер для титула Т1 │ ├── Entities/ # Сущности данных │ │ ├── Address.php # Адрес │ │ ├── BaseEntity.php # Базовый класс сущности │ │ ├── Contact.php # Контактная информация │ │ ├── Document.php # Базовый класс документа │ │ ├── IP.php # Индивидуальный предприниматель │ │ ├── SodInfGO.php # Содержание информации грузоотправителя │ │ ├── SvGO.php # Сведения о грузоотправителе │ │ ├── T1.php # Документ титула Т1 │ │ └── UL.php # Юридическое лицо │ └── Exception/ # Исключения │ ├── UnsupportedDocumentException.php │ └── XMLGenerationException.php ├── examples/ │ └── t1.php # Пример создания титула Т1 ├── composer.json └── README.md
Основной класс для генерации XML документов.
Методы:
Все сущности наследуются от BaseEntity и имеют методы:
Основные сущности:
Библиотека использует два типа исключений:
try {
$xml = $generator->generate($document);
} catch (MaxiStyle\EtrnBuilder\Exception\UnsupportedDocumentException $e) {
echo "Неподдерживаемый тип документа: " . $e->getMessage();
} catch (MaxiStyle\EtrnBuilder\Exception\XMLGenerationException $e) {
echo "Ошибка генерации XML: " . $e->getMessage();
}Проект распространяется под лицензией MIT. Подробности в файле LICENSE.
MaxiStyle
Для получения поддержки или сообщения об ошибках создавайте issues в репозитории проекта.
Библиотека разработана в соответствии с требованиями ФНС России для электронного документооборота транспортных накладных.
| Back | FazBrowse Home | New Git URL |