Форматы для поставщиков¶
Для настройки хождения документов (прайс-листов, электронных накладных, заказов) между поставщиками и программой «М-АПТЕКА плюс» необходимо, чтобы со стороны поставщика предварительно были выполнены следующие правила.
Идентификация клиента¶
Поставщик определяет Код точки доставки для каждой аптеки, куда поставляется товар. Если нет единого прайс-листа для всех аптек в организации клиента, то для каждой из аптек клиента назначается КОД, чтобы различать прайс-листы для разных аптек.
Способ обмена данными¶
Обмен данными между поставщиком и аптеками производится через FTP-сервер ftp://transport.itapteka.ru.
Поставщик выгружает файлы с прайс-листами и накладными в папки Price
и enakl
соответственно. Поставщик может выгружать несколько прайс-листов за сутки: сразу после его загрузки на сервер прайс отправляется в обработку для последующей загрузки клиенту. Поставщик скачивает файлы заказов товара от аптек из папки Zakaz
. Заказы составлены по данным выгруженных прайс-листов.
Данные для авторизации на FTP-сервере поставщик получает у службы поддержки клиентов. Подробнее см. Разное → Взаимодействие с поддержкой → Правила обращения в Службу Обслуживания Клиентов
Формат строк и данных в файле¶
Символ ; (точка с запятой) - разделитель полей для всех строк в файлах.
Исключения из правила использования символа разделителя полей это строки:
-
[Header]
и[Body]
в файле электронной накладной; -
первая строка с
SprPrice.Comment=
в прайс-листе.
Внимание
Значение поля не может содержать символы:
-
; - Точка с запятой;
-
" - Двойная кавычка (универсальная);
-
переход к новой строке и другие символы, для которых нет печатного представления.
Точка или запятая используется для разделения целой и дробной части числа. Разделитель числа должен быть одинаковый для всего файла.
Формат прайс-листа¶
Текстовый файл в кодировке Win1251.
Формат имени файла: priceКОД.txt, например: price123456.txt
.
Формат имени может быть изменён и согласован отдельно.
Первая строка файла содержит дату и время составления прайс-листа у поставщика:
1 |
|
Например: SprPrice.Comment=20.04.2021 12:00:00
Форматы полей и их порядок в остальных строках с описанием товаров указаны в таблице.
Внимание
+ отмечены номера полей обязательных к заполнению.
№ п/п |
Поле | Пояснение к заполнению |
---|---|---|
1+ | Код товара | Который используется у поставщика |
2+ | Наименование товара | Не должно содержать символ " |
3+ | Производитель | Название производителя товара |
4+ | Минимальный заказ / Кратность заказа | см. Пояснение |
5+ | Остаток | Количество товара у поставщика |
6+ | Цена | Цена поставки |
7 | Признак Маркировки | 1 - маркирован, прочие значения - нет. |
8+ | Цена реестра | Если товар относятся к списку ЖНВЛП |
9+ | Срок годности | ДД.ММ.ГГГГ |
10 | Код производителя | Код производителя товара, числовое поле, не более 12 цифр, обязательно, если этот код обязателен в заказе |
11+ | Идентификатор строки | Номер строки прайс-листа по порядку|Код товара |
Внимание
Если прайс-листе встречаются строки с одинаковыми значениями поля Код товара, то идентификатор строки обязателен! Это необходимо, чтобы различать предложения с одинаковыми товарами, имеющими отличие в цене, сроки годности, серии или производителе товара.
Пояснение¶
Минимальный заказ / Кратность заказа заполняются, если у поставщика есть минимальное количество товара для отпуска и/или кратность заказа: товар привозят упаковками по несколько штук в каждой. Формат передачи этой информации может быть изменён и согласован отдельно.
Формат файла заказа¶
Текстовый файл в кодировке Win1251 формата .zak
. Имя файла содержит Код точки доставки и Уникальный порядковый номер заказа через разделитель _ (нижнее подчёркивание), например: 00001598_1-1002.zak
.
Номер заказа уникален в рамках календарного года: c 1 января каждого года нумерация документов начинается заново.
Строки файла¶
Первая строка файла описана в таблице:
№ п/п |
Поле | № п/п |
Поле | № п/п |
Поле (пояснение к заполнению) |
---|---|---|---|---|---|
1 | Комментарии | 2 | Код точки доставки | 3 | Число заказанных позиций (строк в заказе) |
4 | Номер документа | 5 | Дата и время заказа | 6 | Дата прайс-листа (если указано у поставщика, иначе пусто) |
Форматы полей и их порядок в остальных строках указаны в таблице.
№ п/п |
Поле | Пояснение к заполнению |
---|---|---|
1 | Код товара | Из прайс-листа, по которому сделан заказ |
2 | Количество | Заказанное количество |
3 | Цена | Из прайс-листа, по которому сделан заказ |
Формат электронной накладной¶
Текстовый файл в кодировке Win1251. Имя файла содержит Код точки доставки и Номер документа накладной через разделитель $ (Доллар), например: 27158$480596.txt
.
Заголовок¶
Первая строка - [Header]. Форматы полей и их порядок для 2-ой строки указаны в таблице:
Внимание
+ отмечены номера полей обязательных к заполнению.
№ п/п |
Поле | Пояснение к заполнению |
---|---|---|
1+ | Номер накладной | |
2+ | Дата накладной | ДД.ММ.ГГГГ |
3 | Сумма (с НДС) по накладной | |
4 | Сумма НДС по накладной | |
5 | Номер счет-фактуры | Если отличается от номера накладной |
6 | Дата счет-фактуры | ДД.ММ.ГГГГ |
7 | Резерв | |
8 | Тип акцепта | Accept=415 - прямой акцепт, Accept=416 - обратный акцепт |
9 | Место деятельности отправителя | Sender=00000000007777 14 цифр идентификатора места деятености |
10 | Телефон покупателя интернет-заказа | PhoneNum="+79876543210" |
11 | Номер интернет-заказа | OrderNum="Б-123456" |
12 | Фамилия И. О. покупателя интернет-заказа | FIO="Иванов И.И." |
Для данных интернет заказа обязательно указание названия поля и символа "равно" без пробелов между ними, значение поля должно быть обязательно заключено в двойные кавычки. Данные о заказе будут использоваться при обработке документа прихода в аптеке.
Остальные поля заголовка не обрабатываются. Дополнительные поля, могут быть добавлены для удобства обработки накладных у конкретного клиента индивидуально. Например:
1 2 |
|
Товарные строки¶
Третья строка - [Body]. Следующие строки: 1 строка - 1 позиция. Форматы полей и их порядок в остальных строках с описанием товарных позиций указаны в таблице:
Внимание
+ отмечены номера полей обязательных к заполнению.
№ п/п |
Поле | Пояснение к правилам заполнения согласно свойств товара |
---|---|---|
1+ | Код товара | |
2+ | Название товара | см. 1 |
3+ | Название производителя препарата | см. 1 |
4 | Название страны производителя | см. 1 |
5+ | Количество | |
6+ | Цена поставщика с НДС | |
7+ | Цена производителя без НДС | Для списка ЖНВЛП или детского питания |
8+ | Цена поставщика без НДС | |
9+ | Цена производителя с НДС | Для списка ЖНВЛП или детского питания |
10 | Резерв | Пустое поле |
11 | Цена первого поставщика (или импортера) без НДС | |
12 | ГТД | см. 1 |
13 | Сертификаты | см. 1 и 2 |
14+ | Серия производителя | Если производитель указывает серию и см. 1 |
15 | Резерв | Пустое поле |
16+ | Дата окончания срока годности серии | |
17+ | Штрихкод производителя | Для списка ЖНВЛП. Для остальных желательно. |
18+ | Дата регистрации препарата в реестре | Для списка ЖНВЛП |
19+ | Реестровая цена в рублях (без НДС) | Для списка ЖНВЛП |
20+ | Признак маркировки | 1 - маркирован, прочие значения - нет. |
21+ | Сумма по строке с НДС | |
22+ | Признак ЖНВЛП(ЖВЛС) | 1 - Да. 0 - Нет. |
23+ | @Розничная цена интернет-заказа | см.3 |
24 | Дата реализации производителя | Формат ДД.ММ.ГГГГ (Например: 26.04.2021) |
25 | GTIN | Формат 14 цифр |
26 | КИЗ | Если в поле 23 присутствует символ @ и цена, то для интернет-заказа, можно передать КИЗ упаковок, разделитель для КИЗ символ табуляция. Символ разделитель должен присутствовать после каждого КИЗ: и после единственного в строке, и после последнего. |
Необязательные поля могут быть пустыми, но если они заполнены, то должны быть с правильными данными.
Пример четвертой и пятой строки (строки для других товаров в накладной аналогичные):
1 2 3 4 5 |
|
Пояснение к заполнению¶
-
Не должно содержать символ «;» и переход строки.
-
Серия^Регистрационный номер^Дата и орган, выдавший сертификат^Дата окончания действия сертификата. Символ ^ - разделитель данных для этого поля.
-
Только для товаров интернет-заказа (apteka.ru, zdravcity.ru). Первый символ @ обязателен. Для остальных товаров поле пустое.