Бухгалтерская первичка
Извлекаем данные из первичных документов
Классифицируем и распознаём 16 видов официальных документов, которые используются в бухгалтерском учете и налогообложении. Дальше — больше.
Типы первичных документов, с которыми работает сервис
Вид документа | Название в API | Извлечение | Классификация |
---|---|---|---|
Акт приёма-передачи нематериальных активов | rus_act_completition | ||
Счёт на оплату / Счёт | rus_bill | ||
Счёт-фактура | rus_invoice | ||
Универсальный передаточный документ (УПД) | rus_upd | ||
Договор | rus_contract | ||
Товарная накладная — ТОРГ-12 | rus_torg_12 | ||
Акт сверки взаиморасчётов | rus_act_reconciliation | ||
Акт приёма-передачи основных средств ОС-1 | rus_os_1 | ||
Счёт-договор (оферта) | rus_contract_invoice | ||
Банковский платёжный ордер | rus_bank_order | ||
ОС-6 | rus_os_6 | ||
Акт списания нематериальных активов | rus_act_retirement | ||
ОС-15 | rus_os_15 | ||
ОС-1Б | rus_os_1b | ||
Доверенность | rus_power_of_attorney | ||
Посторонний документ | other |
Перечень извлекаемых полей
Поле в документе | Название в API |
---|---|
Основание передачи | basis |
Покупатель: адрес | buyer_address |
Покупатель: название компании | buyer_company |
Покупатель: ФИО | buyer_fio |
Покупатель: ИНН | buyer_inn |
Покупатель: КПП | buyer_kpp |
Покупатель: ОКПО | buyer_okpo |
Валюта | currency |
Дата документа | date |
Руководитель организации: ФИО | lead_name |
Сумма НДС | nds_sum |
Номер документа | number |
Номер связанного документа | related_document |
Продавец: адрес | seller_address |
Продавец: номер банковского счёта | seller_bank_account_number |
Продавец: БИК | seller_bank_bic |
Продавец: название банка | seller_bank_name |
Продавец: название компании | seller_company |
Продавец: ФИО | seller_fio |
Продавец: ИНН | seller_inn |
Продавец: КПП | seller_kpp |
Продавец: ОКПО | seller_okpo |
Продавец: ОКУД | seller_okud |
Главный бухгалтер: ФИО | senior_accountant_name |
Груз принял: ФИО | shipment_acceptor_name |
Груз принял: должность | shipment_acceptor_position |
Получатель груза: адрес | shipment_recepient_address |
Получатель груза: компания | shipment_recepient_company |
Получатель груза: ИНН | shipment_recepient_inn |
Получатель груза: КПП | shipment_recepient_kpp |
Получатель груза: ОКДП | shipment_recepient_okdp |
Получатель груза: ОКПО | shipment_recepient_okpo |
Отпуск груза разрешил: ФИО | shipment_release_authorised_by_name |
Отпуск груза разрешил: должность | shipment_release_authorised_by_position |
Груз отпустил: ФИО | shipment_released_by_name |
Груз отпустил: должность | shipment_released_by_position |
Поставщик: адрес | shipment_supplier_address |
Поставщик: название компании | shipment_supplier_company |
Поставщик: ИНН | shipment_supplier_inn |
Поставщик: КПП | shipment_supplier_kpp |
Поставщик: ОКПО | shipment_supplier_okpo |
Поставщик: главный бухгалтер: ФИО | shipment_supplier_senior_accountant_name |
Поставщик: должность | shipment_supplier_senior_accountant_position |
Сторона А: название компании | side_a_company |
Сторона А: ФИО | side_a_name |
Сторона А: должность | side_a_position |
Сторона Б: название компании | side_b_company |
Сторона Б: ФИО | side_b_name |
Сторона Б: должность | side_b_position |
Сумма | total_sum |
Как начать работать с сервисом извлечения данных
Описали 5 популярных способов взаимодействия с сервисом. Для любого вам нужен ключ лицензии. Чтобы получить ключ, напишите нам в телеграм или на hello@dbrain.io.
Подготовьте изображение документа для теста.
Параметры запроса к API
Асинхронный запрос
async — boolean
Поведение по умолчанию: async=false
— сервис обрабатывает запросы синхронно. При отправке запроса вы получите ответ только после окончательного завершения обработки запроса сервисом.
Если вам нужен асинхронный режим, укажите в запросе async=true
. В ответ на запрос сервис вернёт в response body
параметр task_id
. Например:
Используйте этот task_id
, чтобы получить результат работы сервиса в методе result
:
Не забудьте указать в параметре token
ваш ключ лицензии. Рекомендуем запрашивать метод result
в цикле с периодом 1-2 секунды.
Тегирование запроса
task_tags — string array
Поведение по умолчанию: параметр не используется.
Функция тегирует запросы по вашему усмотрению. Это упрощает отслеживание пакетов документов, связанных с конкретным клиентом-физлицом. Для использования функции укажите в параметре task_tags
удобный вам тег: task_tags=тэг
Нормализация адресов по ФИАС
normalization_fias — boolean
false (по умолчанию) — сервис не нормализует адреса
true — сервис обращается к API сервиса Dadata.ru и возвращает адрес в формате ФИАС. Это повышает точность извлечения поля «Адрес». Нормализация приводит неструктурированный адрес к общепринятому формату, который можно сопоставлять с адресами из других источников.
Если сервис Dbrain развёрнут локально, он может обращаться за нормализацией адреса к локальному сервису Dadata. Для этого укажите адрес в параметре URL_DADATA в .env
Верификация результатов извлечения полей
verification — string
disabled (по умолчанию) — сервис сразу возвращает результаты работы алгоритмов
private — сервис отправляет результаты работы алгоритмов на ручную верификацию. Для получения доступа к интерфейсу станции верификации напишите нам в телеграм или на hello@dbrain.io
Тело запроса к API
В ответе на запрос к API:
Перед началом работы с сервисами изучите раздел «Общая информация о сервисах». Там мы рассказываем про допустимые форматы файлов, виды запросов и ответов, набор HTTP-статусов и даём рекомендации по устранению ошибок
task_id | string | Идентификатор запроса, формат: 32 символа, 16-ричная строка |
error | string | Текстовое описание ошибки |
task_tags | array[string] | Теги, если они переданы в параметре task_tags |
success | boolean | Статус запроса |
status_code | integer | HTTP-код статуса запроса
|
result.images | array[$string] | Массив data URL с MIME-типом JPEG в формате base64 — изображения найденных документов. Возвращается, если в запросе передать |
result.doc_type | string | Тип документа из списка документов, поддерживаемых сервисом |
result.confidence | number | Уровень уверенности сервиса от 0 до 1 в корректности определения типа документа. Чем ближе к 1, тем выше уверенность |
result.page_num | integer | Номер страницы в оригинальном файле, на котором найден документ |
result.fields | array | Массив, содержащий поля, которые сервис извлёк из документа |
result.fields.name | string | Название поля в документе из перечня извлекаемых полей |
result.fields.value | string | Текстовое содержимое поля, которое извлёк сервис |
result.fields.confidence | number | Уровень уверенности сервиса от 0 до 1 в корректности содержимого, извлечённого из поля |
result.fields.page_num | integer | Номер страницы в оригинальном файле, на которой найдено поле |
result.fields.coords | array[integer] | Массив с координатами поля по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый. Поле может состоять из нескольких частей |
result.fields.crops | array[$string] | Массив data URL с MIME-типом JPEG в формате base64 — изображения найденных частей поля. Возвращается, если в запросе передать |
result.fields.is_found | boolean |
|
result.tables | array[array]] | Массив, содержащий найденные в документе таблицы |
result.tables.name | string | Название ячейки таблицы по схеме table_id-X_row-Y_col-Z, где: • X — порядковый номер таблицы (сверху внизу) • Y — порядковый номер строки в таблице, начиная с 0 • Z — порядковый номер столбца в таблице, начиная с 0 |
result.tables.value | string | Текстовое содержимое ячейки таблицы |
result.tables.confidence | number | Уровень уверенности сервиса от 0 до 1 в корректности содержимого, извлечённого из ячейки |
result.tables.page_num | integer | Номер страницы в оригинальном файле, на котором найдена ячейка |
result.tables.coords | array[integer] | Массив с координатами ячейки по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый |
result.tables.crops | array[$string] | Массив data URL с MIME-типом JPEG в формате base64 — изображение ячейки. Возвращается, если в запросе передать |
result.tables.is_found | boolean |
|