aerix-invoice-nota-template
v2.0.1
Published
The invoice template used by Aerix (original Nota developer) in production.
Downloads
17
Readme
Aerix invoice template
An example invoice template that demonstrates procedurally generated documents based on JSON input data. See preview.json
for the source data of the above preview. This template can be rendered to PDF using Nota. This was the first template made and actualy used in prodution by Aerix. Producing such invoices was the driver that sparked the development of Nota in 2013.
Features
- Does all the invoice arithmatic for you (subtotals, VAT, discounts, no more embarrasing calculator mistakes guaranteed).
- Supports quotations. Automatically switches between invoice and quotation mode based on type specified in meta data.
- Invoice internationalisation. Detects country of client and automatically sets language (Dutch and English supported, but more could easily be added).
- Automatically formats output PDF filename (based on ID, client and project title). For example
2014.0044_Client-Company-Optional-project-name.pdf
. See the link to the source code for cases of formatting. - Invoice model validation. An error is throw when attempting to render an invalid invoice to prevent sending out faulty invoices to clients.
- Expiration date. Expiration date of the invoice (or quotation) expires is calculated based on a configurable validity period.
- And many more ...
Tech used
- Handlebars.js
- i18next.js
- Moment.js
- TV4.js
- jQuery
- Sass
- Bourbon
- CoffeeScript
- RequireJS
- Grunt
- Bower
Usage
This template comes by default with the Nota CLI as an example. Install it using npm install nota-cli
.
Preview in browser
In the Nota CLI folder, run ./nota --template=example-invoice --preview
for a preview.
Render to PDF with your own data
In the Nota CLI directory, run ./nota --template=example-invoice --data=<path/to/data.json
. The output PDF will be located in the same directory. Specify the location with the flag --output=<path/to/output.pdf>
, and try the other options available with ./nota --help
.
Development
Requirements
You'll need
- NodeJS
- NPM
- Bower
- Gulp
- Bourbon
Compiling assets
Run grunt
in the template directory for automagically compiling SASS and CoffeeScript.