shinypenny

Crates.ioshinypenny
lib.rsshinypenny
version0.3.4
sourcesrc
created_at2020-10-18 16:02:39.616259
updated_at2021-12-01 17:37:55.035598
descriptionA niftly little helper program creating reimbursement requests in pdf form from a csv or commandline.
homepagehttps://github.com/drahnr/shinypenny
repositoryhttps://github.com/drahnr/shinypenny
max_upload_size
id302229
size669,173
rust-libp2p Maintainers (github:libp2p:rust-libp2p-maintainers)

documentation

README

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.

Commit count: 54

cargo fmt