Счёт на оплату
Распознавание счетов на оплату
Номер, дата, поставщик и покупатель с ИНН и КПП, банковские реквизиты, позиции и итог — из PDF, скана или фото. Реквизиты и сумма проверяются.
Что извлекается
Готовая схема: берите как есть или добавьте свои поля. Если значения нет в документе, поле вернётся null со статусом missing.
| Поле | Описание | Тип | Проверка |
|---|---|---|---|
| number | Номер счёта | string | |
| date | Дата счёта | string (date) | |
| supplier | Поставщик | object | |
| name | Наименование | string | |
| inn | ИНН | string | ИНН |
| kpp | КПП (у ИП нет) | string | КПП |
| buyer | Покупатель | object | |
| name | Наименование | string | |
| inn | ИНН | string | ИНН |
| kpp | КПП (у ИП нет) | string | КПП |
| bank | Банковские реквизиты поставщика | object | |
| bik | БИК | string | БИК |
| account | Расчётный счёт | string | р/с по БИК |
| corr_account | Корреспондентский счёт | string | |
| items[] | Позиции | array | |
| name | Наименование | string | |
| quantity | Количество | number | |
| unit | Единица измерения | string | |
| price | Цена | number | |
| amount | Сумма | number | |
| vat_amount | Сумма НДС (null — без НДС) | number | |
| total | Итого к оплате | number | сумма строк |
Пример результата
Данные вымышлены, структура — ровно по схеме из таблицы. Рамкой отмечены реквизиты, которые Typizer проверяет.
{
"number": "418",
"date": "2026-09-14",
"supplier": {
"name": "ООО «Северный ветер»",
"inn": "0012345673",
"kpp": "001201001"
},
"buyer": {
"name": "ИП Смирнова Анна Олеговна",
"inn": "001234567887",
"kpp": null
},
"bank": {
"bik": "040000001",
"account": "40702810800000000001",
"corr_account": "30101810100000000001"
},
"items": [
{
"name": "Картридж лазерный",
"quantity": 4,
"unit": "шт",
"price": 3200,
"amount": 12800
},
{
"name": "Бумага А4, 500 л.",
"quantity": 10,
"unit": "пач",
"price": 410,
"amount": 4100
}
],
"vat_amount": null,
"total": 16900
}Особенности документа
- Счёт на оплату не имеет утверждённой формы: у каждого поставщика своя вёрстка, поэтому шаблоны здесь ломаются чаще всего. Typizer ищет поля по смыслу, а не по координатам.
- НДС бывает выделен построчно, одной суммой или отсутствует («Без НДС»). Поле
vat_amountможет быть null — это нормальный результат, а не ошибка. - БИК и расчётный счёт поставщика проверяются вместе: контрольный ключ расчётного счёта считается с учётом БИК.
Что проверяет Typizer
- ИНН поставщика и покупателя — контрольные цифры (10 цифр у организаций, 12 у ИП).
- КПП — формат из 9 знаков.
- БИК — формат; расчётный счёт — контрольный ключ с учётом БИК.
- Итого — сумма позиций против итоговой суммы документа.
Не прошло — поле получает статус warn и причину. У найденных значений есть источник на странице.
Вызов API с этой схемой
Один запрос к /v1/extract: файл, схема и инструкция. Ключ — в кабинете после регистрации.
Инструкция: Номер и дата счёта, поставщик и покупатель с ИНН и КПП, банковские реквизиты поставщика, позиции, НДС, итого
FAQ
Вопросы о распознавании счетов на оплату
Что если в счёте нет КПП или НДС?
У ИП нет КПП, а при упрощённой системе нет НДС. Если их нет в документе, поле получает null и статус missing — пропуск видно сразу.
Подойдёт ли фото счёта с телефона?
Да: JPEG, PNG, WebP и другие изображения проходят распознавание текста. Чем ровнее и резче снимок, тем меньше полей со статусом warn; для сложных снимков есть режим «Точный».
Можно ли выгрузить счета в Excel?
Да. Пакет счетов в кабинете или через API выгружается в XLSX: одна строка на счёт, позиции — на отдельном листе со ссылкой на документ.
Первые страницы — за наш счёт.
100 страниц при регистрации и ещё 200 страниц за ИНН компании. Без карты и без подписки.