Simple tool for generating monthly invoices in automatic mode. There is no need to fill out anything every month. You do it once and that's it.
Find a file
2025-03-11 12:06:04 +01:00
.github/workflows Change the execution order to output the info and log first, add make build, update workflows 2023-10-18 00:00:47 +02:00
examples Add replace_service_period, update README.md, some fixes 2023-10-16 12:22:01 +02:00
.gitignore Update README.md, .gitignore 2025-03-11 11:45:59 +01:00
cli.go Embedding the invoice-generator.toml configuration file into the app, promt improvements, small fixes 2023-10-18 12:15:51 +02:00
go.mod Fix k: -B option too long (max 16 digits) issue, bump go version 2025-03-11 11:07:32 +01:00
go.sum Fix k: -B option too long (max 16 digits) issue, bump go version 2025-03-11 11:07:32 +01:00
invoice.go Update pdf.CellFormat 2024-03-26 17:15:38 +01:00
LICENSE Initial commit 2023-01-31 11:43:22 +04:00
main.go Embedding the invoice-generator.toml configuration file into the app, promt improvements, small fixes 2023-10-18 12:15:51 +02:00
Makefile Fix k: -B option too long (max 16 digits) issue, bump go version 2025-03-11 11:07:32 +01:00
README.md Update README.md 2025-03-11 12:06:04 +01:00
sample.go Embedding the invoice-generator.toml configuration file into the app, promt improvements, small fixes 2023-10-18 12:15:51 +02:00
struct.go Add replace_service_period, update README.md, some fixes 2023-10-16 12:22:01 +02:00

Invoice-generator

Invoice-generator is a simple tool for generating invoices in automatic mode. There is no need to fill out anything every month. You do it once and that's it.

It can be used for several projects at once, just create different configuration files and put them in different folders where you want to save invoices.

Installation

Binaries

Pre-built binaries.

Download the binary file for your platform, copy it to /usr/local/bin, and give execute permission. Here is an example of my configuration for Linux:

sudo wget https://8am.dev/enodllew/invoice-generator/releases/download/latest/invoice-generator.linux-amd64 -O /usr/local/bin/invoice-generator
sudo chmod +x /usr/local/bin/invoice-generator

And for MacOS:

sudo wget https://8am.dev/enodllew/invoice-generator/releases/download/latest/invoice-generator.darwin-arm64 -O /usr/local/bin/invoice-generator
sudo chmod +x /usr/local/bin/invoice-generator

Build from source

Clone the repo:

git clone https://8am.dev/enodllew/invoice-generator.git

Run the command:

make install

Configuration

When you first run generating an invoice without an invoice-generator.toml file in the directory, the program will prompt a question:

The file invoice-generator.toml was not found in the current directory. Want to create it? (Y/n)

Type Y, and then you need to open the created invoice-generator.toml file and fill in the parameters of your invoice there. This completes the configuration setup, now you can generate invoices.

General usage

To generate a new invoice, use the command:

invoice-generator g

In addition, you can pass the date (month.year) of the desired service period as an argument as follows:

invoice-generator g 10.2023

You will get an invoice for the desirable period (previous month for example) with the correct dates for all presented fields.

Help information

$ invoice-generator
NAME:
   invoice-generator - cli invoice assistant

USAGE:
   invoice-generator [global options] command [command options] [arguments...]

VERSION:
   0.9

DESCRIPTION:
   This is a simple tool for generating invoices in automatic mode. There is no need to fill out anything every month. You do it once and that's it.

COMMANDS:
   generate, g  Generate a new invoice based on invoice-generator.toml information and current date.
                Alternatively, you can pass the date (month.year) of the desired service period as anargument like this: invoice-generator g 10.2023
   help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

Invoice example:

Requiremrnts

There are no requirements and additional dependencies it will work on (Windows/Linux/MacOS).