Sign inSign up

grski/brena

By grski

•Updated almost 6 years ago

Image
0

195

grski/brena repository overview

⁠Brena

Nerdy CLI invoice generator. Brena generates invoices based on a .toml file you define. You can do everything in the terminal. No need to open your browser and trouble yourself. Add a few lines and be done!

Why you might ask? Because I hate to leave the terminal - that's it! Details here, on brena github⁠. Before running it you'll need a brena.toml file, how to create it is written down below.

⁠Running it

If you have readlink and are on Linux, then, assuming brena.toml is in current working dir, just go with:

docker run -v `readlink -f .`:/app/ grski/brena

otherwise:

docker run -v /home/grski/currentworkingdir/:/app/ grski/brena

or if you want to customize the command a bit and maybe generate only selected invoices with given codes:

docker run -v /home/grski/currentworkingdir/:/app/ grski/brena sh -c "python -m brena somecode1 somecode2"

⁠Config: brena.toml

Below you can see an example of the required brena.toml file. Brena expects this file to be found in current working directory.

[companies.default]  # important to keep it as default 
  name = "Name Of Your Company"
  address_line_1 = "Some streeet 8/10"
  address_line_2 = "11-111 Some City"
  nip = "Your tax id number here if any"
  language = "pl"
  bank_accounts = { PLN = "PL11 1111 1111 1111 1111", EUR = "PL11 1111 1111 1111 1111" }

[companies.someclient]
  name = "Some Client Sp. z o. o."
  address_line_1 = "Another street"
  address_line_2 = "01-111 Warsaw"
  nip = "Your clients tax id if any"


[[invoices]]
  code = "01/12/2020"
  company = "someclient"
  currency = "PLN" # this value needs to be found in bank_accounts keys
  language = "pl"  # for now we only support pl and en
  dates = { issued = "2020-12-25", sold = "2020-12-31", due_to = "2021-01-15"}

  [[invoices.positions]]
    name = "IT service"
    quantity = 1
    amount = 15000
    vat_stake = 23


[[invoices]]
  code = "02/12/2020"
  company = "someclient"
  currency = "EUR"
  language = "en"
  dates = { issued = "2020-12-25", sold = "2020-12-31", due_to = "2021-01-10"}

  [[invoices.positions]] 
    name = "IT services"
    quantity = 172.5
    amount = 85.2
    vat_stake = 23
  
  [[invoices.positions]] 
    name = "Additional invoice position"
    quantity = 1
    amount = 82
    vat_stake = 23

For now I only support toml, maybe yaml in the future. Why toml over yaml? No reason, just my preference in this case.

Tag summary

Content type

Image

Digest

Size

148.6 MB

Last updated

almost 6 years ago

docker pull grski/brena