All Projects → mrzool → Invoice Boilerplate

mrzool / Invoice Boilerplate

Licence: gpl-2.0
Simple automated LaTeX invoicing system

Projects that are alternatives of or similar to Invoice Boilerplate

Cv Boilerplate
Programmatic generation of high-quality CVs
Stars: ✭ 967 (+60.1%)
Mutual labels:  makefile, latex, yaml, pandoc, pdf, typesetting
Letter Boilerplate
Finest letter typesetting from the command line
Stars: ✭ 374 (-38.08%)
Mutual labels:  makefile, latex, yaml, pandoc, pdf, typesetting
Readteractive
Tool for writing and generating interactive books.
Stars: ✭ 23 (-96.19%)
Mutual labels:  latex, pandoc, pdf
Pandoc Latex Template
A pandoc LaTeX template to convert markdown files to PDF or LaTeX.
Stars: ✭ 3,750 (+520.86%)
Mutual labels:  latex, pandoc, pdf
Pandoc Letter Din5008
Pandoc template for writing Markdown letters (DIN 5008)
Stars: ✭ 77 (-87.25%)
Mutual labels:  latex, pandoc, pdf
Open Publisher
Using Jekyll to create outputs that can be used as Pandoc inputs. In short - input markdown, output mobi, epub, pdf, and print-ready pdf. With a focus on fiction.
Stars: ✭ 242 (-59.93%)
Mutual labels:  latex, pandoc, pdf
ntuthesis
台大碩博士論文模板 (R Package)
Stars: ✭ 14 (-97.68%)
Mutual labels:  latex, pandoc
Tucl
The first-ever paper on the Unix shell written by Ken Thompson in 1976 scanned, transcribed, and redistributed with permission
Stars: ✭ 303 (-49.83%)
Mutual labels:  makefile, pdf
Posterdown
Use RMarkdown to generate PDF Conference Posters via HTML
Stars: ✭ 602 (-0.33%)
Mutual labels:  pdf, typesetting
Jupyterlab Latex
JupyterLab extension for live editing of LaTeX documents
Stars: ✭ 349 (-42.22%)
Mutual labels:  latex, pdf
wikitopdf
Export a repo's wiki as a PDF ebook.
Stars: ✭ 14 (-97.68%)
Mutual labels:  latex, pandoc
Rmarkdown Cookbook
R Markdown Cookbook. A range of tips and tricks to make better use of R Markdown.
Stars: ✭ 324 (-46.36%)
Mutual labels:  latex, pandoc
Rinohtype
The Python document processor
Stars: ✭ 365 (-39.57%)
Mutual labels:  pdf, typesetting
tufte-markdown
Use markdown to write your handouts and books in Tufte style.
Stars: ✭ 82 (-86.42%)
Mutual labels:  latex, pandoc
markdown-memo
Compile simple (or not so simple) Markdown memos to html and/or pdf via LaTeX with pandoc.
Stars: ✭ 19 (-96.85%)
Mutual labels:  latex, typesetting
pandocker
🐳 A simple docker image for pandoc with filters, templates, fonts, and the latex bazaar
Stars: ✭ 118 (-80.46%)
Mutual labels:  latex, pandoc
Latexdraw
A vector drawing editor for LaTeX (JavaFX).
Stars: ✭ 336 (-44.37%)
Mutual labels:  latex, pdf
Crowbook
Converts books written in Markdown to HTML, LaTeX/PDF and EPUB
Stars: ✭ 399 (-33.94%)
Mutual labels:  latex, pdf
Latex Online
Online latex compiler. You give it a link, it gives you PDF
Stars: ✭ 381 (-36.92%)
Mutual labels:  latex, pdf
Latexindent.pl
Perl script to add indentation (leading horizontal space) to LaTeX files. It can modify line breaks before, during and after code blocks; it can perform text wrapping and paragraph line break removal. It can also perform string-based and regex-based substitutions/replacements. The script is customisable through its YAML interface.
Stars: ✭ 415 (-31.29%)
Mutual labels:  latex, yaml

Invoice Boilerplate

Simple automated LaTeX invoicing system for freelancers.

Intro

Built along the lines of cv-boilerplate and letter-boilerplate, this boilerplate contains the bare minimum to produce a professional-looking invoice with the least possible effort, so you can concentrate on things that matters.

preview

The invoice content lives in details.yml and it's structured like so:

invoice-nr: 2015-11-04
author: Max Mustermann
city: Musterstadt
from:
- Musterstraße 37
- 12345 Musterstadt
to:
- Erika Mustermann
- Musterallee 1
- 12345 Musterstadt
- Germany
VAT: 20
service:
- description: The first service provided
  price: 450.00
- description: And another one, with a list of details
  price: 245.00
  details:
    - Some more detailed explanation
    - of the service provided
    - Looking good
- description: The last service provided
  price: 245.00

When running make, Pandoc starts iterating on the YAML file, populates template.tex with your data, and pipes the result to XeTeX. XeTeX deals with the typesetting and compiles a PDF ready to be printed/faxed/emailed and archived (see the output).

The math gets handled internally by LaTeX through the spreadtab package, Excel-style (mad props to clemens on TeX SE for helping me out with this). You just need to provide a VAT rate and your prices, the boilerplate takes care of the rest.

Unless you plan to edit the template, no particular LaTeX knowledge is required to use this boilerplate. If you need your invoice in a language other than English, finding the relevant strings in template.tex and translating them to your language should be easy enough.

Dependencies

  1. LaTeX with the following extra packages: fontspec geometry ragged2e spreadtab fp xstring arydshln hhline titlesec enumitem xunicode xltxtra hyperref polyglossia wallpaper footmisc
  2. Pandoc, the universal document converter.

To install LaTeX on Mac OS X, I recommend getting the smaller version BasicTeX from here and installing the additional packages with tlmgr afterwards. Same goes for Linux: install texlive-base with your package manager and add the needed additional packages later.

To install pandoc on Mac OS X, run brew install pandoc. To install it on Linux, refer to the official docs.

Getting started

  1. Open details.yml with your text editor and fill it with your details, the invoice recipient's details, services/prices, and the desired settings.
  2. Run make to compile the PDF.

Some countries require invoices to be signed. If a file named signature.pdf is present in the directory, the boilerplate will automatically print it after the closing note as a final touch. Follow this method to import your own signature.

Note: this template needs to be compiled with XeTeX.

Note for Windows users

Although I didn't test it, you can probably use this on Windows, too. Both Pandoc and LaTeX can be installed on Windows (I recommend MiKTeX for that) and you should be able to run makefiles on Windows through Cygwin. If that's too much hassle, this command should do the trick in Powershell:

pandoc details.yml -o output.pdf --template=template.tex --pdf-engine=xelatex

Available settings

  • VAT: Your VAT rate.
  • currency: Your currency code (USD, EUR...)
  • commasep: Set to true to use a comma as decimal separator. This is for display purposes only—remember to always use a dot to set the prices in your YAML file.
  • lang: Sets the main language through the polyglossia package. This is important for proper hyphenation and date format. Use IETF language tags format, as that is what Pandoc expects.
  • seriffont: Used for the heading and the sender address. Hoefler Text is the default, but every font installed on your system should work out of the box (thanks, XeTeX!)
  • sansfont: Used to render the recipient address, the table and the closing note. Defaults to Helvetica Neue.
  • fontsize: Possible values here are 10pt, 11pt and 12pt.
  • geometry: A string that sets the margins through geometry. Read this to learn how this package works.
  • closingnote: This gets printed after the table as a closing note. Use it to provide your bank details and a thank you message.
  • letterhead: include custom letterhead in the PDF (see below).

Custom letterhead

If you have already designed your own letterhead and want to use it with this template, including it should be easy enough. Set the letterhead option to true to activate the wallpaper package in the template. wallpaper will look for a file named letterhead.pdf in the project root folder and print it on the PDF before compiling the document. Change the fonts to match the ones in your letterhead, adjust the margins with geometry and you should be all set.

Recommended readings

Resources

  • Refer to pandoc's documentation to learn more about how templates work.
  • If you're not familiar with the YAML syntax, here's a good overview.
  • If you want to edit the template but LaTeX scares you, these docs put together by ShareLaTeX cover most of the basics and are surprisingly kind to the beginner.
  • Odds are your question already has an answer on TeX Stack Exchange. Also, pretty friendly crowd in there.
  • Need to fax that invoice? Check out Phaxio and learn how to send your faxes from the command line with a simple API call.

See also

  • cv-boilerplate — Easing the process of building and maintaining a CV using LaTeX
  • letter-boilerplate — Typeset your important letters without leaving your text editor

License

GPL

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].