Перейти к содержимому

Необходимые cookie-файлы нужны для работы сайта. Аналитические cookie (Яндекс Метрика) — только с вашего согласия. Политика cookie-файлов

Кассовый чек

Распознавание кассовых чеков

Продавец и его ИНН, дата и время, фискальные реквизиты, позиции, итог и способ оплаты — с фото или скана чека, для авансовых отчётов и учёта расходов.

Что извлекается

Готовая схема: берите как есть или добавьте свои поля. Если значения нет в документе, поле вернётся null со статусом missing.

ПолеОписаниеТипПроверка
sellerПродавецstring
seller_innИНН продавцаstringИНН
addressАдрес расчётовstring
datetimeДата и времяstring (date-time)
fd_numberНомер фискального документа (ФД)string
fn_numberНомер фискального накопителя (ФН)string
fpdФискальный признак документа (ФПД)string
items[]Позицииarray
nameНаименованиеstring
quantityКоличествоnumber
amountСуммаnumber
totalИтогnumberсумма строк
paymentСпособ оплаты"cash" | "card" | "mixed"
vat_amountСумма НДСnumber

Пример результата

Данные вымышлены, структура — ровно по схеме из таблицы. Рамкой отмечены реквизиты, которые Typizer проверяет.

result.json
{
  "seller": "ООО «Кафе Пример»",
  "seller_inn": "0078978973",
  "address": "г. Москва, условная ул., 5",
  "datetime": "2026-10-03T13:42:00+03:00",
  "fd_number": "24871",
  "fn_number": "0000000000000001",
  "fpd": "1234567890",
  "items": [
    {
      "name": "Бизнес-ланч",
      "quantity": 2,
      "amount": 980
    },
    {
      "name": "Кофе американо",
      "quantity": 2,
      "amount": 360
    }
  ],
  "total": 1340,
  "payment": "card",
  "vat_amount": null
}

Особенности документа

  • Чеки фотографируют на ходу: мятая термобумага, тени, наклон. Распознавание текста справляется с большинством снимков, а поле, прочитанное неуверенно или не прошедшее проверку, получает статус warn.
  • Фискальные реквизиты (номер ФН, номер ФД, ФПД) печатаются мелким шрифтом в конце чека — описывайте их отдельными полями, если чек нужен для учёта.
  • Один снимок может содержать несколько чеков. Опишите в схеме массив чеков — каждый вернётся отдельным элементом.

Что проверяет Typizer

  • ИНН продавца — контрольные цифры.
  • Итог — сумма позиций против итога чека.
  • Дата — правдоподобный год (1900–2100), иначе статус warn.

Не прошло — поле получает статус warn и причину. У найденных значений есть источник на странице.

Вызов API с этой схемой

Один запрос к /v1/extract: файл, схема и инструкция. Ключ — в кабинете после регистрации.

Инструкция: Продавец и ИНН, адрес расчётов, дата и время, номер ФД и ФН, ФПД, позиции с количеством и суммой, итог, способ оплаты, НДС

curl
curl -X POST 'https://api.typizer.ru/v1/extract?wait=60' \
  -H 'Authorization: Bearer tz_live_YOUR_API_KEY' \
  -H "Idempotency-Key: $(uuidgen)" \
  -F 'file=@document.pdf' \
  --form-string 'schema={"type":"object","properties":{"seller":{"type":"string","description":"Продавец"},"seller_inn":{"type":"string","description":"ИНН продавца","x-typizer-check":"inn"},"address":{"type":"string","description":"Адрес расчётов"},"datetime":{"type":"string","format":"date-time","description":"Дата и время"},"fd_number":{"type":"string","description":"Номер фискального документа (ФД)"},"fn_number":{"type":"string","description":"Номер фискального накопителя (ФН)"},"fpd":{"type":"string","description":"Фискальный признак документа (ФПД)"},"items":{"type":"array","description":"Позиции","items":{"type":"object","properties":{"name":{"type":"string","description":"Наименование"},"quantity":{"type":"number","description":"Количество"},"amount":{"type":"number","description":"Сумма"}},"required":["name","quantity","amount"]}},"total":{"type":"number","description":"Итог","x-typizer-check":"sum_of","x-typizer-sum-of":"items[].amount"},"payment":{"type":"string","enum":["cash","card","mixed"],"description":"Способ оплаты"},"vat_amount":{"type":"number","description":"Сумма НДС"}},"required":["seller","seller_inn","address","datetime","fd_number","fn_number","fpd","items","total","payment","vat_amount"]}' \
  --form-string 'instructions=Продавец и ИНН, адрес расчётов, дата и время, номер ФД и ФН, ФПД, позиции с количеством и суммой, итог, способ оплаты, НДС'

FAQ

Вопросы о распознавании кассовых чеков

Не нашли ответ? Напишите — ответит человек.

hello@typizer.ruДокументация
Подходит ли для авансовых отчётов сотрудников?

Да: сотрудники присылают фото, Typizer возвращает чек в вашей схеме, а источник у каждого значения позволяет бухгалтеру быстро проверить спорное значение.

Распознаёт ли Typizer QR-код чека?

Данные извлекаются из текста чека. Если на снимке читаются фискальные реквизиты (ФН, ФД, ФПД), они вернутся отдельными полями.

Сколько стоит распознавание одного чека?

Одно фото — одна страница. Стоимость страницы зависит от пакета; при регистрации — 100 страниц бесплатно.

Первые страницы — за наш счёт.

100 страниц при регистрации и ещё 200 страниц за ИНН компании. Без карты и без подписки.