Custom Modules¶
For Version 5.x documentation, please go to invoiceninja.github.io¶
Invoice Ninja support customs modules using https://github.com/nWidart/laravel-modules
You can watch this short video for a quick overview of the feature.
Install Module¶
To install a module run:
php artisan module:install <vendor/module> --type=github
For example:
php artisan module:install invoiceninja/sprockets --type=github
Tip
One a module is installed it can enabled/disabled on Settings > Account Management
Create Module¶
Run the following command to create a CRUD module:
php artisan ninja:make-module <module> <fields>
For example:
php artisan ninja:make-module Inventory 'name:string,description:text'
To run the database migration use:
php artisan module:migrate <module>
Tip
You can specify the module icon by setting a value from http://fontawesome.io/icons/ for “icon” in module.json.
There are two types of modules: you can either create a standard module which displays a list of a new entity type or you can create a blank module which adds functionality. For example, a custom integration with a third-party app. If you do not want an entry in the application navigation sidebar, add “no-sidebar”: 1 to the custom module’s module.json.
If you’re looking for a module to work on you can see suggested issues listed here.
Note
Our module implemention is currenty being actively worked on, you can join the discussion on our Slack group: http://slack.invoiceninja.com/