Бухгалтерская первичка
Извлекаем данные из первичных документов
Классифицируем и распознаём 16 видов официальных документов, которые используются в бухгалтерском учете и налогообложении. Дальше — больше.
Типы первичных документов, с которыми работает сервис
Акт приёма-передачи нематериальных активов
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
Перечень извлекаемых полей
Основание передачи
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-код статуса запроса
200 — запрос выполнен успешно
result.images
array[$string]
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]
result.fields.is_found
boolean
true — поле найдено в документе
false — поле в документе не найдено
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]
result.tables.is_found
boolean
true — ячейка найдена в документе
false — ячейка в документе не найдена