invoicer-cli
A simple way to generate invoices, via a cli utility. Example invoice.
Installation
npm install invoicer-cli -g
Usage
Step 1
Create a new folder where you want to store the json files and invoices that are generated.
mkdir my-invoices && cd my-invoices
Step 2
Run:
invoicer init
This will prompt you for some basic information:
- Where to store the invoices (default is
cwd/invoices
) - Where to store the json files (default is
cwd/store
)
This store the information within cwd/.invoicer-config.json
:
Step 3
Run:
invoicer generate
This will prompt the user with all the necessary information to generate an invoice step by step.
Options:
--from
(path) from company JSON file--to
(path) to company JSON file--services
(path) services JSON file-t, --template
html | csv | json or path to a custom template, see below.-o, --outfile
file to output the invoice (default config.invoicesPath)
Custom
You can generate the seperate pieces of JSON seperately.
invoicer generate [thing]
thing can be:
invoice
Invoice detailsfrom
company jsonto
company jsonservices
services arrayservice.worked
//todo
JSON is output to stdout.
Templates
The default html template is a seperate module.
TODO.. This isn't wired up to accept custom templates just yet.
A template needs to have two pieces of information:
- format
- render function
To specify your own template pass a file path as the -t option.
moduleexports = format: 'html' { ifbadThing return ; //render the template or something... var html = template; return ; };
Prompt tips
Default values
In the following prompt:
prompt: Date of Invoice: (Todays date)
The default value is todays date - generated by invoicer.
Date values
Anything new Date(..)
will accept is good.