All Projects → sw00 → billwarrior

sw00 / billwarrior

Licence: GPL-3.0 license
A Timewarrior report extension for generating invoices in LaTeX

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects
Makefile
30231 projects

Projects that are alternatives of or similar to billwarrior

Billing-System
A GUI Based Complete Store Billing System in java that generates Invoice of each sale.
Stars: ✭ 47 (+123.81%)
Mutual labels:  invoice-pdf, invoice-generator
invoice-generator-api
A free API for generating invoice PDFs and e-Invoices.
Stars: ✭ 350 (+1566.67%)
Mutual labels:  invoice-pdf, invoice-generator
invoice
📝 PDF invoice generator
Stars: ✭ 76 (+261.9%)
Mutual labels:  invoice-pdf, invoice-generator
Manta
🎉 Flexible invoicing desktop app with beautiful & customizable templates.
Stars: ✭ 5,160 (+24471.43%)
Mutual labels:  invoice-pdf, invoice-generator
trax
Simple time tracker designed for ChatOps
Stars: ✭ 40 (+90.48%)
Mutual labels:  time-tracker
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (+957.14%)
Mutual labels:  time-tracker
Vscode Kanban
Kanban board for Visual Studio Code.
Stars: ✭ 191 (+809.52%)
Mutual labels:  time-tracker
ps4-time-tracking
Util for tracking PlayStation 4 usage times
Stars: ✭ 19 (-9.52%)
Mutual labels:  time-tracker
redmine hourglass
New Redmine plugin to enhance the time tracking abilities, reports and REST-API.
Stars: ✭ 68 (+223.81%)
Mutual labels:  time-tracker
React Rewind
Time Travel Debugger for React useReducer
Stars: ✭ 159 (+657.14%)
Mutual labels:  time-tracker
goclockify
A terminal-based client for Clockify time tracker
Stars: ✭ 47 (+123.81%)
Mutual labels:  time-tracker
Wakapi
📊 A minimalist, self-hosted WakaTime-compatible backend for coding statistics
Stars: ✭ 232 (+1004.76%)
Mutual labels:  time-tracker
InvoiScript
Generate simple PDF invoices with PHP
Stars: ✭ 16 (-23.81%)
Mutual labels:  invoice-pdf
Hcl
Command-line tool for manipulating Harvest timesheets
Stars: ✭ 219 (+942.86%)
Mutual labels:  time-tracker
desktop-application
Electron-based desktop time tracker for Cattr
Stars: ✭ 38 (+80.95%)
Mutual labels:  time-tracker
Utt
Ultimate Time Tracker - A simple command-line time tracker written in Python
Stars: ✭ 175 (+733.33%)
Mutual labels:  time-tracker
pomogoro
Text-file based todo time tracking
Stars: ✭ 22 (+4.76%)
Mutual labels:  time-tracker
timew-sync-server
The timewarrior synchronization server
Stars: ✭ 26 (+23.81%)
Mutual labels:  timewarrior
time
React UI for Wobbly Time Tracker for the Teams
Stars: ✭ 24 (+14.29%)
Mutual labels:  time-tracker
chrono
A fast time tracking tool made with love
Stars: ✭ 32 (+52.38%)
Mutual labels:  time-tracker

Billwarrior

An extension for the venerable CLI timetracker, Timewarrior. Use Billwarrior to generate invoices in LaTeX from your Timewarrior reports.

Trey Hunner's basic Invoice LaTeX template (CC BY-NC-SA 3.0) is included in the etc/latex/ directory.

Installation

By cloning the repository:

git clone http://github.com/sw00/billwarrior.git
cd billwarrior
python setup.py install

setup.py will create a directory $HOME/.config/billwarrior/ and copy billwarrior.ini as well as LaTeX files there.

Usage

Edit $HOME/.config/billwarrior/billwarrior.ini to add the categories of invoice items you'd like to generate invoices for. For example:

[categories]
dev.tags = coding, dev, pairing
dev.text = Software Development Services
dev.rate = 44.85

consulting.tags = meeting, workshop, ceremony
consulting.text = Consulting Services
consulting.rate = 85.50

nonbillable.tags = pingpong, travel, lunch
nonbillable.text = Nonbillable Time
nonbillable.rate = 0.0

invisible.tags = invisible
invisible.rate = -1
  1. Copy the bin/billwarrior script into your Timewarrior extensions directory and ensure that it's it executable

  2. Run a report and pipe output to the billwarrior_items.tex file that's imported by invoice.tex

  3. Run pdflatex(or xelatex, whatever your preference) against invoice.tex

cp bin/billwarrior $TIMEWARRIORDB/extensions/billwarrior
chmod +x $TIMEWARRIORDB/extensions/billwarrior
timew report billwarrior > ~/.config/billwarrior/latex/billwarrior_items.tex
cd ~/.config/billwarrior/latex && pdflatex invoice.tex

Additional Notes

  • It's up to you to customise the LaTeX template (invoice.tex and invoice.cls).

  • Billwarrior is strict. It won't run if it encounters a time interval with tags that isn't configured to map to a category in billwarrior.ini. So make sure you give timew the appropriate filters.

TODO/Issues

  • Automated build (GH Actions).

  • Make line items' LaTeX output configurable.

  • Smarter setup.py install to detect Timewarrior extensions path and install itself.

  • Upload/distribute to the cheese shop and support installation via pip install

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].