Sling - Простой генератор инвойсов на Laravel

Мои скрипты 20:05 / 06.02.2022 1 132

Sling - Simple Laravel Invoice Generator.
Это веб-приложение с открытым исходным кодом, которое помогает создавать инвойсы и отслеживать доходы. Sling основан на PHP-фреймворке Laravel.

Sling

Sling изначально был создан для личного пользования, для удобного учета доходов и генерации инвойсов для ИП со статусом "Малый бизнес" в Грузии (налог платится ежемесячно с общего оборота). Это приложение будет полезно для предприятий и частных лиц с аналогичной системой налогообложения, или просто для генерации инвойсов и учета доходов.

Особенности

  • Учет клиентов.
  • Отдельный префикс номеров инвойсов для каждого клиента с возможностью установки начального индекса номера.
  • Создание инвойсов & Скачивание инвойсов в формате PDF.
  • Модель выставления счетов: "один счет = одна услуга"
  • Одна основная валюта для учета с возможностью выставления инвойсов в других валютах. Если инвойс выставлен в неосновной валюте, можно получить обменный курс от поставщика обменных курсов на дату оплаты инвойса. На данный момент доступен только провайдер обменных курсов для грузинского лари, но провайдеры для других валют могут быть легко добавлены.
  • Можно создать неограниченное количество способов оплаты. Для каждого инвойса может быть выбран свой метод оплаты. Информация о выбранном способе оплаты будет добавлена в сгенерированный инвойс.
  • Формирование отчетов за выбранный период с группировкой по клиентам.

Информация о репозитории

Установка

Клонируйте репозиторий проекта:

$ git clone https://github.com/Icemont/sling.git

Затем перейдите в директорию с данными проекта и установите зависимости с помощью composer:

$ cd ./sling
$ composer install --no-dev

Затем создайте в корневой директории проекта файл настроек .env, скопировав его из .env.example, и отредактируйте в нем необходимые параметры, например, параметры подключения к базе данных.

Сгенерируйте ключ для приложения с помощью команды:

$ php artisan key:generate --ansi

Выполните миграции для создания исходной структуры таблиц базы данных:

$ php artisan migrate 

Завершите установку, добавив валюты в базу данных с помощью одной из команд на ваш выбор:

$ php artisan sling:install
# Или:
$ php artisan db:seed --class=CurrenciesSeeder

Минимизированные JS и CSS ресурсы уже доступны в Github репозитории, но вы можете установить версии для разработки, установив зависимости и выполнив команды:

$ npm install
$ npm run dev

Первоначальная конфигурация не отличается от типовой конфигурации проекта на Laravel, поэтому в случае затруднений вы можете обратиться к официальной документации фреймворка Laravel.

Кастомизация

Базовые настройки

Вы можете изменить некоторые основные настройки приложения в файле: config/app.php, такие как пагинация или валюта по умолчанию:

    /*
    |--------------------------------------------------------------------------
    | Sling config options
    |--------------------------------------------------------------------------
    */

    'per_page' => [
        'clients' => 25,
        'invoices' => 25,
        'payment_methods' => 25,
    ],

    'default_currency' => 'GEL',
    'invoice_index_length' => 5,
Добавление новой валюты

Если вам нужно добавить новую валюту в базу данных, вы можете добавить ее в массив $currencies в файле database/seeders/CurrenciesSeeder.php, а затем выполнить команду:

$ php artisan db:seed --class=CurrenciesSeeder

 

Скриншоты