Your Accounting System

Hello –

I’ve been trying to get a PHP or Perl and MySQL system for billing, payment, invoicing, account management. I keep looking online for several things, but I can’t find anything that I actually want to use. After seeing Dreamhost’s system I think I’ve gotten a little pretentious when it comes to my choices.

I would like to know if you guys use a particular system, a group of systems or any direction whatsoever on building one like yours. It is exactly what I am looking for and never had time to build myself.

Any direction would be greatly appreciated. You guys are great!

  • Jesse

Hi Jesse -

Thanks for the kind words about our accounting system. It’s not often people have such high esteem for anything that draws money from their bank account. :>

[quote]I would like to know if you guys use a particular system, a group
of systems or any direction whatsoever on building one like
yours. It is exactly what I am looking for and never had time to
build myself.


Unfortunately, ours - like much of what we offer - was developed entirely in-house, and is completely integrated into our back-end code. It’s not something that could easily be separated from the rest of our system, and - while very flexible - does make some assumptions about the kind of business we run.

One other thing is that it’s not especially user-friendly from the administrator side of things. We’re mostly productive with it because we developed it. :>

Did you have any specific features in mind with the system you want to set up? What exactly are you interested in selling (ie. Are you planning on offering web hosting like us, or some other service? Are you interested in selling products, services, or a combination of the two?

  • Jeff @ DreamHost
  • DH Discussion Forum Admin

Well, from a programmer’s viewpoint, your entire system is emaculate. The features that I am looking for include the automatic generation of invoices, invoices to PDF files, the payment integration through various methods directly to the accounting system once approved, the support integration… basically most of the client account management, accounting and support aspects.

My company does service-oriented things, I don’t really think that we’ve ever really sold a tangible product and the closest thing that we’ve done to that is software sold only online. lol

But maybe you could give me some insight on how you guys constructed those portions of your system. Obviously because you are a hosting company you can integrate your services directly and almost instantaneously (which I think all your customers appreciate, btw ;O), but my business is mostly services only. We mostly do things like computer programming, internet programming (back-end development), server integration, web development/design, etc.

So possibly your thought process or where you went to figure out how to plug-in some of the features (e.g. invoice to PDF creation, instant account reflection of payment)?

Thanks! =O)

PHP4 supports direct writing of PDF files and has modules for communicating with several payment processing corporations in different countries. It’s really an excellent language for doing just about anything imaginable on the Web. is a good place to start.


[quote]Does DH support (as a company) free software development?


Indirectly, I suppose we do. We rely heavily on MySQL, and have a fairly pricey support contract with MySQL AB. I’m not in Admin, but I wouldn’t be surprised if we paid (indirectly) to assist other projects as well.

As for code itself, we’ve talked about this a bit in the past, but the general consensus has been (so far) that pretty much everything we write is so specific to our own operation that it’d take a lot of work to clean things up enough for general release. Most everything we’ve written has been from scratch and isn’t part of an existing project. We’d probably only release parts of our stuff, and it’s all so intertwined that this may be difficult. It has come up from time to time, though.

I believe some of us have also done some stuff ‘on the side’ in this direction. It’s not exactly mind-blowing, but I started the “Aphrodite” Mozilla skin that has grown to be pretty popular by some (I handed it off pretty early, though, and the current ‘owner’ of the project has done some amazing work with it, far beyond what I started with).

I can’t speak for the rest of the company, but my personal impression of open-source software is this:

It’s an excellent model for developing large-scale projects, particularly those that are infrastructure oriented, or scratch an itch that commercial developers aren’t interested in. It’s a “feature” that adds a lot of value to any piece of software. Generally when I’m looking for a solution (particularly something server-side), I’ll look for open-source software first.

I do differ from some people in that I don’t really consider it as a philosophical or ethnical issue: To me, you choose the tool that works the best, and often it has been my experience that open-source software tends to have a level of reliability and flexibility that is often hard to find in closed products, if only because so many people are looking at the source, bugs tend to get fixed quickly. You also avoid locking yourself into proprietary solutions that may fail you should you decide to migrate to something else or the vendor goes out of business. I do think it’s cool that people are willing to pour hard work into a project without significant monetary gain, but it has never occurred to me that there’s anything wrong with people selling closed commercial software. That’s just one more thing to consider in the total equation, as a consumer.

One other major advantage is that open-source software tends to be developed quite openly, by definition. Even if I’m not interested in hacking at the source, read a few mailing lists and you’re likely to know what is being worked on and can even provide direct input. While there are exceptions, most closed-source developers aren’t nearly that open.

However, I’ve also found that - in general - closed source projects have a greater degree of usability and ‘polish’. I’m much happier using (for example) Linux in a server environment for flexibility and reliability than on the desktop, where usability and workflow is more important.

Again … You just pick your tools for the task at hand. :>

[quote]How does a company like DH decide what to “let go free” versus
what to keep closed/for themself?


It hasn’t really come up, as we’ve never had the time to start a DreamHost-sanctioned open-source project. However, I believe the following concerns would pop up.

  • Is it something that isn’t already being served well by existing software? In our case, much of our value isn’t in any specific feature, but in how they are all integrated. Could we give away sections and it still be something people will want?

  • Is it something you can take the time to clean up and maintain? If you don’t want to maintain the software yourself, is there someone out there you could trust to keep things running?

  • Are you potentially ‘giving away’ some sort of super-duper feature that your competition can install in a weekend without giving something back? Will this impact business, or will any potential loss be outweighed in benefit to your customers, the Internet community, and/or visibility?

  • Is Richard Stallman going to coin you “GNU/DreamHost”? :>

  • Jeff @ DreamHost

  • DH Discussion Forum Admin