#pdf #tax #command-line-tool #reimbursement

app shinypenny

A niftly little helper program creating reimbursement requests in pdf form from a csv or commandline

13 releases

0.4.0 Jun 23, 2021
0.3.4 Dec 1, 2021
0.3.4-alpha.1 May 4, 2021
0.3.3 Apr 26, 2021
0.1.5 Oct 28, 2020

#1642 in Command line utilities

Apache-2.0 AND MIT

610KB
2.5K SLoC

shinypenny 🪙

A small helper tool to collect and concatenate receipts data with tax and value annotations from a csv or command-line.

Create a fully sanitized reimbursement request with

shinypenny --csv ./monopoly.csv

or

shinypenny --csv ./monopoly.csv reimbursement_request.pdf

or for a single data entry, you can pass all items via command-line flags see shinypenny --help.

License

There are certain artifacts included, i.e. fonts and pivot image.

Configuration

Configure the destination bank account by setting these two vars accordingly in your shinypenny.toml configuration file

name = "Roger Ronjason"
iban = "NO1876..........909"

[company]
name = "Big $ Corp"
address = "Strahlemax Str. 20, 1111 Irgendwo"

which resides in (given your username is Alice)

/home/alice/.config/ Linux C:/Users/Alice/AppData/Roaming Windows /Users/Alice/Library/Application Support Mac OS

CSV

The format is determined by the header row, which can be omitted if the order as kept in the example below. If the columns are re-ordered, the header tags must be provided with the names as shown below.

By default | is used as separator, if parsing fails with that assumption, a secondary parse attempt is made with ;.

Numbers and decimals may be delimited with . characters independent of the locale - , is not a valid decimal separator, see the rust f64 grammar - this will change with v0.4.0 onwards and 3,5 will be accepted as well.

Receipt paths are relative to the cwd.

date      |company     |description                    |netto |tax |brutto|path
2020-09-20|watercorp   |Device: Superblaster 2k21  |100.00|0.05| 95   |spensiv.pdf
2020-09-20|OfflineBooks|How to create a wormhole. |100   |0.05| 95.00|funny.pdf
2020-09-20|OfflineBooks|Yaks, to shave or not to | 10   |0.16|  9.40|001_receipt.pdf
2020-09-20|Prepers. Inc|Doomsday prep day |111   |0.16| 93.24|dpd.pdf

but also with and % annotations.

date      |company     |description                    |netto |tax |brutto|path
2020-09-20|watercorp   |Device: Superblaster 2k21  |100|5 %| 95   |spensiv.tiff
2020-09-20|OfflineBooks|How to create a wormhole. |100|0.05| 95.00|funny.jpeg
2020-09-20|OfflineBooks|Yaks, to shave or not to | 10   |16 %|  9.40|001_receipt.pdf
2020-09-20|Prepers. Inc|Doomsday prep day |111   |0.16| 93.24|dpd.png

Roadmap

This is a purely necessity driven project.

If you need a particular feature, please open an issue before filing a pull request.

Dependencies

~39–53MB
~658K SLoC