Генератор счетов для Российских компаний. Позволяет быстро и просто создавать счета для выставления.
git clone git@github.com:drakmail/bills-generator.git
npm install
mv config.example config
node app.js
Для отключения веб-версии сервиса и работе только в формате API нужно передать переменную среды API_MODE
с любым значением.
Для получения PDF надо отправить POST запрос на адрес /request
с multipart form data следующего содержания:
bill # номер счёта
name # название компании
inn # ИНН компании
kpp # КПП компании
address # адрес компании
services[0][name] # название услуги
services[0][amount] # кол-во единиц услуги
services[0][price] # стоимость услуги
Для указания информации о компании-исполнителе используется конфигурационный файл config/config.json
. Его формат прост:
{
"bank": {
"name": "ПАО \"СБЕРБАНК РОССИИ\" Г.МОСКВА",
"bik": "000000000",
"ks": "00000000000000000000"
},
"company": {
"name": "ООО \"Рога и Копыта\"",
"address": "г. Москва, ул. Крылова, д. 5",
"inn": "0000000000",
"kpp": "000000000",
"rs": "00000000000000000000",
"director": "Иванов И. И."
},
"dadata": "API_KEY"
}
Деплоить и запускать локально теперь можно через Docker. Для локального запуска достаточно выполнить команду:
docker-compose up
Приложение будет доступно на 8080
порту.
Приложение деплоится как обычное node.js. Рекоммендуется использовать mina.
Пример конфигурационного файла для nginx-passenger:
server {
listen 80;
server_name bills.your-domain.com;
access_log /var/log/nginx/bills-access;
error_log /var/log/nginx/bills-error;
client_max_body_size 1m;
client_body_buffer_size 512k;
root /var/www/bills/current/public;
proxy_redirect off;
passenger_enabled on;
passenger_min_instances 1;
}
Если вы нашли ошибку, исправили ошибку, у вас есть предложение по улучшению функциональности – действуйте как обычно – создавайте тикеты, шлите pull request :)