PHP wrapper for Invoice Ninja's REST API
Switch branches/tags
Clone or download
Latest commit 7df8c61 Apr 27, 2018
Permalink
Failed to load latest commit information.
src/InvoiceNinja Get tasks by client #24 Sep 30, 2017
.gitignore Initial model Nov 13, 2016
LICENSE.txt Init Nov 13, 2016
README.md Update README.md Apr 27, 2018
composer.json Initial model Nov 13, 2016

README.md

Invoice Ninja SDK

Installation

Add the Invoice Ninja SDK

composer require invoiceninja/sdk-php

Setup

use InvoiceNinja\Config as NinjaConfig;
use InvoiceNinja\Models\Client;

NinjaConfig::setURL('https://ninja.dev/api/v1');
NinjaConfig::setToken('Your Token');
  • To connect to the hosted version use https://app.invoiceninja.com/api/v1 as the URL.
  • You can either use the free hosted trial or install the app to create an API token.

Supports

  • Clients
  • Invoices/Quotes
  • Products
  • Payments
  • Tasks
  • Vendors
  • Expenses
  • TaxRates
  • Credits

Retrieving Models

Retrieve all clients

$clients = Client::all();

Retrieve a client by its primary key.

$client = Client::find(1);

Inserting & Updating Models

Create a new client

$client = new Client('test@example.com');
$client->save();

Update an existing client

$client->vat_number = '123456';
$client->save();

Create an invoice

$invoice = $client->createInvoice();
$invoice->addInvoiceItem('Item', 'Some notes', 10);
$invoice->save();

Download an invoice PDF

$pdf = $invoice->download();

Deleting Models

$client->archive();
$client->delete();
$client->restore();

Events

Register subscription for new client

Client::subscribeCreate('http://example.com/...');

Convert posted data to a model

$input = file_get_contents('php://input'); 
$client = Client::hydrate($input);

Currently supported for clients, invoices, quotes and payments

Statics

Retrieve the static dataset Invoice Ninja uses

Get all statics

Statics::all();

Get specific static

Statics::countries();

List of available statics

Statics::currencies();
Statics::sizes();
Statics::timezones();
Statics::dateFormats();
Statics::datetimeFormats();
Statics::languages();
Statics::paymentTerms();
Statics::paymentTypes();
Statics::countries();
Statics::invoiceDesigns();
Statics::invoiceStatus();
Statics::frequencies();
Statics::gateways();
Statics::fonts();
Statics::banks();