mpdroog / invoiced

Simple hour registration + invoice generator.
BSD 2-Clause "Simplified" License
13 stars 5 forks source link
audit-trail backup git golang invoice react typescript

Buy me a coffee

InvoiceD

Simple hour registration + invoice generator.

What makes us better than the competition (non-technical):

What makes us better than the competition (technical):

Technical background

1] contrib/desktop( invoiced ) 2] static

1] contrib/desktop Implements the desktop specific stuff and runs the invoice-daemon into a sub-process

2] static Is offered by invoiced and contains all HTML+CSS+JS that uses the invoiced API to build it's UI.

How to build

Frontend

# Install NodeJS
# Install yarn (better npm)
cd static-src
yarn install
npm run dev

Backend

# Install go
go get github.com/mpdroog/invoiced
cd $GOPATH/src/github.com/mpdroog/invoiced
go build

Installing

# First create some keys
cd contrib/gen
$ go build && ./gen
Enter Password: <XXX>
entities.toml input
IV:   &d13dfa0685c88dd2df7a4afb4359ed8
Salt: 9c7cd736769046bd6779599e71785f65
Hash: 8476a5883163ada1ebfb80257a2303ec6167059a6329e212b561f37004009c5f
cd -

# Init db (~ is your homedir)
mkdir ~/billingdb
cd ~/billingdb
git clone https://github.com/mpdroog/acct-example .
vi entities.toml
>>
IV="PASTE_IV_HERE"
Version=1

[company.name]
Name="YOUR_COMPANY"
COC="YOUR_Chamber_Of_Commerce_Number"
VAT="YOUR_VAT_NUMBER"
IBAN="YOUR_IBAN_NUMBER"
BIC="YOUR_BANK_BIC"
Salt="PASTE_SALT_HERE"

[[user]]
Email="you@yourcompany.com"
Hash="PASTE_HASH_HERE"
Company=["name"]
Name="YourName"
Address1="Street houseno"
Address2="Postal City"
<<

git add .
git commit -m "Update company/auth details"

cd -
vi config.toml
>>
[queues.support]
User = "myemail@gmail.com"
Pass = "supersecret"
Host = "smtp.gmail.com"
Port = 465
From = "myemail@gmail.com"
FromReply = "myemail@gmail.com"
Display = "MyCompany"
Subject = ""
BCC = ["myemail@gmail.com"]
>>

./invoiced -v -d ~/billingdb
open "http://localhost:9999"