Invoice Plane: Open Source Accounting System

Open source accounting system When I first started my business ten years ago, a lot of the tools that I used, I developed myself and that included my invoicing and billing system.

However, about five years in, it was getting to the point where I’d go to invoice a client, I’d have to fix or patch something first. So I eventually bit the bullet and signed up and paid for Freshbooks, which really is a great product but for one, it’s just another monthly bill you have to worry about paying and for two, if you’re just getting started in your business or just have a side business where you don’t need to send invoices or track expenses all that frequently, you may not want to pay that monthly fee.

In comes Invoice Plane. Think of it like the WordPress of accounting software. Invoice Plane is completely self-hosted so you can host it on your existing LAMP server or you can just do what I did and dedicate an old Raspberry Pi to hosting it (or an old computer you have laying around).

With Invoice Plane, you can:

  • Invoice and track clients (totals, outstanding balances, paid balances)
  • Track expenses, including receipts
  • Generate profit and loss statements
  • Accept credit card payments with third party merchants such as my favorite, Stripe (although you’ll need your host on the public internet for that one)

I’ll be the first one to admit that there are a ton of more elegant and more functional accounting systems out there, however, there are some systems that I still like to have in my complete control versus putting in the cloud and business financial data is one.

Check it out at: http://invoiceplane.com

Continue Reading

3CX Phone System

Back in the day, when I first started with VOIP, I really wanted to go with some form of asterisk like Trixbox or Elastix but after months and months of trying, I just couldn’t get it stable enough for companies to be able to rely on.

Then a buddy of mine suggested that I look at a system called 3CX. At that time they were just on version 10 and it only ran on Windows but I tried it out anyway and it seemed pretty stable so we went ahead and bought a license for it (I believe it was $1,200 at that time).

Fast forward to today, about a month ago I had to rebuild a phone server for a non-profit in Bakersfield. Beforehand, I did a bit of research and found that 3CX was not only now on version 15, but they now supported Linux as a platform! Moreover, since this non-profit only had a handful of employees, I could get them on the free tier! Some of the more advanced features aren’t included in the free tier such as the fax server and it limits the number of simultaneous calls to eight but for this particular project, it was perfect!

Within an afternoon, I had wiped one of their old servers, installed Debian 9.0 on it, installed 3cx on it and was provisioning phones. I built it on a Friday but waited until the weekend to change over their SIP trunk provider (Nexvortex) just in case something went wrong.

That following Monday morning, I made sure to wake up extra early and clung to my phone all day knowing that there had to be something that was overlooked or left un-configured. 8:00? Nothing. 12:00? Nothing. 3:00? Nothing. I finally sent the director a text and asked how the phones were today? She just said, “Good, no problems.” Trust me, that’s a miracle!

It’s been up and running solid for a good month and a half except for one issue: if you’re running 3CX on a server with two NICs, be sure to only have one interface hooked to the network.

For the past few years, I had been using RingCentral for most of clients just because it was pretty much friction free but I’m thinking that for now on, I’ll use 3CX on top of Debian.

Continue Reading

PFSense: My Go To Firewall for SMB

Given that I’m an open source junky, it should be no surprise that PFSense is without a doubt, my favorite firewall for both home and small business use.

During the last three years of my business, instead of buying a Cisco SMB or a Sonicwall firewall, what I’ve done is buy a refurbished Dell Poweredge server with typically around 16 gb of memory and usually a RAID array that has the usable capacity of 500 gb for around $200-$300 and popping PFSense on it.

Aside from it being completely open source, some of the things that I love about it are:

  • It being rock solid given its FreeBSD foundation
  • It’s bandwidth monitoring and rule-based policies
  • VPN built in with both OpenVPN and IPSec
  • Web caching built in with Squid
  • Web content filtering to block people from visiting unwanted or inappropriate websites
  • It’s on-demand virus scanning, blocking viruses and malware before it reaches the client’s computer
  • Limit traffic by country
  • A programmable intrusion detection system
  • VLANs completely built in

I could go on and on and on. There are literally hundreds of available plugins that extend the core of PFSense’s functionality. Knock on wood but I’ve had some PFSense servers running for years without issue. I know that a Poweredge server is a bit overkill for a firewall for a small business, but at that price, why the hell not?

Continue Reading

Disk Imaging

I’m beginning to feel old here but I remember my first IT job at my high school. At that time, Windows XP had just came out and all the computers on campus were running Windows ME. My first year working there, we spent the whole winter break manually formatting the existing computer lab computers, installing Windows XP, installing all of the Windows Updates, installing Microsoft Office, Adobe Reader, Flash, installing all of the network printers, etc. Over and over and over, again all by hand (I still have that damned Windows XP product key memorized).

This was before I discovered imaging. Fast forward 15 years, I very rarely ever rebuild a system from scratch because I developed a new habit. Whether it be for my personal computers or computers for clients, I get the system setup perfectly the first time, create an image for that system and store it. This way, if that computer ever crashes or it becomes time for a client to buy new systems, I just pop start the image restore, come back half an hour to an hour later and vola! A perfect, clean system already configured.

When I started working at California State University, Bakersfield I started in the “installs” department. Our job was whenever departments would order new computers, we were tasked with getting them configured with the necessary software both for the departments standards as well as the campus standards. At that time, we used Symantec’s Ghost to create an image for each particular model of a system that the campus would buy so when we would get that model again, we would already have an image for it. However, by the time my tenure of working there completed, we had signed a contract with Dell where every six months or so, we would send a master image off to them and Dell would do the imaging for us prior to shipping. Because the campus was constantly buying new computers, we could do that.

For small businesses, however, they only upgrade their hardware once every few years, if that. So I highly recommend that when you do purchase new computers for your small business, create an image and try your best to have everybody on the same model and vendor of computer (even though there are utilities to create universal images to be able to create and restore images to and from different hardware).

My go to imaging software for both personal practice and for my IT clients has always been Acronis True Image because of its simplicity and price, it starts at just $50.

So, start using imaging! Your future self will thank you!

Continue Reading