Сервисам, интернет-магазинам и CRM часто нужно выставлять счета автоматически — по заказу, по подписке, по кнопке в боте. Счёт должен выглядеть привычно для бухгалтерии, правильно считать НДС, а реквизиты в нём не должны содержать опечаток: иначе деньги уйдут не туда или платёж вернётся.
Добавил в библиотеку российский «Счёт на оплату» в привычном виде, как из 1С: блок банковских реквизитов получателя, поставщик и покупатель с ИНН и КПП, основание, таблица работ и услуг с переносом длинных названий и переходом на следующую страницу, подписи — для организации или ИП.
Сделал расчёт НДС как принято в России: «в том числе НДС», начисление сверху или «без НДС» для УСН и самозанятых, несколько ставок одновременно. Написал сумму прописью с правильными падежами и QR-код для оплаты по ГОСТ Р 56042-2014: клиент наводит камеру в приложении банка, и платёж заполняется сам. QR проверил распознаванием с готового PDF.
Готовый модуль, который выпускает российский счёт на оплату в PDF одной строкой кода: с правильным НДС, суммой прописью и QR-кодом для оплаты из любого банковского приложения. Счёт с ошибкой в реквизитах не выпускается. Модуль легко встроить в сайт, CRM или Telegram-бота.
https://github.com/ems07-cloud/InvoiceGenerator