PropNum.ruPropNum
Инструменты и интеграции

API суммы прописью: подключение к 1С, CRM и веб-приложениям

4 мин чтения

PropNum предоставляет бесплатный REST API для получения суммы прописью. Без регистрации, без ключа. Если вы генерируете документы программно — это быстрее, чем писать собственный алгоритм склонения.

Базовый запрос

GET https://propnum.ru/api/convert/num?amount=125000

Можно отправлять и POST с телом JSON — результат одинаковый:

POST https://propnum.ru/api/convert/num
Content-Type: application/json

{ "amount": 125000, "currency": "RUB" }

Ответ:

{
  "amount": 125000,
  "currency": "RUB",
  "case": "nom",
  "result": {
    "full": "Сто двадцать пять тысяч рублей 00 копеек",
    "text": "Сто двадцать пять тысяч рублей 00 копеек",
    "currency": "рублей",
    "parts": {
      "integer": "сто двадцать пять тысяч",
      "fractional": "00",
      "fractionalUnit": "копеек"
    }
  }
}

Готовую формулировку берите из поля result.full (или result.text — это синоним).

Параметры запроса

ПараметрТипОписаниеПример
amountчислоСумма для переводаamount=125000 или 125000.50
currencyстрокаВалюта: RUB, USD, EUR, KZTcurrency=USD
caseстрокаПадеж: nom, gen, dat, acc, ins, precase=gen
capitalizeboolЗаглавная первая буква (по умолчанию true)capitalize=false
show_currencyboolДобавлять «рублей/копеек» (по умолчанию true)show_currency=false

Пример в родительном падеже (для доверенностей)

GET https://propnum.ru/api/convert/num?amount=500000&case=gen

В поле result.full вернётся «Пятисот тысяч рублей 00 копеек».

НДС прописью: отдельный эндпоинт

Расчёт НДС вынесен в отдельный метод /api/convert/nds. Он сам считает налог и возвращает прописью три суммы: итог, сумму без налога и сам НДС.

GET https://propnum.ru/api/convert/nds?amount=100000&rate=22&mode=add

Параметры: amount — сумма, rate — ставка (22, 20, 10…), modeadd (начислить сверху) или extract (выделить из суммы).

Ответ:

{
  "amount": 100000,
  "rate": 22,
  "mode": "add",
  "currency": "RUB",
  "result": {
    "total": 122000,
    "net": 100000,
    "vat": 22000,
    "text": {
      "total": "Сто двадцать две тысячи рублей 00 копеек",
      "net": "Сто тысяч рублей 00 копеек",
      "vat": "Двадцать две тысячи рублей 00 копеек"
    }
  }
}

Интеграция: Python

import requests

def get_propisyu(amount, currency="RUB", case="nom"):
    params = {"amount": amount, "currency": currency, "case": case}
    response = requests.get("https://propnum.ru/api/convert/num", params=params)
    return response.json()["result"]["full"]

def get_nds_propisyu(amount, rate=22, mode="add"):
    params = {"amount": amount, "rate": rate, "mode": mode}
    data = requests.get("https://propnum.ru/api/convert/nds", params=params).json()
    return {
        "net": data["result"]["text"]["net"],
        "vat": data["result"]["text"]["vat"],
        "total": data["result"]["text"]["total"],
    }

# Использование
print(get_propisyu(125000))
# 'Сто двадцать пять тысяч рублей 00 копеек'

print(get_nds_propisyu(100000, rate=22))
# {'net': 'Сто тысяч рублей 00 копеек',
#  'vat': 'Двадцать две тысячи рублей 00 копеек',
#  'total': 'Сто двадцать две тысячи рублей 00 копеек'}

Интеграция: PHP

function getPropisyu($amount, $currency = 'RUB', $case = 'nom') {
    $params = ['amount' => $amount, 'currency' => $currency, 'case' => $case];
    $url = 'https://propnum.ru/api/convert/num?' . http_build_query($params);
    $data = json_decode(file_get_contents($url), true);
    return $data['result']['full'];
}

// Использование
echo getPropisyu(125000);
// Сто двадцать пять тысяч рублей 00 копеек

Интеграция: 1С (HTTP-запрос)

В 1С:Бухгалтерия и 1С:Предприятие можно делать HTTP-запросы через объект HTTPСоединение.

Функция ПолучитьПрописью(Сумма) Экспорт

    АдресСервера = "propnum.ru";
    Путь = "/api/convert/num?amount=" + Формат(Сумма, "ЧРГ=; ЧДЦ=2; ЧРД=.");

    Соединение = Новый HTTPСоединение(АдресСервера, 443, , , , 30,
                     Новый ЗащищенноеСоединениеOpenSSL());

    Запрос = Новый HTTPЗапрос(Путь);
    Ответ = Соединение.Получить(Запрос);

    Если Ответ.КодСостояния = 200 Тогда
        Данные = ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку());
        Возврат Данные["result"]["full"];
    Иначе
        Возврат "";
    КонецЕсли;

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

// Использование
ПрописьюСумма = ПолучитьПрописью(125000);
// Сто двадцать пять тысяч рублей 00 копеек

Другие методы API

Кроме суммы и НДС, API умеет:

  • Дата прописьюGET /api/convert/date?date=2026-06-16&case=gen (для договоров и приказов).
  • Склонение словосочетанийGET /api/convert/cases?phrase=трудовой договор&case=dat.

Полное описание всех методов и параметров — на странице propnum.ru/api-docs.

Типичные сценарии использования

Генератор счетов и актов. Система автоматически формирует PDF-документы, подставляя сумму прописью из API. Не нужно писать и поддерживать собственный алгоритм склонения.

CRM при создании договора. Менеджер вводит сумму договора — система автоматически заполняет поле «сумма прописью» через API и вставляет в шаблон документа Word.

1С при формировании платёжного поручения. При создании платёжки поле «Сумма прописью» заполняется автоматически запросом к API.

Telegram-бот для бухгалтера. Пользователь присылает число — бот отвечает формулировкой прописью. Простая интеграция за 20 строк кода.

Лимиты

Базовый API без ключа: 10 запросов в минуту и 3 запроса в секунду с одного IP. Для большинства задач этого достаточно.

Для интеграций с большим объёмом (корпоративные системы, массовое формирование документов) свяжитесь через страницу контактов — обсудим условия.

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

Нужна ли регистрация для использования API?
Нет. API работает без регистрации и без ключей — просто отправляйте запросы.
Какой формат ответа возвращает API?
JSON в кодировке UTF-8. Готовая формулировка — в поле `result.full`.
Можно ли получить прописью в родительном падеже для доверенностей?
Да: добавьте параметр `case=gen`. Поддерживаются падежи nom, gen, dat, acc, ins, pre.
Как получить сумму с НДС?
Используйте отдельный метод `/api/convert/nds` с параметрами `rate` и `mode` — он вернёт итог, сумму без налога и НДС прописью.
Есть ли SDK для JavaScript?
Официального SDK нет, но API работает через стандартный fetch/axios — дополнительные библиотеки не нужны.

Попробуйте инструменты PropNum

Похожие статьи