Sign in to participate
Be Kind, Be Helpful
Ask a question, answer a question, and get to know the fine people in the Harvest community.
Full Support for a (my) Professional Services Workflow
I’m finding it difficult to use Harvest to manage some aspects of my professional services firm’s workflow. I have some ideas on how to improve this.
First, our company’s project life-cycle looks like this:
0) We have clients for whom we work on multiple projects over several years.
1) Client sends us a request for a Quote on a Project.
2) We send customer a quote. Sometimes this is a fixed cost Quote and sometimes it is a time and materials Quote. Quotes may define milestones. Each milestone has an estimated completion date and a cost. (For Fixed Cost Quotes, these Milestones will ultimately be converted to Invoices, once the Milstone is Completed.)
3) Customer sends us a Purchase Order. The purchase order references one Quote (by its quote number). A PO is basically a work authorization.
4) We work on the Project, logging time and expenses.
5) We send Invoices. Invoices reference one Purchase Order.
5a) For Time and Materials Projects, we might Invoice multiple times against the same Purchase Order until the Purchase Order amount is reached or the Project ends. However, even though we are invoicing against Purchase Orders, we like to think of this as Invoicing against a Project — a project has multiple purchase orders. When we invoice a Project, we typically want to invoice against the oldest Purchase Order that has an unvoiced balance remaining. Once that PO becomes depleted, we start invoicing against the next PO that was issued.
5b) For Fixed Cost Projects, we Invoice a fixed amount upon completion of each Milestone. Sometimes there are bonuses for early completion of a Milestone.
6) If a Purchase Order amount is reached, the customer will either extend the purchase order (raise the amount) or issue us a new purchase order. Sometimes they will issue us multiple POs up-front (since it might be easier to get authorization for smaller POs that one large PO), or before POs are actually depleted.
7) Customer pays invoices.
8) Profits!
Now, two major pain points of trying to use Harvest for our project workflow are the following:
(A) Purchase Orders are not tracked as an entity (they aren’t a first class citizen in Harvest) — they are only a text field on an Invoice. There is no way to find all Invoices against a PO, to see if there is any budget left on the PO.
(B) Invoices are not related to Projects — you only add time to Invoices from Projects, and then the Invoice forgets about the Project. There is no way to find all Invoices for a Project.
I do know that there are some work-arounds, like creating a new Project for each Purchase Order. However, this adds a lot more administrative overhead and does not map well into how our engineers think about Projects. It also makes it difficult to report on Projects. And, we need our Harvest Project names to map one-to-one with our QuickBooks Project names.
Here is my suggestion:
Quotes (or Estimates) should relate to a Project or a Product — oh, did I forget to mention that we sell products, too? I’ll suggest that feature soon ;)
Add support for creating Purchase Orders. Purchase Orders reference a Quote (and, thereby indirectly, a Project).
Invoices should reference a Purchase Order (they already do, but these should not be a text field, but a list of all the POs open for the Project being invoiced).
These are my thoughts and I hope they are useful. I’ve been in the professional services business for quote some time and assume that most other firms’ workflows are similar and would map well into this scheme.
Thanks,
Jim, we are a relatively new convert to Harvest (from Netsuite) and I agree with everything you say here. We have the same workflow as yourself and I have about 20 Harvest users so project reconciliations get complex pretty quickly. The Purchase order functionality is really crucial, as is working to a PO since our clients will not accept overruns against them. If we accidentally invoice more than the PO it causes all sorts of embarrassment.
Great suggestions !
Hey Chris,
I’m happy to hear that my firms workflow (and pain points) are similar to yours (only in the sense that I’m not alone). It seems that Harvest has been targeted to smaller design and development firms rather than those who follow more rigorous business to business practices.
Cheers,
A follow-up to this is that Harvest is a great tool to help small businesses grow. So, it should be able to handle the needs of medium-sized companies (rather than just small ones), otherwise companies will be forced to abandon Harvest as they grow. I love Harvest and don’t want to have to switch to less usable tools that have features critical to my business.
Thanks for all of the detailed notes @Jim and @Chris, this is really helpful as we keep expanding with more updates and improved features – we appreciate you sharing your workflow, and the workarounds you’ve needed to employ. We’re listening, and will keep this in mind as we grow Harvest’s functionality.
Jim,
Amen, Amen, Amen… Those of us running a consulting busienss that serves larger firms (fortune 1000) nearly all work EXACTLY as you’ve describe. PLEASE Karen and Harvest, PLEASE take Jim’s use case scenario and enable ASAP. You have no idea how many 100-200 person consulting firms there are who live and die serving Fortune 1000 firms, all of who require us pay attention to things like PO balances, SOW References, etc.
Our only reason for not having joined Harvest to date is because of the kludgy work flow Jim has highlighted.
Hi bradesp,
Thanks for the support. Yes, that’s how I would classify our customers: fortune 1000. We’re only a 9-person firm, but maybe we’ll be a 100-200 person firm, someday :)
I was just about at start a new discussion with nearly the same comments and Jim. Invoices definitely need to be linked to Projects, and as a programmer myself I don’t think that would be extremely difficult to implement given your current interface. Hopefully this can get sent to the top of the priority list.
Cheers
Kevin
Hello folks. Any word from Harvest folks on adding PO functionality? My workflow is similar to these folks. Some projects are long term and have many PO’s. I fill up one, invoice to it, and they send another one. Same project.
Thanks for a great website!
Hey Chip,
To the best of my knowledge, there hasn’t been any public discussion by the harvest team about adding PO functionality. But, I’ve been lobbying hard for it :)
Also, the more research I’ve done, I’m realizing that what we’re looking for is more of a “Professional Services Automation Software”: http://en.wikipedia.org/wiki/Professional_servi… solution. However, the ones that I’ve looked at are nowhere near as easy-to-use (as Harvest is) for time tracking and invoicing. So, I’d love it if Harvest would start adding more features along those lines (like PO tracking).
Cheers,
-Jim
Dear Harvest,
I really like your product. But, you really should at least comment on this one. Firms will be “graduating” from your product unless you can get this taken care of soon. Please.
The other aspect that I’ll piggyback here is more flexible reporting. Need that too. Exporting to Excel isn’t ideal.
Thanks.
Hi @bradesp, @yootutor, @chip beaulieu, @Jim, and @david – Thanks for the additional feedback. The more we hear that people need something, the more likely we are to implement it, and it looks like this is an important aspect of many people’s work flows. Adding your names to our request list on this, and thanks for being in touch!
Cheers,
Samara
We had a related issue, around keeping track of POs. Our workflow sounds the same
1) we quote (either price or time & matl estimate)
2) customer assigns a PO for a certain amount
3) we do work, bill against that PO.
Where we ran into trouble was:
- working out which person inside customer issued which PO (so attach a PDF of the original)
- working out how much money the PO was for (to make sure our invoice isn’t more than that!)
- working out how much money is left on a particular PO (so if the PO was for $20k, and we’ve billed $15k, there is $5k left if reqd)
- allowing us to have multiple invoices against the one PO
- sometimes we have a PO that expires at the end of a financial year, so need to invoice before that- sometimes well before the work has started. How much did we bill and against which PO?
- Small customers don’t tend to use POs, but all the big ones do, and they expect us to be able to keep track of what is where. So we needed something to help with this.
To solve this, we tried to use Harvest (which we use for time tracking). This isn’t a complaint about Harvest- it is fairly good at what it does. I realised that to expect it to do everything is a bit unrealistic. Follow that path and you end up in “Enterprise Land” where every possible use case is met and overengineering is a virtue. Think of one of those really huge swiss army knives with the blade and the toothpick and the saw and the tweezers and the…
Our solution (for now) was with BMS (http://phpbms.org/), which is an open source project that we set up on an internal server. Our project managers and admin staff use that to track all of our quotes and purchase orders. There is a basic workflow you can set up and modify, so quotes can be approved and be made ready to invoice (we use a separate system Xero for invoicing and financial management).
So we have three discrete systems:
- Harvest – for tracking time and allocating budgets against projects
- BMS – for quotation and PO management
- Xero – for invoicing
I appreciate that some people might not want the hassle of having multiple systems, but from our experience (we’re a 20 person team) it was much easier as each of the parts do their job really well -rather than having one system that does one thing well and everything else poorly or forcing us to adopt a workaround.
@Ben: This is really great info. It’s comforting to know that I’m not alone (we’re a little bit smaller than you, and just now starting to really feel the pain of trying to use Harvest for managing quotes, POs, and invoices — it does invoices pretty OK, but there is a lot to be desired). Have you come up with any automated tools for bridging these three systems?
@Ben: One more thing that I’d mention about what we’re doing. We’ve started to use QuickBase to manage customer POs. We built a little database app that allows us to relate Invoices to POs (which relate to Projects and Clients, of course). I can then easily generate a report that shows, for a given project, which POs have remaining funds and how much (and calculate hours remaining, based on hourly rate). Also, right now, we are manually entering the number of uninvoiced billable hours for a given project into QuickBase, so that we can take this into consideration when calculating how many hours are available before a PO is depleted. But, we’re thinking of automating that using the web service APIs of QuickBase and Harvest.
@Jim – no worries and hope it is useful. We’ve made a few things to pull information out of Harvest to meet a specific report requirement (for example each fortnight we need a summary of hours worked by person + holiday leave to do our pays). The main integration we’ve done is between Jira and Harvest (you can read about it here http://redant.com.au/blog/the-story-behind-our-... ) to do things like work out whether there is more work estimated in Jira than there is budget allocated in Harvest.
We looked at coming up with some kind of code for each job, but the thing that’s worked for us is to just keep all the job names the same. So the name in Jira is the same in Harvest and the same in Xero (invoicing & accounts) and the same in BMS (PO and Quotes). That has also cleared up some confusion among our team when someone calls a project X but the invoice actually calls it something else.
re: customer POs – from our experience they are a lot more complicated than they might first seem. We’ve built a few systems before deciding to use BMS. We had issues like one PO relating to many invoices, or many POs relating to one invoice. The key thing we wanted to solve was to make sure that we understood how much money was allocated to a project and how much was left still unused. My other issue was doing work that we forget to invoice – so having some workflow for quotes > PO > reminder to invoice was important.
To clarify – depending on your customer, how a PO works will be quite different. Some of ours are dead simple- we send them an estimate, they give us a PO for that amount, we do the work, we invoice that amount. Other clients give us 5-10 POs that cover a year, and we need to manage what gets billed where and how much is left on each.
So although I’m sure the good people at Harvest will add a PO feature that is more than a text field, it is probably not going to work for everyone.
If you haven’t guessed, I’m not a big fan of the uber package that claims to do everything. My advice would be to work out the painful bits to your PO process, and hook up your own process using the API.
[Cue sunshine and dancing pandas]
Hey Ben: That’s interesting that you’re using Jira for project management. We’re starting to use FogBugz for that and have been thinking about ways we can bridge FB and Harvest. Regarding PO management in Harvest, I’d really love a simple solution that allows me to add POs to projects (and have the project $ budget dynamically determined by the sum of the POs) and then have a drop-down list of POs to choose from when I create an invoice against the project. Right now, I use the Project Notes field to keep track of POs that are added to the project and increment the project budget. I guess I could create a little desktop app that uses the Harvest API to store data in the Project Notes field and then modify the project budget. Actually, this makes me think of another idea — it would be cool if we could create tags to store extra data about projects, invoices, etc. This would give API/tools developers a nice place to store additional, persistent meta-data that’s used programmatically.
It is interesting to hear people using harvest & xero. We have tried the switch and are suffering through lack of a PO mechanism and an effective linkage between the two. It would be great to be able to process an invoice and push into xero so it can be managed through a full accounting application. Interestingly we are using basecamp as the project management solution.