Jeremy Davis's picture

[update 2012-02-04] - a bit more of an update. Added firstboot scripts, forced https (via .htaccess). Rebased SF images (ISO & OVZ) on TKL v11.3 and tested (briefly). Feedback welcome.

[update 2011-10-01] - minor update to tidy up patch.

Free web based invoicing developed by the community, for the community

Simple Invoices is a basic invoicing system designed with simplicity and functionality in mind. Catering for the needs of small organisations and home users.

SimpleInvoices (SI) is a broser based invoicing app that creates and sends invoices. Invoices can be emailed (.pdf) or exported (.pdf/.doc/.xls/plain text - .odt/.ods are also supported via config adjustment).


I first came across SI some time ago but kept going. I checked back more recently and decided to check it out a bit more. I figured as I was installing it anyway I may as well create a TKLPatch for it.

I'm pretty sure SI will make my life easier for the small bit of (backyard) IT & accessory sales and service that I do. Currently I have a template (.ods) invoice that I change and export as .pdf (and 'save as' for a backup). My book keeping then revolves around collecting all my recipts and cross referencing them with a screen full of open .pdfs of invoices and bank statements. I'm pretty sure that the reports feature of SimpleInvoice will make that all a thing of the past.

So I have slapped together a quick TKLPatch of a fairly default SI install. It is not completely finished and there may be features that I do not implement. It should however give you basic functionality of the software. As I am just running on a local VM, the initial patch may not be suitable for running in the wild online.

What the patch does so far (in order):

  • Add Apache2 site "simpleinvoices-standalone" - only https allowed [overlay]
  • Update PHP memory limit to 128MB (php.ini) - possibly overkill but pdf creations chews RAM [overlay]
  • Add an amended services.txt to Confconsole output. [overlay]
  • Add amended SI config.ini & SI database to webroot. (loaded by conf) [overlay]
  • Sets hostname to 'simple-invoices'. [conf]
  • Install  php5-gd php5-xsl. [conf]
  • Download and unzip current SI archive to webroot. [conf]
  • Disable default apache site, enable simpleinvoice-standalone. [conf]
  • Enable apache rewrite - so SI's .htaccess files work. [conf]
  • Load (ie copy in) customised SI config.ini (overwrites default). [conf]
    • add mysql username and password
    • enable authentication
  • Create MySQL user, create and populate database. [conf]
  • Ensure ownership of webroot is www-data:www-data [conf]
  • Stop Apache2 & MySQL services (so patching finalises cleanly). [conf]
  • Clean up.[conf]

Things that ideally should be done

  • Redirect http to https (currently only connects via https - http fails) Done in v0.4 (uses .htaccess to redirect http).
  • Allow default user ( password to be set at first boot (currently 'demo') - needs your touch Alon :) Done in v0.4 - Username (email) and password set with firstboot scripts.
  • Create random SimpleInvoice MySQL password? (not sure if this is necessary but probably be better) Done in v0.4 - Random password (for DB connection for SI) set in firstboot scripts.
  • Get SI to pick up locale and timezone of the server - no idea how to do it, but it'd be awesome.
  • Testing to see if emailing works OOTB... Fix if it doesn't...


  • None known.

Info Links




Help Docs

Additional end-user config

[in /var/www/simpleinvoices/config/config.ini - see link above for full info]

  • local.locale = <your-locale> [default: en-gb]
  • = <your-timezone> [docs clain default: UTC  but it's: Europe/London]

Default Login Credentials

Email address:
Password: demo

As of v0.4 login credentials (email/username & password) set on firstboot.

This patch is hosted on GitHub here. if you wish to fork it and/or try the latest testing version. For instructions on how to install patch from GitHub see here.
Precreated ISO and OVZ templates are available on the TKL Community Downloads SourceForge page here.

Chris Musty's picture

Looks like a good little system.

Chris Musty


Specialised Technologies

Jeremy Davis's picture

Obviously only really for SOHO type small operators but I think it will serve my purposes beautifully.

BTW Nice play on words there Chris :)

Alon Swartz's picture

SimpleInvoices looks really nice, kuddo's on creating a TKLPatch! Not sure how big an audience for an appliance like this will be, but its certainly a candidate for inclusion in the belated part II.

Jeremy Davis's picture

I am aware that it probably doesn't have a huge audience but I think it's such a nice neat little app that'd it'd be good to have included in the library. I have been reading on their forums that they have big plans to increase it's capabilities. It seems to have a nice plugin structure so extra functionality can be easily added without requiring major modification.

I haven't posted it yet as I've been having issues with the .pdf creation process. I'm not 100% but I'm fairly certain it's an issue with PHP5.3. Reading their forums; there are suggestions to just reduce the level of error reporting but I still haven't had any joy yet. I'm going to start again on a clean install of TKL LAMP (as I have fiddled so much with my current test system) with my current patch and go from there. I will hopefully post something tonight, even of it's not completely finished.

Jeremy Davis's picture

But I have had some major breakthroughs. Pretty much in the bag I reckon although there are a few things I won't get to probably (already listed in the OP). Hopefully post the working patch in the next day or 2.

Chris Musty's picture

Looking forward to the variety and number of images that will be available.

Its a tinkerers smorgasboard and opens the way to some awesome solutions.

Can't wait for part II.

Chris Musty


Specialised Technologies

Jeremy Davis's picture

OP updated and v0.2 patch attached (v0.1 never posted). I have not tested this extensively but it all seems to work ok.

Access is only via https. Also as stated in OP - defaults

Password: demo

Add new comment