Journal

Sorting my workflow out

Screenshot of estimates dashboardA while ago now, like Jason, I realised I needed better organisation in my life, from both a personal and business perspective. I don’t consider myself a really busy person, although one thing has made me realise I need to be much more organised: I’ve got a lot on!(detect the slight edgy panic in my voice?).

I guess it all started last September when Khoi and I were discussing our panel for SXSW and he got me started with Backpack.

Putting Basecamp and Google Calendar in your Backpack

First let me say, and I’m not the first to do this, that Backpack it great. Really great.

I had my doubts when it was first launched—how many people thought, ‘well, I’ve got a diary, why do I need this?’—but after using it, first on the SXSW panel organisation, and every day since then, it has saved my bacon on a number of occasions. Couple Backpack with Google calendar for, you know, calendar stuff and Basecamp for those projects which are larger and require a little more client interaction and I have 75% of my organisational infrastructure solved. However, there’s one thing which is missing for me: Invoice and Estimate workflow management.

Keeping track of the business side

I’m sure I’m not alone on this. I’ve had a problem over the last year, which seems to be getting more complicated, of managing the jobs coming in and going out, the estimates and invoices, what’s been paid, part-paid or hasn’t been paid at all, what’s overdue, what’s not. See? The list goes on.

I’ve tried several products, such as iBiz and Studiometry, but they all suffer from the same old problem. Too much functionality and the UI and workflow, to be used on a daily basis, are just too complicated.

Of course, there’s Blinksale for invoice management, which does a great job but is only part of the equation.

Following reading Jason’s post, I was really inspired to just solve this problem myself. I may not be building a web app here, but I can give something a go to solve my problems.

Getting the requirements together

The first thing to establish were the problems. What did I need the software to do? So, I got together this list:

  • List all current and closed jobs
  • Each job must have a job number, client, associated estimates and invoices
  • Create, edit and store all estimates. Give them a status of Pending, Approved and Rejected.
  • Ability to print estimates and invoices using a well designed print stylesheet
  • Saving off PDF’s using the same print stylesheet
  • Create, edit and store all invoices. Give them a status of Paid, Part-paid and Unpaid

The list could go on, but I stopped there.

Understanding the workflow

The next step was understanding my workflow. How do requests come in? What is the process following that request? Again, I went through the same process:

  1. Request comes in (usually by email)
  2. Set up client details
  3. Set up Job and Job number and assign to client
  4. Create estimate and assign to job number
  5. Send estimate to client and change estimate status to ‘Pending’

Then, following my appointment and competion of the work.

  1. Set up invoice and assign to Job
  2. Email to client

Building the thing

So, I started building the thing using Expression Engine which has a couple of drawbacks. The big drawback is the application has two parts: a web interface and a control panel. So, not everything is done on the same screen such as adding estimates and invoices etc. This could be done using EE’s stand-alone edit form, but you would only able to add stuff and not edit and delete (I think). I may look at this in the future and see how I could use it.

Once it’s complete, I plan on doing a more detailed write-up of how I built it using EE. It’s quite an interesting project trying to build an application like this, rather than a website using EE. It’s liberally using the ‘relationship’ fields to save on data input and duplication and has a bunch of custom php in there to work out if invoices are past their 30 days terms.

Here’s a quick grab of where things are at so far:

Screenshot of the dashboard showing pending estimates

Yes, the design looks like Basecamp and a hundred other applications like it. However, there is a reason for this. All of my 37Signals apps, and EE’s control panel all look the same. I use the same tabs, colour ways, links and everything on all of them. I use half a dozen apps to manage my life and business so I’m much more comfortable if they all look the same. There’s nothing more jarring, for me anyway, to switch between apps and have the core design and colourways change.

Your thoughts?

I’d be really interested in your thoughts on this. What systems and workflow do you currently use? Is it more traditionally paper based? Where do you think I could improve on what I’ve got going on here?

Comments

Hi Mark.

I’ve been having the same problems. I’ve been looking at Filemaker, coupled with the Creative Pro Starter Kit which comes as an additional download.

It seems to do everything that I’m after, and what you’re after, by the sounds of it. However, I’m only judging it by what their marketing guys tell me so I wondered if you or your readers have had any real-life experience of it?

I agree, some packages can be ‘overkill’ and I like the simplicity of your ‘EE’ version, but Filemaker seems to have it all and it’s not a bad price.

Kurt Trew's Gravatar

Kurt Trew
Wed 19th Jul 2006
at 9:31 am

Ha, that’s so funny - I’ve been doing the same thing, more or less, using Rails, for all the reasons you outline above. We should compare what we come up with!

Virginia's Gravatar

Virginia
Wed 19th Jul 2006
at 10:27 am

Even if just for testing ideas for your own development, I recommend you try SideJobTrack. It’s not integrated with backpack or google - and doesn’t look exactly like them - but it does nearly everything you mention ‘out of the box’ ... and it’s free. The great R. Marie Cox updates it regularly and takes on user-suggestions. It’s not bad looking either.

I use it with a homespun RTF template that you can print, store or make into a PDF but you can also set up email invoice and estimate templates too. Invoice numbering, payment progress (paid, outstanding, overdue), invoice increments, client infos, calendar overviews, lots of individual jobs for the same client, itemised services and materials, export all data as XML for backing up locally etc. etc. Special needs can, to a degree, be covered using the notes field.

Julian's Gravatar

Julian
Wed 19th Jul 2006
at 11:07 am

Kurt: In my first job, the company I worked for used Filemaker and a vowed never to use after using it for just one year. That was ten years ago now though, so things may have improved slightly ;)

Virginia: Ooo, lets. That’d be great to have somethign to compare it to.

Julian: I’d totally forgotten about SideJobTrack. It’s an interesting product but there’s some things about the UI which bug me. After beginning development on this little project for myself, I’ve quickly come to realise it takes a lot of effort to not add things. I’m really trying to limit thew functionality to the absolute minimum for it to do its job for me.

Mark Boulton's Gravatar

Mark Boulton
Wed 19th Jul 2006
at 11:16 am

I have requested Blinksale to add estimates many times. I wish they would.

Nice work on the UI.

Nathan's Gravatar

Nathan
Wed 19th Jul 2006
at 12:15 pm

Liking this so far - wish I had time to help…

You can edit using a version of the Stand Alone Entry Form - it’s a bit complex to set up, but once done it is great. We’ve tried and tested it.

You basically put the SAEF inside standard weblog tags, so that the article is available, and then pop the contents into form elements. The helper tool (plugin, module, can’t remember what?) sorts out the formatting and other details.

I’m all over the shop right now, but email me and I’ll find the source for you…

Colly's Gravatar

Colly
Wed 19th Jul 2006
at 12:24 pm

Well, I’m almost two years on in the use of my invoice tracker, and it’s still working great for my needs. My requirements were a bit different than yours. Since I work with a lot of agencies, I do less estimating. I mainly just needed something to easily allow me to track invoices, paid and unpaid, along with some job info like client name, number, job number.

I also extended mine to take the amount paid and figure out what I owe in taxes every quarter automatically. I don’t know how it is in the UK, but someone self-employed in my position usually pays their taxes quarterly, rather than annually. I also have it set up so that I am viewing a master page of all jobs, but clients each have their own individual page of just their jobs (just extending the idea of category archives, where clients are categories).

Anyway, yours looks really sweet, and I’m glad to see I wasn’t alone in needing something very simple. You have different needs than I did, but the motivation is all the same. Huzzah!

Jason Santa Maria's Gravatar

Jason Santa Maria
Wed 19th Jul 2006
at 12:50 pm

I just knew there would be a way of doing it with EE. There generally always is, right Colly? ;)

Mark Boulton's Gravatar

Mark Boulton
Wed 19th Jul 2006
at 12:51 pm

I think you need a virtual wife to sort all of this out for you… any takers? ;0)

The Wife's Gravatar

The Wife
Wed 19th Jul 2006
at 1:17 pm

Make sure you book in some time to not work this weekend.

Phil's Gravatar

Phil
Wed 19th Jul 2006
at 2:37 pm

Already done Phil, already done! :)

Mark Boulton's Gravatar

Mark Boulton
Wed 19th Jul 2006
at 2:54 pm

...and if it isn’t too much trouble, perhaps you’d consider releasing it as an EE module?

the Brightside's Gravatar

the Brightside
Wed 19th Jul 2006
at 5:14 pm

Hi Mark,

I was also very impressed by Basecamp but I realy don’t wanted to pay so I build my own, one including the billing process, earning calculations (like per hour per project...), calculating taxes etc…

I let it down for a while and finaly make some pen & paper models looking like forms to be filled : they are quit useful because they can lay under the keyboard. I use my own app at the end to track back all what I’ve written.

The process is not yet realy effective because when I have lot’s of work, I forget to note or track my actions, but it’s probably a personnal problem :)

http://www.cmatoile.com/2006/07/20/pen-paper-work-helpers/
http://www.cmatoile.com/2006/07/17/work-in-progress/

Pierre Canthelou's Gravatar

Pierre Canthelou
Thu 20th Jul 2006
at 7:35 am

I’ve been looking for something similar myself this week but I also want to be able to track potential leads/people I’ve quoted for. I guess more of a CRM system but without the bloat. All I’ve found so found is SugarCRM which promptly crashed my dev server when I installed it ... D’oh!

Karen's Gravatar

Karen
Thu 20th Jul 2006
at 9:30 am

Regarding EE and the SAEF - as colly says you can use the plugin/module/helper thingy to allow you to edit entries from the frontend. 

It doesn’t allow you to delete them but you can simply set up a status for ‘delete’ or whatever where entries aren’t shown and then periodically login to the backend and delete all entries of that status.

Jamie's Gravatar

Jamie
Thu 20th Jul 2006
at 3:04 pm

I’d pay for something like this - it’s the one major thing that Basecamp lacks (and apparently refuses to add). If there was a way to integrate it all I’d be very happy camper.

Brandon's Gravatar

Brandon
Thu 20th Jul 2006
at 7:34 pm

Commenting is not available in this section entry.

A picture of Mark BoultonI'm a graphic designer from near Cardiff in the UK. I've been a designer for over ten years now and primarily work on the web. I'm still partial to a bit of print every now and then though. I used to work for Agency.com in London as an Art Director before working as a Senior Designer for the BBC in sunny Cardiff. This was all before I took leave of my senses and formed my own design consultancy, Mark Boulton Design Ltd.

I've got a thing about grids and typography and occasionally ramble on about them to anyone who will listen.

If you're after simple, clean and effective web design; let me know.