{"id":15021235,"url":"https://github.com/bcomnes/invoicer","last_synced_at":"2025-08-30T19:31:27.079Z","repository":{"id":185105400,"uuid":"673026940","full_name":"bcomnes/invoicer","owner":"bcomnes","description":"Maintenance of substack/invoicer","archived":false,"fork":false,"pushed_at":"2024-10-24T17:51:39.000Z","size":89,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-16T18:17:02.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcomnes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["bcomnes"],"custom":["https://bret.io"]}},"created_at":"2023-07-31T17:44:38.000Z","updated_at":"2024-10-24T17:51:41.000Z","dependencies_parsed_at":"2023-08-19T18:15:12.736Z","dependency_job_id":"6b5405b5-0d8e-4ecd-8f5b-d62cdafd6bf1","html_url":"https://github.com/bcomnes/invoicer","commit_stats":{"total_commits":8,"total_committers":2,"mean_commits":4.0,"dds":0.5,"last_synced_commit":"f4b9c34bc818e48e92d0d4a4e3531367193c0c5b"},"previous_names":["bcomnes/invoicer"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcomnes%2Finvoicer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcomnes%2Finvoicer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcomnes%2Finvoicer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcomnes%2Finvoicer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcomnes","download_url":"https://codeload.github.com/bcomnes/invoicer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231521943,"owners_count":18389473,"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":[],"created_at":"2024-09-24T19:56:19.847Z","updated_at":"2024-12-27T17:53:16.630Z","avatar_url":"https://github.com/bcomnes.png","language":"JavaScript","funding_links":["https://github.com/sponsors/bcomnes","https://bret.io"],"categories":[],"sub_categories":[],"readme":"# @bret/invoicer\n[![latest version](https://img.shields.io/npm/v/@bret/invoicer.svg)](https://www.npmjs.com/package/@bret/invoicer)\n[![Actions Status](https://github.com/bcomnes/invoicer/workflows/tests/badge.svg)](https://github.com/bcomnes/invoicer/actions)\n[![Coverage Status](https://coveralls.io/repos/github/bcomnes/invoicer/badge.svg?branch=master)](https://coveralls.io/github/bcomnes/invoicer?branch=master)\n[![downloads](https://img.shields.io/npm/dm/@bret/invoicer.svg)](https://npmtrends.com/@bret/invoicer)\n\ngenerate PDF invoices from json. Maintenance fork of [substack/invoicer](https://www.npmjs.com/package/invoicer).\n\n```\nnpm install @bret/invoicer\n```\n\n# example\n\n``` json\n[\n  {\"title\":\"consulting\",\"rate\": 100, \"hours\":[\n    {\"date\":\"2075-08-27\",\"hours\":2.5},\n    {\"date\":\"2075-08-28\",\"hours\":7},\n    {\"date\":\"2075-09-01\",\"hours\":5.5}\n  ]},\n  {\"title\":\"travel\",\"items\":[\n    {\"title\":\"airfare\",\"amount\":750},\n    {\"title\":\"hotel\",\"amount\":240}\n  ]},\n  {\"title\":\"hosting\",\"amount\":40}\n]\n```\n\n``` bash\n$ invoicer -r 'BEEPCORP HOLDINGS LTD' -e expenses.json -o invoice.pdf\n```\n\nThe first time you run invoicer you will be prompted to enter your name,\naddress, email, and currency.\n\nOnce invoicer finishes you will have a fancy `invoice.pdf`.\n\n_How_ fancy an invoice? Glad you asked:\n\n![Screenshot of PDF invoice](images/invoice.png)\n\n# usage\n\n```\nusage: invoicer -r 'BEEPCORP HOLDINGS LTD' -e expenses.json -o invoice.pdf\n\n  -r, --rcpt      invoice receipient\n  -e, --expenses  expense sheet. If not given or '-', read from stdin.\n  -o, --output    generate a pdf for this filename\n  -m, --mode      mode to use (implied by the extension in -o, otherwise \"text\")\n  -t, --template  use a custom LaTeX template\n  -c FILE         config file (default: ~/.config/invoicer/config.json)\n\nHere is an example expenses.json file:\n\n  [\n    {\"title\":\"consulting\",\"rate\": 100, \"hours\":[\n      {\"date\":\"2075-08-27\",\"hours\":2.5},\n      {\"date\":\"2075-08-28\",\"hours\":7},\n      {\"date\":\"2075-09-01\",\"hours\":5.5}\n    ]},\n    {\"title\":\"travel\",\"items\":[\n      {\"title\":\"airfare\",\"amount\":750},\n      {\"title\":\"hotel\",\"amount\":240}\n    ]},\n    {\"title\":\"hosting\",\"amount\":40}\n  ]\n\nFor each `row` in the json array, `invoicer` only looks for:\n\n* `row.rate` and a `row.hours` array\n* `row.items` array\n* `row.amount`\n\nEach row should have a title.\n```\n\n# install\n\nYou'll need the `pdflatex` command first from\n[texlive](http://www.tug.org/texlive/acquire-netinstall.html).\n\nIf you're on a debianish system you can do: `sudo apt-get install texlive`.\n\nOn windows you can use [w32tex](http://w32tex.org/).\n\nOnce all that is out of the way, install with [npm](https://npmjs.org) to get\nthe `invoicer` command:\n\n```\nnpm install -g @bret/invoicer\n```\n\n# license\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcomnes%2Finvoicer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcomnes%2Finvoicer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcomnes%2Finvoicer/lists"}