Invoicr is a simple PHP class to generate beautifully designed invoices, quotes or orders with just a few lines of code. Brand it with your own logo and theme color, add unlimited items and total rows with automatic paging. You can deliver the PDF ouput in the user's browser, save on the server or force a file download.
Invoicr has built in translations in English, Dutch, French, German, Spanish and Italian (you can easily add your own if needed) and you can set the currency needed per document.
We made it easy to add extra content (titles and multi-line paragraphs) to the bottom of the document. You might use it for payment or shipping information or any other content needed.
Upload the invoicr folder and all content to your webserver.
There are 3 examples included in the class that work out of the box.
Surf to http://[yourwebsite]/invoicer/examples/filename.php to view them.
- invato.php
- apple.php
- soundcloud.php
Create a new php file in the root of your webserver and include the class to get started.
Please make sure that the default php date timezone is set before including the class.
Click here for more information.
In this simple example we are generating an invoice with custom logo and theme color.
It will contain 2 products and a box on the bottom with VAT and total price. Then we add a "Paid" badge right before the output.
<?php //Set default date timezone date_default_timezone_set('America/Los_Angeles'); //Include Invoicr class include('invoicr/invoicr.php'); //Create a new instance $invoice = new invoicr("A4","$","en"); //Set number formatting $invoice->setNumberFormat('.',','); //Set your logo $invoice->setLogo("invoicr/examples/images/envato.png"); //Set theme color $invoice->setColor("#82b541"); //Set type $invoice->setType("Invoice"); //Set reference $invoice->setReference("20140904001"); //Set date $invoice->setDate("01.01.2014"); //Set due date $invoice->setDue("03.01.2014"); //Set from $invoice->setFrom(array("Envato Inc","4146 Golden Hickory Woods","Glass Hill, Sydney","Australia","VAT 377 855 846")); //Set to $invoice->setTo(array("EpicBrands Studios","1516 Holt Street","West Palm Beach","FL 33401 - USA","VAT 148 366 032")); //Add items $invoice->addItem("Wordpress theme",false,2,"21%",9.99,false,19.98); $invoice->addItem("Php invoicr class","Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nDuis sodales, lorem quis aliquam sollicitudin, metus risus dignissim lorem.",1,"21%",4.95,false,4.95); //Add totals $invoice->addTotal("Total",24.93); $invoice->addTotal("VAT 21%",5.23); $invoice->addTotal("Total due",30.16,true); //Add Badge $invoice->addBadge("paid"); //Add Title $invoice->addTitle("Payment information"); //Add Paragraph $invoice->addParagraph("Make all cheques payable to Envato Inc.\nIf you have any questions concerning this invoice, contact our sales department at sales@envato.com.\n\nThank you for your business."); //Set footer note $invoice->setFooternote("http://www.envato.com"); //Render the PDF $invoice->render('Envato.pdf','I'); ?>
See and learn how every Invoicr method works in detail
Start a new instance of the Invoicr class.
$invoice = new invoicr(size,currency,language);
How do you want to show your numbers?
$invoice->setNumberFormat(decimalpoint,seperator);
Set a custom color to personalize your invoices.
$invoice->setColor(color);
Add your company logo to the invoice.
$invoice->setLogo(image,maxwidth,maxheight);
Set the type of document you are creating.
$invoice->setType(type);
Add your document reference or number
$invoice->setReference(reference);
Set your document date.
$invoice->setDate(date);
Set your invoice due date.
$invoice->setDue(duedate);
Set your company details.
$invoice->setFrom(company);
Set your client details.
$invoice->setTo(client);
Switch the horizontal positions of your company information and the client information. By default, your company details are on the left.
$invoice->flipflop();
Add a new product or service row to your document below the company and client information. Invoicr has automatic paging so there is absolutely no limit.
$invoice->addItem(name,description,amount,vat,price,discount,total);
Add a row below the products and services for calculations and totals. You can add unlimited rows.
$invoice->addTotal(name,value,background);
Adds a badge to your invoice below the products and services. You can use this for example to display that the invoice has been payed.
$invoice->addBadge(badge);
You can add titles and paragraphs to display information on the bottom part of your document such as payment details or shipping information.
$invoice->addTitle(title);
You can add titles and paragraphs to display information on the bottom part of your document such as payment details or shipping information.
$invoice->addParagraph(paragraph);
A small text you want to display on the bottom left corner of the document.
$invoice->setFooternote(note);
Render the invoice.
$invoice->render(name,output);
We would like to thank the creators of FPDF to create such an amazing PHP library that makes our work a lot easier.
http://www.fpdf.org/