At Bitlancer, we track our billable hours using FreshBooks, a popular, cloud-based SMB accounting system. The legacy version of FreshBooks that Bitlancer and many other SMBs are using (for a number of reasons, we have yet to upgrade to the latest version) allows us to create projects and set a maximum number of project hours… but there’s no way to limit the actual hours billed. Further, contractors working with us can’t even see the project time limits they need to adhere to.

Say you setup a FreshBooks project and estimate that it will require 40 hours to complete. A third-party working on that project can track 50 hours with no alerts going off in the software. They will have no clue that there’s a 40-hour cap on their time.

After a few experiences with contractors logging more hours against projects than we had estimated (yes, feel free to blame this on poor management rather than the software!), plus running into challenges managing billing for multiple contractors across multiple projects, we decided to build an integration to FreshBooks that would give us the capabilities we needed.

Our new, open source Freshbot makes it easy to see how many hours your team has left on active FreshBooks projects. Here’s a peak at the bot’s output (project names are grayed out):

And here’s a sample of what you’ll see in FreshBooks:

Freshbot is a Slack bot written in the Go programming language that runs as a serverless Amazon Web Services (AWS) Lambda function. This design makes Freshbot easy to setup and maintain. It is publicly available, along with documentation, at

Now our contractors can simply run /hours on Slack to see how many hours are left on projects and how many hours they can invoice. And we can check project status in FreshBooks at a glance.

This helps Bitlancer improve project management and overall efficiency in a number of ways:

  • We can see right away when the hours billed against a project exceed the project estimate. (Prior to building Freshbot, the only way we knew that was to log into FreshBooks, check the hours against the estimate and realize, “Oh, crap…”)
  • Contractors can easily figure out how many hours they’ve billed on a project, in relation to the total hours they can bill.
  • We know when we need to ask clients for new deposits because it’s now much easier to see how close we are to the agreed project time limit.
  • We have “no excuse” for accidently going over budget on projects because both project managers and contractors can easily see when they’re getting “close to the edge.”

We hope our open source Freshbot will help your business, too! Take it for a spin today.