Introduction

This tutorial aims to show you how use @rimiti/invoice-it (Github, NPM) NodeJS package to easily generate invoice or order PDF files.

Invoice-it is production ready since July 1st, 2017. It use PhatomJS (Scriptable Headless Browser) from html-pdf package, which is embedded by invoice-it to convert html templates to PDF.

 

Why invoice it?

Invoice-it has been created to be fully customizable and supporting multi page. You can easily override default configuration to:

  • Use your own order and invoice templates.
  • Add your logo.
  • Change date format.
  • Change default locale.
  • Add / use your own locales file (to override wording).
  • Add order and invoice notes.
  • Customize you company informations (company name, address, phone, website, footer…).
  • Change document identification format (example: IN-1805-00001).

 

Let’s go!

As an example, let’s generate a first order containing the items below:

  1. Macbook Pro 13″ – (x3)
  2. Github licence – (x1)
  3. Apple care 1 year – (x3)

To be in real condition, I’ll fully customize the document with following informations:

Emitter:

Dim Solution
73 rue Victor Hugo
77340 Pontault-Combault
Phone: +33 0 00 00 00 00
Email: contact@dimsolution.com

Recipient:

Will Jameson
20 rue de Paris
75001 Paris
Phone: 00 00 00 00 00
Email: will.jameson@customer.com

Our footer company informations:

Dim Solution inc – Registration: 87564738493127
NAF-APE: 6202A – Num. VAT: EN28987856541

To don’t pass every time emitter and logo informations, you can configure it and exporting it.

Adding recipient informations:

There are two ways for adding articles in a document.

From an array:

From object:

 

It’s time to export our document ?

Invoice-it provides several formats to export document.

HTML

PDF

 

Isn’t it awesome ? 🙂

Invoice PDF file

Invoice PDF

Order PDF file

Order PDF

Extras

Some others examples to demonstrate you how to customize some fields:

 

The code present in this tutorial is accessible into this repository.

If you want more examples or snippets, you can check the official repository.

 

6 comments
  • Nicks65
    Posted on 29 mai 2018 at 21 h 29 min

    Thank you for this nice tutorial.

    Reply
  • ouss
    Posted on 29 mai 2018 at 22 h 21 min

    awesome pdf generator !

    Reply
  • Alex Ellis
    Posted on 30 septembre 2018 at 23 h 41 min

    I really like this – it’d make an awesome function in the OpenFaaS Function Store. What do you think Dimitri?

    Reply
    • Dimitri DO BAIRRO
      Posted on 4 octobre 2018 at 11 h 32 min

      Thank you @Alex! You’re right, this module could indeed be the subject of a nice example of using OpenFaas! I’ll will soon create a new article about it. 🚀

      Reply

Leave a comment