Главная / Машиночитаемое КП
Машиночитаемое коммерческое предложение
Ответ на запрос цены, который ИИ-агент закупок кладёт в таблицу сравнения без ручного переноса. Открытый формат 1.0, схема и пример.
Машиночитаемое коммерческое предложение — ответ поставщика на запрос цены в структурированном виде (JSON по открытой схеме), который ИИ-агент покупателя может без ручного переноса положить в таблицу сравнения: позиции с единицами и количеством, цена и НДС, срок поставки, условия оплаты и доставки, срок действия предложения, реквизиты поставщика, ссылки на документы. Отправляется вместе с обычным письмом и PDF, а не вместо них.
Зачем это поставщику
Поставщиков всё чаще находит и сравнивает машина. ИИ-агент Сбер2B для закупок (с 28.09.2026) сам ищет поставщиков в открытых источниках и итогах торгов, рассылает запросы, собирает коммерческие предложения и сводит их в таблицу. Казначейство с января 2027 года откроет своего агента в ЕИС для всех государственных заказчиков — он тоже проверяет поставщиков и считает начальную цену контракта.
В таблицу сравнения попадает то, что агент смог прочитать. КП в PDF или в теле письма агент разбирает с ошибками или откладывает для человека. Машиночитаемое КП ложится в таблицу сразу и без искажений: цена за единицу, ступени по количеству, НДС, срок действия — отдельными полями.
Формат 1.0
Схема: kp-1.0.schema.json (JSON Schema 2020-12). Лицензия — CC BY 4.0: пользуйтесь, указывая источник. Поля сверх схемы допускаются.
| Поле | Что внутри | Обязательно |
|---|---|---|
schema_version |
версия формата, «1.0» | да |
quote_id, rfq_id |
номер КП и номер запроса | номер КП — да |
issued, valid_until |
когда выдано и до какого дня действуют цены | да |
supplier |
название, ИНН, КПП, ОГРН, почта, сайт | название и ИНН — да |
buyer |
покупатель из запроса | нет |
currency, vat |
валюта (RUB) и НДС: включён ли, ставка | да |
items[] |
артикул, наименование, количество, единица (unit_code по UN/CEFACT: H87 — штука), цена, сумма, НДС, наличие, срок |
артикул, наименование, количество, единица, цена, сумма — да |
items[].price_tiers[] |
вся шкала цен по количеству — агент видит, сколько стоит взять больше | нет |
total |
сумма и НДС | сумма — да |
minimum_order, availability, lead_time |
минимальная партия, наличие, срок отгрузки | нет |
payment_terms |
предоплата, отсрочка, доля в процентах | тип — да |
delivery_terms |
самовывоз, перевозчик, доставка поставщика; стоимость или «по тарифу» | да |
how_to_order |
что сделать, чтобы получить счёт | нет |
Как это работает у поставщика
- Агент или человек отправляет запрос:
POST /api/v1/rfqс артикулом, количеством и реквизитами покупателя. - Если цена позиции известна (прайс со ступенями) — КП приходит сразу в ответе. Если нужен расчёт (подбор цвета, изделие под размер) — ответ «запрос принят» с номером, а КП тем же форматом приходит письмом.
- Отдел продаж получает письмо о каждом запросе — с суммой и ссылкой на КП.
- Человеку та же ссылка открывается страницей КП, которую можно распечатать в PDF.
Пример
Первая реализация — клей для акрилового камня LISTACRYL (ООО «Хотьковское РТП»): listacryl.ru/klej/, запрос — POST https://listacryl.ru/api/v1/rfq. Ответ на запрос 300 картриджей (сокращён):
{
"schema": "https://geooptimization.ru/mashinochitaemoe-kp/kp-1.0.schema.json",
"schema_version": "1.0",
"quote_id": "KP-20261024-C75ED1",
"rfq_id": "RFQ-20261024-C75ED1",
"issued": "2026-10-24T08:33:27+03:00",
"valid_until": "2026-11-07",
"supplier": {
"name": "ООО «Хотьковское РТП»",
"inn": "5042004895",
"kpp": "504201001",
"ogrn": "1035008368141",
"email": "sales@listacryl.ru",
"site": "https://listacryl.ru"
},
"buyer": {
"name": "ООО «Пример»",
"inn": "7700000000",
"email": "zakupki@example.ru"
},
"currency": "RUB",
"vat": {
"included": true,
"rate": 22
},
"items": [
{
"line": 1,
"sku": "LSTC-ADH-75",
"name": "Клей для акрилового камня LISTACRYL Super Adhesive Acrylic Stone, картридж 75 мл, 10:1",
"qty": 300,
"unit": "шт",
"unit_code": "H87",
"price": 780,
"price_tier": "100–999 шт",
"amount": 234000,
"vat_amount": 42196.72,
"availability": "in_stock",
"shelf_life_months": 12,
"price_tiers": [
{
"min_qty": 10,
"max_qty": 99,
"price": 980
},
{
"min_qty": 100,
"max_qty": 999,
"price": 780
},
{
"min_qty": 1000,
"max_qty": 9999,
"price": 580
},
{
"min_qty": 10000,
"max_qty": null,
"price": 380
}
]
}
],
"total": {
"amount": 234000,
"vat_amount": 42196.72,
"vat_included": true
},
"minimum_order": {
"qty": 10,
"unit": "шт"
},
"payment_terms": {
"type": "prepayment",
"percent": 100,
"text": "100% предоплата по счёту"
},
"delivery_terms": {
"options": [
{
"method": "pickup",
"place": "187110, Ленинградская область, г. Кириши, проспект Победы, 32"
},
{
"method": "carrier",
"price": null,
"text": "по тарифу транспортной компании"
}
]
},
"how_to_order": "Ответьте на sales@listacryl.ru с номером RFQ-20261024-C75ED1 и реквизитами покупателя — отдел продаж выставит счёт. КП не является публичной офертой; договор заключается выставлением и оплатой счёта."
}
Внедрить у себя
Позиция прайс-листа «Машиночитаемое КП — API запроса КП» — 15 000 ₽ без НДС за сайт (коэффициент движка применяется), срок — 1 неделя: эндпоинт запроса КП с описанием OpenAPI, автоматический расчёт по вашему прайсу со ступенями, ответ в формате 1.0, страница КП для человека, письмо менеджеру о каждом запросе, лимиты от злоупотреблений. Позиции без открытой цены — в режиме «запрос принят». Посчитать вместе с остальными работами — в калькуляторе (галка «Машиночитаемое КП»), смета через API — параметр kp=1.
Перед внедрением полезно проверить сайт целиком: агент не дойдёт до запроса КП, если не нашёл и не прочитал карточку товара. Бесплатная проверка покажет, что агент видит сейчас.
Вопросы
Это замена электронной площадке или ЭДО? Нет. Машиночитаемое КП — этап до площадки и до счёта: ответ на запрос цены, который агент кладёт в сравнение. Счёт, договор и документооборот остаются прежними.
А если цены нет в открытом доступе? Тогда API отвечает «запрос принят» с номером и датой ответа, а КП приходит письмом в том же формате. Публиковать прайс не обязательно.
Обязательно ли API? Нет. Можно прикладывать JSON по схеме к обычному письму с КП. API нужен, чтобы агент получал ответ сразу, без ожидания менеджера.
Проверьте свой сайт бесплатно: уровень L0–L4 и что мешает нейросетям — за минуту.
Проверить сайтОставить заявку