API для разработчиков 1С и интеграторов

Распознавание счетов на оплату в 1С через API

Счёт поставщика — PDF, скан или фото — за доли секунды превращается в готовые реквизиты: номер и дату, ИНН и КПП, расчётный счёт и БИК, позиции, ставку и сумму НДС. Каждое значение проверяется: контрольные числа ИНН, ключ счёта по БИК, сходимость сумм. В 1С попадает только то, что сошлось, а сомнительные поля отмечаются для бухгалтера.

0,1–0,3 с

цифровой PDF-счёт

до 50 счетов

в одном запросе

12 проверок

каждого счёта

Распознавание счёта на оплату: найденные реквизиты — номер, продавец, покупатель, р/с и БИК, позиции, НДС и сумма прописью
Скан счёта после распознавания: каждый найденный реквизит отмечен на странице

Почему в 2027 году счета больше не вводят руками

Счёт на оплату — самый массовый входящий документ в бухгалтерии. Каждый нужно перенести в 1С: найти контрагента, сверить реквизиты, завести позиции, проверить НДС.

Ошибки в реквизитах стоят денег

Одна неверная цифра в расчётном счёте — и платёж уходит не туда или возвращается. Подменённые реквизиты в счёте — частая схема мошенничества.

НДС стал разнообразнее

Одни поставщики выставляют счета с НДС 22%, другие на УСН — с 5% или 7%, третьи — без НДС. Ставку и сумму надо проверять в каждом счёте.

Счетов всё больше, а формы всё разнее

1С, СБИС, Контур.Диадок, банковские конструкторы, счета-оферты интернет-сервисов, счета ИП — у каждой формы своя вёрстка.

Бухгалтер тратит время на перепечатку

А не на учёт. Сотни счетов в месяц от поставщиков, арендодателей, провайдеров и подрядчиков — и каждый нужно перенести в 1С руками.

API распознавания счетов убирает ручной ввод. 1С отправляет файл, получает готовые реквизиты в JSON и создаёт документ. Человек проверяет только то, что API отметил как сомнительное.

Что API извлекает из счёта

Документ

Вид документа, номер, дата, наименование, номер и дата документа-основания, номер заказа на поставку, дата получения, прочие даты

Суммы

Сумма без НДС, сумма НДС, сумма с НДС, ставка НДС, валюта (код ISO 4217)

Сумма прописью

Целая и дробная части числом и прописью, валюта целой и дробной части

Контрагент

ОПФ и наименование, ИНН и КПП, ОГРН и ОГРНИП, расчётный счёт, банк и БИК, тип контрагента (продавец или покупатель)

Обе стороны целиком

Продавец и покупатель с ОПФ, ИНН, КПП, ОГРН, р/с, банком, БИК и корреспондентским счётом

Табличная часть

Код товара, наименование, количество, единица измерения, цена, ставка НДС, сумма НДС и сумма с НДС по строке

Контрагент определяется автоматически. Передайте в запросе ИНН своих организаций — и в полях counterparty_* всегда будет вторая сторона счёта: поставщик во входящем счёте, покупатель в исходящем.

Как выглядит распознавание

Скан счёта на оплату до распознавания
Было: скан счёта с таблицей товаров, НДС 22% и суммой прописью
Распознанный счёт: реквизиты продавца и покупателя, р/с и БИК, позиции и итоги отмечены рамками
Стало: все реквизиты найдены, проверки пройдены, на ручную проверку — ничего

Как это работает: пять шагов

Схема распознавания счетов в 1С через API: счёт — 1С — api.alial.group — JSON — документ в 1С
  1. 1

    Счёт приходит в любом виде

    PDF из 1С или ЭДО, скан, фото со смартфона, документ Word.

  2. 2

    1С отправляет файл в API

    Один счёт, в очередь или пакетом до 50 штук.

  3. 3

    API находит реквизиты и проверяет их

    Номер, дата, стороны, банковские реквизиты, позиции, суммы и НДС.

  4. 4

    1С получает JSON

    Цифровой PDF — за доли секунды, скан — за 5–15 секунд на страницу. Отдельно приходит список полей, которые стоит проверить вручную.

  5. 5

    В 1С создаётся документ

    Контрагент находится по ИНН, позиции и суммы заполняются из ответа.

Двенадцать проверок каждого счёта

Распознать текст мало: важно, чтобы в 1С не попала ошибка. Поэтому каждое значение проходит проверки.

ИНН продавца и покупателя — контрольные числа (10 и 12 знаков)

ОГРН и ОГРНИП — контрольное число

КПП — формат

Расчётный счёт — ключ по БИК банка, по алгоритму Банка России

Корреспондентский счёт — ключ по БИК

Итог — сумма без НДС плюс НДС равна сумме к оплате

НДС — соответствует ставке

Сумма прописью — совпадает с суммой цифрами

Табличная часть — сумма позиций равна итогу

Каждая строка — количество × цена равно сумме строки

Стороны — продавец и покупатель — разные организации

Обязательные поля — номер, дата, итог и позиции найдены

Если проверка не прошла, поле попадает в список needs_review. Пустой список — счёт можно принимать автоматически. Так бухгалтер смотрит не на каждый счёт, а только на те, где что-то не сошлось.

Пример ответа API

JSON
{
  "request_id": "req_b77941c7d1f56fd6945b1bef",
  "status": "completed",
  "needs_review": [],
  "result": {
    "number": "1248",
    "date": "12.01.2027",
    "parent_doc_name": "Договор поставки",
    "parent_number": "14/2026",
    "parent_date": "15.12.2026",
    "amount_without_vat": 36770.49,
    "vat_amount": 8089.51,
    "amount_with_vat": 44860,
    "vat_rate": 22,
    "currency": "RUB",
    "counterparty_name": "ООО «Северный ветер»",
    "counterparty_inn": "6710562622",
    "counterparty_kpp": "773001001",
    "counterparty_account": "40702810046832553676",
    "counterparty_bik": "044525225",
    "counterparty_bank": "ПАО СБЕРБАНК г. Москва",
    "counterparty_type": "продавец",
    "items": [
      { "name": "Бумага офисная А4 «Снегурочка», 500 л.", "quantity": 40, "unit": "пачка",
        "price": 389, "vat_rate": 22, "amount_with_vat": 15560 },
      { "name": "Картридж лазерный HP 85A (CE285A), оригинальный", "quantity": 4, "unit": "шт",
        "price": 6950, "vat_rate": 22, "amount_with_vat": 27800 },
      { "name": "Доставка до склада покупателя, г. Москва", "quantity": 1, "unit": "усл",
        "price": 1500, "vat_rate": 22, "amount_with_vat": 1500 }
    ]
  }
}
Ответ API распознавания счёта в формате JSON: номер, дата, контрагент, ИНН, р/с, позиции, НДС
Ответ API на этот же скан: реквизиты в JSON, needs_review пустой — счёт можно принимать без проверки

Все поля, типы и коды ошибок описаны в документации API — раздел «Счета».

Подключение к 1С за пять шагов

Внешние компоненты не нужны: хватит штатных HTTPСоединение и ЗаписьJSON платформы 1С:Предприятие 8.3. Пример подходит для Бухгалтерии предприятия, Управления торговлей, УНФ, ERP и самописных конфигураций.

  1. 01

    Зарегистрируйтесь

    на api.alial.group и выпустите API-ключ.

  2. 02

    Сохраните ключ

    в константе или безопасном хранилище, не в коде.

  3. 03

    Добавьте общий модуль

    с функцией вызова API (ниже).

  4. 04

    Отправляйте счета

    из формы документа, из обработки загрузки или регламентным заданием.

  5. 05

    Заполняйте документ

    по ответу: контрагента — по ИНН, позиции — из items.

Функция вызова API

1С
Функция ЗапросAlial(Метод, Адрес, ТелоJSON = Неопределено) Экспорт

	АпиКлюч = Константы.АлиалКлючAPI.Получить(); // ak_live_...

	Соединение = Новый HTTPСоединение("api.alial.group", 443, , , , 120,
		Новый ЗащищенноеСоединениеOpenSSL);

	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization", "Bearer " + АпиКлюч);
	Заголовки.Вставить("Content-Type", "application/json");

	Запрос = Новый HTTPЗапрос(Адрес, Заголовки);
	Если ТелоJSON <> Неопределено Тогда
		Запрос.УстановитьТелоИзСтроки(ТелоJSON, КодировкаТекста.UTF8);
	КонецЕсли;

	Если Метод = "POST" Тогда
		Ответ = Соединение.ОтправитьДляОбработки(Запрос);
	Иначе
		Ответ = Соединение.Получить(Запрос);
	КонецЕсли;

	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
	Результат = ПрочитатьJSON(Чтение, Истина);
	Чтение.Закрыть();

	Результат.Вставить("КодСостояния", Ответ.КодСостояния);
	Возврат Результат;

КонецФункции

Распознать счёт

1С
Тело = Новый Структура;
Тело.Вставить("file_name", "schet.pdf");
Тело.Вставить("file_base64", ФайлВBase64(ДвоичныеДанные));
Тело.Вставить("our_inns", "7802704406"); // ИНН ваших организаций

Ответ = ЗапросAlial("POST", "/v1/invoices", ВJSON(Тело));

Счет = Ответ["result"];
Контрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Счет["counterparty_inn"]);
Для Каждого Позиция Из Счет["items"] Цикл
	// Позиция["name"], Позиция["quantity"], Позиция["price"], Позиция["amount_with_vat"]
КонецЦикла;

Если Ответ["needs_review"].Количество() > 0 Тогда
	// показать бухгалтеру поля, которые не прошли проверку
КонецЕсли;
Пример кода 1С для распознавания счёта через API alial: вызов /v1/invoices и разбор ответа

Сканы — через очередь

Скан распознаётся 5–15 секунд на страницу. Чтобы не держать пользователя, отправьте счёт с async: true и заберите результат позже, например регламентным заданием.

1С
Тело.Вставить("async", Истина);
ИД = ЗапросAlial("POST", "/v1/invoices", ВJSON(Тело))["request_id"];

// Через несколько секунд:
Ответ = ЗапросAlial("GET", "/v1/invoices/" + ИД);
Если Ответ["status"] = "completed" Тогда
	Счет = Ответ["result"];
КонецЕсли;

Пакет до 50 счетов

1С
Тело = Новый Структура("files", МассивФайлов); // [{file_name, file_base64}, ...]
ИДПакета = ЗапросAlial("POST", "/v1/invoices/batch", ВJSON(Тело))["batch_id"];

Пакет = ЗапросAlial("GET", "/v1/invoices/batch/" + ИДПакета);
Если Пакет["status"] = "completed" Тогда
	Для Каждого Документ Из Пакет["documents"] Цикл
		// Документ["file_name"], Документ["result"], Документ["needs_review"]
	КонецЦикла;
КонецЕсли;

Полный модуль включает вспомогательные функции и пример создания документа «Счёт на оплату поставщика» в Бухгалтерии 3.0. Имена документов и реквизитов зависят от конфигурации — сверьте их со своей базой.

Тот же вызов на Python, PHP и cURL

Не только 1С: API работает из любой системы — ERP, СЭД, сервиса закупок, скрипта бухгалтерии. Достаточно отправить файл методом POST и прочитать JSON.

cURL
# Синхронно: ответ с реквизитами сразу
curl -X POST https://api.alial.group/v1/invoices \
  -H "Authorization: Bearer $ALIAL_API_KEY" \
  -F file=@schet.pdf \
  -F our_inns=7802704406

# Асинхронно: сначала request_id, результат — по ссылке status_url
curl -X POST https://api.alial.group/v1/invoices \
  -H "Authorization: Bearer $ALIAL_API_KEY" \
  -F file=@scan.jpg -F async=true

curl https://api.alial.group/v1/invoices/req_309515e388c92641397fcdbe \
  -H "Authorization: Bearer $ALIAL_API_KEY"

# Пакет до 50 счетов
curl -X POST https://api.alial.group/v1/invoices/batch \
  -H "Authorization: Bearer $ALIAL_API_KEY" \
  -F files=@1.pdf -F files=@2.pdf -F files=@3.jpg

Три режима работы

Синхронный

POST /v1/invoices

Цифровые PDF: ответ сразу, за доли секунды. Кнопка «Распознать» в форме документа

Асинхронный

POST /v1/invoices с async: true, затем GET /v1/invoices/{id}

Сканы и фото; системы, которые не ждут ответа дольше нескольких секунд

Пакетный

POST /v1/invoices/batch

Загрузка за день или из почтового ящика: до 50 счетов одним запросом

Результаты асинхронных запросов и пакетов хранятся 24 часа — их можно забрать в любой момент.

Какие счета поддерживаются

Форматы

PDF, JPG, PNG, TIFF, BMP, WEBP, HEIC, DOCX, DOC, RTF, ODT, до 10 МБ и 30 страниц.

Цифровые PDF с текстовым слоем

Из 1С, СБИС, Контур.Диадока, банков, интернет-сервисов. Реквизиты берутся из текста документа, без потерь качества.

Сканы и фото

Страница распознаётся, разворачивается и выравнивается автоматически.

Любые формы

Классический счёт 1С с образцом платёжного поручения, счета-оферты, счета-заказы, счета ИП и самозанятых, счета в две колонки, многостраничные счета с листом подписей ЭДО.

Любой НДС

22%, 20%, 10%, УСН с 5% и 7%, «без НДС»; НДС в сумме и сверху.

Таблицы любой сложности

Многострочные наименования, артикулы, отдельные колонки ставки и суммы НДС, многоуровневые заголовки.

Шаблоны под каждого поставщика настраивать не нужно: новая форма счёта распознаётся сразу.

Скорость и нагрузка

Измерено на рабочем сервере на счетах разных форм

0,1–0,3 с

цифровой PDF вместе с передачей файла

≈ 2 с

пакет из 50 счетов до готовности всех

2,2 с

50 запросов подряд по 5 одновременно, без ошибок

5–15 с

страница скана

Этого хватит и бухгалтерии на 30 счетов в день, и общему центру обслуживания на тысячи.

Безопасность данных

Файлы не хранятся

Удаляются сразу после распознавания.

Реквизиты не сохраняются в базе

Ответ возвращается в запросе; для асинхронных запросов он хранится 24 часа, чтобы его можно было забрать.

Серверы в России

Передача данных только по HTTPS.

Доступ по API-ключу

Ключ можно отозвать в личном кабинете в любой момент.

API или готовая обработка для 1С?

API распознавания счетов

Эта страница

Для разработчиков 1С, интеграторов и ИТ-отделов. Встраивается в вашу конфигурацию, ERP или собственную систему; вы решаете, какой документ создавать и как сопоставлять номенклатуру. Пакеты, очереди, проверки реквизитов.

Получить API-ключ

Готовая обработка для 1С

Без программирования

Внешняя обработка для Бухгалтерии, УТ и УНФ: загрузка из почты, автосоздание документов, сопоставление номенклатуры. Подходит, если в штате нет разработчика 1С.

Распознавание документов в 1С

Стоимость

  • Регистрация бесплатная

    API-ключ выпускается сразу.

  • На старте — 1 000 ₽ на баланс

    Хватит, чтобы прогнать через распознавание свои счета и посмотреть на результат до любых обязательств.

  • Оплата — только за распознанные счета

    Если файл не прочитался, деньги не списываются.

  • Расходы, статистика и качество распознавания

    В личном кабинете, на странице «Счета»: сколько счетов обработано, какие поля находятся, что пришлось проверять вручную.

Для больших объёмов — индивидуальная цена.

Частые вопросы

Как распознать счёт на оплату в 1С автоматически?+

Отправьте файл счёта из 1С методом POST /v1/invoices — штатным HTTPСоединение, без внешних компонент. В ответ придут реквизиты в JSON: номер, дата, контрагент с ИНН и р/с, позиции и НДС. По ним 1С создаёт документ. Готовый общий модуль — на этой странице.

Какие реквизиты извлекаются из счёта?+

Номер и дата; документ-основание; номер заказа; суммы без НДС, НДС и с НДС; ставка НДС; сумма прописью; наименование, ОПФ, ИНН, КПП, ОГРН, расчётный счёт, банк и БИК продавца и покупателя; табличная часть с кодом, наименованием, количеством, единицей, ценой и НДС по каждой строке.

Распознаются ли сканы и фотографии счетов?+

Да. Сканы и фото в JPG, PNG, TIFF, HEIC и PDF распознаются, страница при этом разворачивается и выравнивается автоматически. Одна страница скана обрабатывается 5–15 секунд, поэтому их удобно отправлять в асинхронном режиме или пакетом.

Как API понимает, кто поставщик, а кто покупатель?+

По подписям в счёте: «Поставщик», «Продавец», «Исполнитель», «Получатель», «Покупатель», «Плательщик», «Заказчик» и другим. Если передать в запросе ИНН своих организаций (our_inns), контрагентом всегда будет вторая сторона.

Что делать, если реквизит распознан неверно?+

Неверное значение не пройдёт проверку — контрольного числа ИНН, ключа счёта по БИК, сходимости сумм — и попадёт в список needs_review. Такие поля показывайте бухгалтеру, остальные можно принимать автоматически.

Сколько счетов можно распознать за раз?+

До 50 счетов в одном пакетном запросе, а запросы можно отправлять один за другим. Цифровой PDF распознаётся за доли секунды, пакет из 50 счетов — примерно за 2 секунды.

Подходит ли API для 1С:Бухгалтерии 3.0, УТ, УНФ и ERP?+

Да. API вызывается штатными средствами платформы 1С:Предприятие 8.3 и не зависит от конфигурации. Имена документов и реквизитов при заполнении сверьте со своей конфигурацией.

Сохраняются ли наши счета на ваших серверах?+

Нет. Файлы удаляются сразу после распознавания, реквизиты в базе не хранятся. Ответ асинхронного запроса держится 24 часа, чтобы его можно было забрать.

Чем API отличается от готовой обработки для 1С?+

API встраивается в вашу систему, и логику создания документов определяете вы — это вариант для разработчиков и интеграторов. Готовая обработка работает «из коробки»: загрузка из почты, автосоздание документов, сопоставление номенклатуры без программирования.

Сколько стоит распознавание счетов?+

Регистрация бесплатная, при ней на баланс начисляется 1 000 ₽ на тестирование. Дальше оплата — за каждый распознанный счёт; если файл не удалось прочитать, деньги не списываются. Текущие тарифы и баланс — в личном кабинете, для больших объёмов — индивидуальная цена.

Нужна загрузка счетов без программирования? Готовая обработка для 1С работает из коробки.

Подключите распознавание счетов к 1С сегодня

Зарегистрируйтесь, выпустите API-ключ и отправьте первый счёт — пример кода для 1С уже на этой странице.