Система извлекает 100% ключевой информации из первичных бухгалтерских документов: данные контрагентов, номенклатуру, даты, суммы и ставки НДС. Решение понимает структуру документа и распознает сложные табличные формы и графические элементы, включая подписи и печати. Пользователь за секунды получает готовые структурированные данные для учета НДС, налогов по УСН, бухгалтерского учета, подготовки отчетности и других ключевых задач.
Искусственный интеллект автоматически распознает данные из регистрационных, учредительных и организационных документов, снятых на смартфон, и передает их в цифровой контур банка без ручного ввода. Обработка выполняется on-premise — непосредственно на устройстве, без передачи данных во внешние сервисы.
ИИ автоматически извлекает данные из первичных документов и передает их в структурированном виде в сервисы встроенной бухгалтерии. Система поддерживает счета, акты, накладные и другие первичные документы, что существенно ускоряет учет и снижает количество ошибок.
ИИ Smart Engines распознает сканы и фотографии в реальных условиях — включая изображения низкого качества. Алгоритмы устойчивы к шуму, размытию, перекосам и плохому освещению, что обеспечивает точное извлечение данных даже там, где традиционные OCR-решения теряют точность.
ИИ извлекает ключевые данные из счетов и платежных документов, автоматически формируя платеж — без ручного ввода и проверок. Система распознает все необходимые поля, валидирует их и сразу преобразовывает документ в готовое платежное поручение для отправки в банковские системы.
ИИ позволяет массово обрабатывать документы сотрудников при подключении к зарплатному проекту — до 100 человек в час, снижая нагрузку на персонал банка и исключая ручную обработку. Система распознает паспорта, удостоверения личности, водительские права и другие документы сотрудников, извлекая ключевые данные для автоматического формирования анкет и учетных записей.
ИИ автоматизирует актуализацию клиентских данных, ускоряя KYC/KYB-процессы и повышая их точность. Система распознает паспорта и другие типы удостоверений личности, а также учредительные и регистрационные документы компаний — от уставов до выписок и данных о бенефициарах. Это позволяет банкам быстрее обновлять данные клиентов и снижать нагрузку на операционные команды при соблюдении регуляторных требований.
ИИ обеспечивает автоматическое распознавание первичных документов, формируя основу для сервисов «бухгалтерия в банке». Данные извлекаются и преобразуются в структурированный вид, готовый для учета, отчетности и финансовых операций.
ИИ обеспечивает ввод данных в любых выездных сценариях — прямо на месте обслуживания клиента. Система распознает документы со смартфона или планшета и сразу передает данные в банковские системы без ручного ввода, стабильно работая в любых условиях — в том числе при плохом освещении, перекосах и других искажениях изображения.
Система позволяет банкам перевести дистанционное обслуживание юридических лиц и ИП в полностью цифровой формат без бумажной рутины. Решение обеспечивает быстрый ввод регистрационных, учредительных, удостоверяющих, финансовых и первичных документов в офисе, бэкенде, на выезде и при самообслуживании через мобильное приложение и PWA страницу. Данные извлекаются из сканов и фотографий, включая изображения низкого качества. Система точно распознает реквизиты, суммы и ставки НДС без лингвистических галлюцинаций, автоматически классифицирует документы, распознает рукописный и печатный текст, таблицы, штрихкоды, подписи, печати и штампы ЭЦП. Решение создано для работы on-premise, не требовательно к вычислительным мощностям, оптимизировано для работы на CPU, поддерживает потоковую обработку со скоростью 420 страниц в минуту на сервере без GPU.
DocEngine engine = DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>, true);
DocSessionSettings settings = engine.CreateSessionSettings();
settings.SetCurrentMode("primary_accounting");
settings.AddEnabledDocumentTypes("*");
DocSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
DocProcessingSettings proc_settings = session.CreateProcessingSettings();
Image image = Image.FromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image, proc_settings);
DocResult result = session.GetCurrentResult();
Document document = result.DocumentsBegin().GetDocument();
for (DocTextFieldsIterator iterator = doc.TextFieldsBegin(); !iterator.Equals(doc.TextFieldsEnd()); iterator.Advance()) {
String name = iterator.GetField().GetBaseFieldInfo().GetName();
String value = iterator.GetField().GetOcrString().GetFirstString().GetCStr();
}
std::unique_ptr<se::doc::DocEngine> engine(se::doc::DocEngine::Create(<PATH_TO_CONFIGURATION_FILE>, true));
std::unique_ptr<se::doc::DocSessionSettings> settings(engine->CreateSessionSettings());
settings->SetCurrentMode("primary_accounting");
settings->AddEnabledDocumentTypes("*");
std::unique_ptr<se::doc::DocSession> session(engine->SpawnSession(*settings, <PERSONALIZED_SIGNATURE>));
std::unique_ptr<se::doc::DocProcessingSettings> proc_settings(session->CreateProcessingSettings());
std::unique_ptr<se::common::Image> image(se::common::Image::FromFile(<PATH_TO_IMAGE>));
session->ProcessImage(*image, proc_settings.get());
const se::doc::DocResult& result = session->GetCurrentResult();
const se::doc::Document& doc = result.DocumentsBegin().GetDocument();
for (auto iterator = doc.TextFieldsBegin(); iterator != doc.TextFieldsEnd(); ++iterator) {
std::string name = iterator.GetFieldPtr()->GetBaseFieldInfo().GetName();
std::string value = iterator.GetFieldPtr()->GetOcrString().GetFirstString().GetCStr();
}
DocEngine engine = DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>, true);
DocSessionSettings settings = engine.CreateSessionSettings();
settings.SetCurrentMode("primary_accounting");
settings.AddEnabledDocumentTypes("*");
DocSession session = engine.SpawnSession(session_settings, <PERSONALIZED_SIGNATURE>);
DocProcessingSettings proc_settings = session.CreateProcessingSettings();
Image image = Image.FromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image, proc_settings);
DocResult result = session.GetCurrentResult();
doc_it = recog_result.DocumentsBegin()
Document doc = recog_result.DocumentsBegin().GetDocument();
for (DocTextFieldsIterator iterator = doc.TextFieldsBegin(); !iterator.Equals(doc.TextFieldsEnd()); iterator.Advance()) {
String name = iterator.GetField().GetBaseFieldInfo().GetName();
String value = iterator.GetField().GetOcrString().GetFirstString().GetCStr());
}
engine = pydocengine.DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>)
settings = engine.CreateSessionSettings()
settings.SetCurrentMode("primary_accounting")
settings.AddEnabledDocumentTypes("*")
session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>)
proc_settings = session.CreateProcessingSettings()
image = pydocengine.Image.FromFile(<PATH_TO_IMAGE>)
session.ProcessImage(image, proc_settings)
result = session.GetCurrentResult()
doc_it = recog_result.DocumentsBegin()
doc = recog_result.DocumentsBegin().GetDocument()
iterator = doc.TextFieldsBegin()
while(iterator != doc.TextFieldsEnd()):
name = iterator.GetField().GetBaseFieldInfo().GetName()
value = iterator.GetField().GetOcrString().GetFirstString().GetCStr()
iterator.Advance()
Автовыбор документов из списка, отсеивание ненужных документов
Уверенность распознавания, координаты объектов, вырезание полей и документов
Возврат зоны принятия решения для проверок подлинности