Банковская выписка
Распознавание банковских выписок
Счёт, банк, период и остатки, все операции с контрагентом, ИНН, назначением платежа и суммами — из PDF или скана выписки в таблицу.
Что извлекается
Готовая схема: берите как есть или добавьте свои поля. Если значения нет в документе, поле вернётся null со статусом missing.
| Поле | Описание | Тип | Проверка |
|---|---|---|---|
| account | Номер счёта | string | р/с по БИК |
| bik | БИК банка | string | БИК |
| bank | Банк | string | |
| period_from | Начало периода | string (date) | |
| period_to | Конец периода | string (date) | |
| opening_balance | Входящий остаток | number | |
| closing_balance | Исходящий остаток | number | |
| operations[] | Операции | array | |
| date | Дата операции | string (date) | |
| doc_number | Номер документа | string | |
| counterparty | Контрагент | string | |
| counterparty_inn | ИНН контрагента | string | ИНН |
| purpose | Назначение платежа | string | |
| credit | Приход | number | |
| debit | Расход | number | |
| total_credit | Обороты по приходу | number | сумма строк |
| total_debit | Обороты по расходу | number | сумма строк |
Пример результата
Данные вымышлены, структура — ровно по схеме из таблицы. Рамкой отмечены реквизиты, которые Typizer проверяет.
{
"account": "40702810000000000002",
"bik": "040000002",
"bank": "АО «Условный банк»",
"period_from": "2026-09-01",
"period_to": "2026-09-30",
"opening_balance": 152340.5,
"closing_balance": 248940.5,
"operations": [
{
"date": "2026-09-03",
"doc_number": "311",
"counterparty": "ООО «Клиент Один»",
"counterparty_inn": "0012312318",
"purpose": "Оплата по счёту № 418 от 14.09.2026, без НДС",
"credit": 120000,
"debit": null
},
{
"date": "2026-09-15",
"doc_number": "87",
"counterparty": "ООО «Аренда Офисов»",
"counterparty_inn": "0045645640",
"purpose": "Аренда за сентябрь 2026 г.",
"credit": null,
"debit": 23400
}
],
"total_credit": 120000,
"total_debit": 23400
}Особенности документа
- Выписки разных банков свёрстаны по-разному, а операции занимают десятки страниц. Typizer собирает операции со всех страниц в один массив, у каждой строки — источник с номером страницы.
- Назначение платежа — свободный текст; из него удобно отдельными полями достать, например, номер счёта или договора, если описать это в схеме.
- Для сверки остатков добавьте в схему обороты: сумма операций по дебету и кредиту сверяется с итоговыми оборотами выписки.
Что проверяет Typizer
- БИК — формат; номер счёта — контрольный ключ с учётом БИК.
- ИНН контрагентов — контрольные цифры.
- Обороты — сумма операций против итоговых оборотов выписки.
Не прошло — поле получает статус warn и причину. У найденных значений есть источник на странице.
Вызов API с этой схемой
Один запрос к /v1/extract: файл, схема и инструкция. Ключ — в кабинете после регистрации.
Инструкция: Номер счёта, банк и БИК, период, входящий и исходящий остаток, обороты, операции: дата, номер документа, контрагент и его ИНН, назначение, приход, расход
FAQ
Вопросы о распознавании банковских выписок
Выписка на 40 страниц — это 40 страниц тарифа?
Да, для PDF и изображений страница — это физическая страница документа. Выписку из интернет-банка в XLSX или CSV распознавать обычно не нужно.
Можно ли разнести операции по статьям?
Добавьте в схему поле категории с перечнем значений (enum) и описанием правил — модель выберет категорию для каждой операции. Источник покажет, из какого текста она выведена.
Безопасно ли загружать выписки?
Обработка идёт в России, данные не используются для обучения моделей, а исходник можно удалять сразу после прогона — это настройка организации.
Первые страницы — за наш счёт.
100 страниц при регистрации и ещё 200 страниц за ИНН компании. Без карты и без подписки.