Thank you Bamboo Invoice users for a wonderful 7 year run. It is with mixed emotions that I write this, but the BambooInvoice project is no longer actively maintained.
Bamboo began as a "scratch my own itch" side project. It was 2006, and I was an independent freelance PHP developer. Ruby on Rails was getting a lot of attention, and "frameworks" were only just starting to work their way into the collective PHP consciousness. Like many developers, I began exploring the (relatively few) options for PHP frameworks. Having finally settled on CodeIgniter, I set to build something with it as a way of running it through its paces. Thus, with a need to keep better track of my client invoices, and an urge to experiment, BambooInvoice was born.
That lead to wonderful opportunities for me, including a substantive run with CodeIgniter's parent company, EllisLab. I was blessed to work every day with a passionate community to build CodeIgniter into something I was very proud of in those early days. As the years went on, the owners of CodeIgniter and some of its development community drifted. I would count myself among them. These days most of my time is spent with Laravel, and while I still immensely respect the framework and community, the license change and architectural choices in CI 2.0 are difficult to reconcile against my current beliefs and goals, and after a great deal of time considering the best move for me and this project, I've decided to stop personally developing it.
I just wanted to take a moment to update everyone about BambooInvoice. Although a new version hasn’t been released since April, it is still very much under active development. The next version will be 0.9, and features a series of enhancements to make Bamboo more flexible, robust, and suited to a broader array of uses.
Despite earlier concerns about my choice of license, I can definitively say that for the near future, BambooInvoice will remain GPL. If I do change the license, it will be to another Open Source license.
On a technical level, I’ve put up the project at GitHub (http://github.com/derekallard/BambooInvoice) as an experiment in using Git as a code repository. This is my first time working with the system, and while the code is up there now, I’m not sure I’ll stay with Git - although it does feel nice so far, working with Git is pretty different from what I’m used to with Subversion. At the very least, major versions of the code will be put up there (ie: releases).
To the question of when, I’m honestly not sure yet. Its pretty close, but there are a few important pieces not yet in place, and I don’t feel comfortable even giving estimates or guesses. I can say development on the next release has been fast and furious as time allows, however the release of ExpressionEngine 2 has been taking up all my time in the last few months. That said, there is real progress; most notably
A full rewrite of the tax system from the ground up. Unlimited taxes, configurably applied to your invoices and items.
Additionally, here’s a sampling of the current changelog:
When I was building BambooInvoice, I wanted to have the ability to export invoices as PDFs. There are a number of excellent PHP based solutions for this, but Bamboo was unique in that it was a distributed application. I wouldn’t have control over the servers it was being installed onto. This meant I needed a PDF conversion library that didn’t rely on certain server libraries being present. I was also limited in that I wanted BambooInvoice to be released under an Open Source license.
DOMPDF was perfect for what I needed, and today the project changed hands, and is once again being actively developed at http://code.google.com/p/dompdf/. I’m very excited for the future of this excellent project.
Read the full post for details.
I’m proud to release BambooInvoice 0.8.9 today. Its mostly a maintenance release, but there are some tasty new features as always.
I’m proud to announce that BambooInvoice 0.88 is ready and all wrapped up! The changelog is pretty substantial, and in fact the underlying code has undergone some pretty big overhauls. A few highlights include: enabling of email functionality when invoice is closed; invoices now detail amount paid and owing if an invoice has partial payments applied to it; a “tax code” field has been added to client information (particularly useful for countries that require printing a client’s taxcode by law); a hidden config variable has been added to allow the separator between dollars and cents to be a non ‘.’ if wanted (for example $24,67) and; the whole system is now subclassed under a new controller for login and other tasks.
Most of that stuff won’t mean much to most users. The “big” changes for this version are the inclusion of 2 oft-requested features.
- The ability to duplicate invoices
- Multiple Admin accounts
Keep reading for more details, including how these work, and previews of each in action.
What a fun holiday surprise! Linux Pro Magazine has a wonderful article in its December issue called Smooth Solution: BambooInvoice web-based invoicing solution, which is (not surprisingly) an article about one users experience installing and using BambooInvoice. Its wonderfully satisfying to see the popularity of Bamboo steadily climb - makes me feel like I’m on the right track.
Thank you to the author, Dmitri Popov. Your article really expressed what I try to make BambooInvoice; simple, uncomplicated, uncluttered. Also thanks to Linux Magazine, who have made the article freely available as a PDF online (but go buy an issue anyhow!). I hope this exposes many more people to Bamboo, and the article was certainly written in a way that will facilitate new users to come aboard. Dmitri walks through setting up a host, configuring Bamboo, and setting up your first client, as well as brief introductions to the process of invoice creation and reports (which I’m proud to hear he reports as “mostly self explanatory”).
I was also very pleased to read the final words of the article:
...the lack of a proper system in place can seriously disrupt your daily work and make the process of running your own business rather frustrating. BambooInvoice helps you avoid that by giving you simple yet effective tools for generating invoice and keeping tabs on them.
This is exactly why I developed Bamboo in the first place. The next version will be ready to go soon. Most of the changes are already made, and while they are mostly compatibility changes and UI adjustments, there are a few nice things in there that I think most people will welcome and enjoy. I’m also proud to say that the number of languages Bamboo is able to support is steadily growing, and it looks like Indonesian and Danish will be added shortly.
The project itself will continue to grow, as every few weeks I find new things that I’d like to see myself in a program like Bamboo. Additionally, as more and more coders are picking it up, it means that the number of people offering suggestions, enhancements and code is growing. It looks like very shortly Bamboo will hit “critical mass”, and become a self-sustaining project with a vibrant community and dedicated users. To all Bamboo users - thank you; and if you have a need to track invoices and haven’t yet checked it out, please consider giving it a shot!
One oft-requested feature of Bamboo is the ability to have multiple usernames and passwords for administration. Perhaps you’ve got 2 people in your company, who both issue invoices… perhaps you just want 2 separate accounts. To that end, I’ve started working on a new feature of BambooInvoice, called “Accounts”.
In the early stages, having multiple accounts will simply mean having multiple admins. Bamboo will not track who did what activity, there will be no different permissions, etc. Basically, it just allows for a separate login. Down the road, I’d like to implement a few different privilege levels for accounts. Right now I’m thinking they might be “admin” (everything), “executive” (can do anything relating to invoices, but not change system preferences), “viewer” can see but not change invoice information, and “client” (individual clients will be able to see their company’s invoice history, including viewing past invoices).
The main thing with a permissions system like this is that Bamboo was not set up from the beginning to allow for granular permissions, so there is a lot of going back over to make sure I’m not accidentally letting an unprivileged account see something that only a privileged one should. I can imagine what a mess it would be if a client logged in to see their invoices but also had access to all your billing information. Yikes! So it will be a slow process as I make sure I don’t mess it up.
For now though, I need some different icons. C’mon you graphic savants out there… what can I use to represent “clients” that makes it distinct from “accounts” visually on the root system dashboard? I’d love to hear your input.
This release is mostly a bug-fix release, but includes a few features that I had been meaning to get around to, and also has some architectural changes that should allow for some neat things in the future. Mostly though, some real effort went into trying to make Bamboo as intuitive as possible - the growth in popularity has meant that I’m now seeing it installed in some rather “unconventional” server setups (GoDaddy… I hate you).
This version of Bamboo also includes an automated “new version check”. I’m hoping this will reduce the number of very old installations I’m seeing - the newer versions really are superior. The new version check is just a simple file read from the BambooInvoice website, no information is transmitted, but it can be easily disabled in Settings > Advanced Settings > Automatically check for new versions.
You can get the new version from the BambooInvoice website.
If you are a Bamboo user, and discover any issues with this version, please let me know and I’ll get them fixed right up.
Here’s a small sample from the changelog:
- Naming changes on “private” invoice notes.
- Further adjustments to how logos get included. I think this time all the issues are resolved.
- Uploading a logo now changes both the web and PDF views.
- Moved logo insertion code into a centralized location.
- Added “Edit” option to Ajax client contact creation, move text into language variables.
- Specified that logo inserts must be jpg or gif for PDF creation.
- Flushed out new version check tool in utilities. Its functional now.
Get it while its hot! BambooInvoice 0.86 features a slew of features and bug fixes including some obvious and useful ones, as well as a few treats.
For full details, see the changelog.
I've released a preview copy of 0.8.6 here.
If you've got an adventurous spirit, give it a whirl, if no bugs are found, it will form the basis of the next release.
Keep reading to see the changelog.