Simple hour registration + invoice generator.
What makes us better than the competition (non-technical):
- Audit trail, every change is recorded and easily revertable!
- Always available, no internet? no problem!! The whole system runs from your own PC (if you want)
Searching for an old invoice? We got a powersearch, so finding it should be a breeze!- We're FAST, instantly loading pages :D
Completely free! (But if you pay 1EUR/month we'll give you backups)- Quick keys, you don't need to use your mouse all the time :)
What makes us better than the competition (technical):
- we save all userdata as TOML-files onto the filesystem (human readable and possibly readable after corruption)
- we commit changes to a local Git-repository (free version control of precious data with an audit-trail of changes)
- we push/pull with remote GIT nodes on change (distributed accounting/easy backups)
we index everything (Bleve) so we got a power search!- we're good looking
- we're FAST (average page loading time of 400ms!)
- we're opensource (sourcecode is free, adjustable and we like contributions back)
- The backend is Golang/
Bleve/Git - The frontend is ReactJS/TypeScript/Brunch (static-src)
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.
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"