{"id":16709690,"url":"https://github.com/drahnr/shinypenny","last_synced_at":"2025-08-16T16:33:35.561Z","repository":{"id":57667241,"uuid":"300611651","full_name":"drahnr/shinypenny","owner":"drahnr","description":"A cli tool to create reimbursement request pdfs from a set of receipts in pdf or image formats. Creates accounting information per tax percentage and sums of totals for tax, brutto, netto in a tabular view.","archived":false,"fork":false,"pushed_at":"2022-02-25T13:49:57.000Z","size":545,"stargazers_count":11,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-28T13:18:42.836Z","etag":null,"topics":["accounting","chore","pdf-generation","reimbursement"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drahnr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"drahnr","patreon":"drahnr","liberapay":"drahnr","open_collective":"bernhard-schuster"}},"created_at":"2020-10-02T12:44:57.000Z","updated_at":"2024-02-02T01:57:05.000Z","dependencies_parsed_at":"2022-09-26T16:40:37.191Z","dependency_job_id":null,"html_url":"https://github.com/drahnr/shinypenny","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drahnr%2Fshinypenny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drahnr%2Fshinypenny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drahnr%2Fshinypenny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drahnr%2Fshinypenny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drahnr","download_url":"https://codeload.github.com/drahnr/shinypenny/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229970194,"owners_count":18152623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accounting","chore","pdf-generation","reimbursement"],"created_at":"2024-10-12T20:05:41.784Z","updated_at":"2024-12-17T00:58:22.248Z","avatar_url":"https://github.com/drahnr.png","language":"Rust","funding_links":["https://github.com/sponsors/drahnr","https://patreon.com/drahnr","https://liberapay.com/drahnr","https://opencollective.com/bernhard-schuster"],"categories":[],"sub_categories":[],"readme":"# shinypenny 🪙\n\nA small helper tool to collect and concatenate receipts data with tax and value annotations from a csv or command-line.\n\nCreate a fully sanitized reimbursement request with\n\n`shinypenny --csv ./monopoly.csv`\n\nor\n\n`shinypenny --csv ./monopoly.csv reimbursement_request.pdf`\n\nor for a single data entry, you can pass all items via command-line\nflags see `shinypenny --help`.\n\n## License\n\nThere are certain artifacts included, i.e. fonts and pivot image.\n\n* Roboto Fonts as taken from `google-roboto-fonts-2.138-6.fc32.noarch` and is pubished under [`Apache-2.0`](https://fonts.google.com/specimen/Roboto#license).\n* Test image by [Jonathan Brinkhorst](https://unsplash.com/@jbrinkhorst) under the [The Unsplash License](https://unsplash.com/license).\n* Source code is under `Apache-2.0 OR MIT`.\n\n## Configuration\n\nConfigure the destination bank account by setting these two vars\naccordingly in your `shinypenny.toml` configuration file\n\n```toml\nname = \"Roger Ronjason\"\niban = \"NO1876..........909\"\n\n[company]\nname = \"Big $ Corp\"\naddress = \"Strahlemax Str. 20, 1111 Irgendwo\"\n```\n\nwhich resides in (given your username is `Alice`)\n\n`/home/alice/.config/` Linux\n`C:/Users/Alice/AppData/Roaming` Windows\n`/Users/Alice/Library/Application Support` Mac OS\n\n## CSV\n\nThe format is determined by the header row, which can be omitted if the order\nas kept in the example below. If the columns are re-ordered, the header tags must be provided\nwith the names as shown below.\n\nBy default `|` is used as separator, if parsing fails with that assumption, a secondary parse attempt is made with `;`.\n\nNumbers and decimals may be delimited with `.` characters independent of the locale - `,` is not a valid decimal separator, see [the rust `f64` grammar](https://doc.rust-lang.org/std/primitive.f64.html#grammar) - this will change with `v0.4.0` onwards and `3,5` will be accepted as well.\n\nReceipt paths are relative to the `cwd`.\n\n```csv\ndate      |company     |description                    |netto |tax |brutto|path\n2020-09-20|watercorp   |Device: Superblaster 2k21  |100.00|0.05| 95   |spensiv.pdf\n2020-09-20|OfflineBooks|How to create a wormhole. |100   |0.05| 95.00|funny.pdf\n2020-09-20|OfflineBooks|Yaks, to shave or not to | 10   |0.16|  9.40|001_receipt.pdf\n2020-09-20|Prepers. Inc|Doomsday prep day |111   |0.16| 93.24|dpd.pdf\n```\n\nbut also with `€` and `%` annotations.\n\n```csv\ndate      |company     |description                    |netto |tax |brutto|path\n2020-09-20|watercorp   |Device: Superblaster 2k21  |100 €|5 %| 95   |spensiv.tiff\n2020-09-20|OfflineBooks|How to create a wormhole. |100 €|0.05| 95.00 €|funny.jpeg\n2020-09-20|OfflineBooks|Yaks, to shave or not to | 10   |16 %|  9.40|001_receipt.pdf\n2020-09-20|Prepers. Inc|Doomsday prep day |111   |0.16| 93.24|dpd.png\n```\n\n## Roadmap\n\nThis is a purely necessity driven project.\n\n* [x] Support entries other than euros (€) https://github.com/drahnr/shinypenny/issues/2 \n* [ ] Allow specifying a pivot pdf page with a designate table area\n* [ ] Replace `0.00` values with a `-` within the table\n\nIf you need a particular feature, please open an issue before filing a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrahnr%2Fshinypenny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrahnr%2Fshinypenny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrahnr%2Fshinypenny/lists"}