InvoiceNinjaModule
Laminas Module to consume the InvoiceNinja API.
Install / Use
/learn @alexz707/InvoiceNinjaModuleREADME
InvoiceNinjaModule
Laminas Module to consume the InvoiceNinja V5 API (https://www.invoiceninja.com).
Description
Latest release can handle the following api services:
- Clients
- Invoices
- Products
- Tax rates
Can use basic or digest server authorization.
Known issues
- Invoice Ninja API V5 is (mostly) returning strings instead of the real data type but wants the real data types in the requests. If you find out about a field which behaves like this please open an issue!
- Not all endpoints are implemented -> if you need one please send a PR or open an issue.
- Humbug is deprecated and should be changed to Infection
Installation
The suggested installation method is via composer:
php composer.phar require alexz707/invoiceninja-module
Configure module
- Copy
/vendor/alexz707/invoiceninja-module/config/invoiceninja.global.php.distinto your global autoload folder, remove the dist extension so that Laminas picks it up - If you use your own instance of invoice ninja change the
host url - Replace the
tokenwith your generated invoice ninja token - If you use
basicordigestauthorization uncomment the used method and fill in your credentials
Module::INVOICE_NINJA_CONFIG => [
Module::API_TIMEOUT => 100,
Module::TOKEN => 'YOURTOKEN',
Module::HOST_URL => 'https://ninja.dev/api/v1',
/*
* If the api is protected by htaccess uncomment
* ONE of the following code blocks and use your credentials.
*/
Module::AUTHORIZATION => [
/*
* BASIC authorization
* \Zend\Http\Client::AUTH_BASIC => [
* Module::AUTH_USER => 'YOURUSER',
* Module::AUTH_PASS => 'YOURPASSWORD'
* ]
*/
/*
* DIGEST authorization
* \Zend\Http\ClientClient::AUTH_DIGEST => [
* Module::AUTH_USER => 'YOURUSER',
* Module::AUTH_PASS => 'YOURPASSWORD'
* ]
*/
]
]
Enable module
Register as Laminas module inside your config/application.config.php file:
'modules' => [
'Laminas\Router',
'InvoiceNinjaModule',
'YourApplicationModule',
],
Use the service managers
/** @var ClientManager $clientManager */
$clientManager = $sm->get(ClientManager::class);
$client = $clientManager->getClientById('1');
Related Skills
Chipzstar/
ExamGenius provides A-level students with predicted exam papers for their future exams by analysing the past 5 years of exam papers and specifications using AI.
valuecell
10.1kValueCell is a community-driven, multi-agent platform for financial applications.
beanquery-mcp
43Beancount MCP Server is an experimental implementation that utilizes the Model Context Protocol (MCP) to enable AI assistants to query and analyze Beancount ledger files using Beancount Query Language (BQL) and the beanquery tool.
REFERENCE
An intelligent middleware layer between crypto wallets and traditional payment systems.



