Super Power Your Harvest Reporting & Notifications

Apr 16 2010
"Harvest":http://www.getharvest.com is, in our opinion, an indispensable web app for small businesses. It makes it easy to do what most small businesses struggle with: keep track of time and expenses. Harvest has an enviable lineup of features, including the ability to track time while you work, log expenses, invoice clients and more. They also have a great user interface, but the truth is that work happens everywhere and at ever hour, and sometimes it might not be ideal or convenient to go to the website to use the application. Fortunately, the Harvest team is in tune with the needs of small businesses. They created an excellent REST-style (REpresentational State Transfer) API for developers to enable the creation of 3rd-party applications. This opened a whole new world of possibilities regarding what can be done with the data and the service itself. Here at ImageX Media, we decided that a company-branded, reports-style site would work great for our clients and team members. So we set about creating a Drupal module that allows full access to the harvest API and unlocks its potential. The initial beta release of this Harvest module has just been posted on Drupal.org - see it "here":http://drupal.org/project/harvest. The module has been divided into three parts: the API handler, projects and notifications. Here's the skinny on each: h3. API Handler
The API Handler is the central intelligence of the module and provides the link between Drupal and Harvest. Because most of this is occurring in the back-end, it takes very little configuration to get up and running. Follow these steps to get started: # Install the Harvest API module in Drupal # Go to the admin section and click on API Settings under Harvest configuration # Enter the full URL of your Harvest app (ex: https://accountname.harvestapp.com) # Enter the e-mail address of an administrator on your Harvest account # Enter the password that goes with the e-mail address # Save the changes After saving, you will get a message letting you know if the module was able to successfully connect to the API. It is recommended that an administrator-style account is created on Harvest to use for connecting to the API. h3. Projects
Projects are nodes which get linked to an actual Harvest project. When a new project is created on Drupal it will automatically download a summary of time entries for the different Harvest categories. However, the first project you add needs to have some internal categories setup for the table display; here's how to get going: # Install the Harvest Projects module in Drupal # Go to the admin section and click on "Task categories" under Harvest configuration # Add several categories (ex: Development, Management, Non-billable, etc) # Create a new project node from any of your Harvest projects # After saving, click on the "Tasks" tab for that project # Choose what categories each time entry section should be shown under (all time entry sections under uncategorized will not be shown) # Save the changes and click on the "View" tab Now on your project page in Drupal you will see a task table, including a nicely detailed summary of progress, total budget and spent hours. Each task that time has been spent on can be clicked on to view a full summary of time entries for that specific task.
Additionally, you can specify which categories of tasks can be accessed by specific roles. For example, if you have a category of tasks called "Project Management" you may only want to display to users with the manager role. There is also an option to specify which categories are billable hours; this controls how the totals in the summary are presented to users. h3. Notifications
Notifications can play a big part in a small business' day-to-day operations. To leverage the Harvest API even further there is an e-mail-based notifications system included. There are three types of notifications that can be enabled: * Daily reports which are sent every day to each person in your Harvest account (*not* just Drupal users,) including a summary of their work in the prior day * Weekly reports that depend on the content access module to send a reminder to Drupal users with access to specific Drupal projects * Custom reports that send a time report link to Harvest accounts every X weeks; useful for invoicing and summaries For a custom touch, all notifications utilize the token module and template formatting. Configuring and enabling these notifications is super easy and includes the ability to adjust reports based on user timezone settings. To enable notifications, follow these steps: # Go to the admin section and click on "Notifications" under "Harvest configuration" # Click on a notification label to open up its settings # Check off "Enable [type] notifications" # Read through the remaining settings to customize the notification experience # Save the changes Optionally, you can click on the "Timezone settings" tab where you can configure what timezones each Harvest "person" is in. Note that a "person" for Harvest is not limited to Drupal users. Each person is essentially a user on the Harvest website listed under the account (which was defined in the API settings earlier). This separation allows for the notification system to function for everyone using Harvest and not just the ones registered on the Drupal website. h3. What's Next? We would love to hear your feedback. Please "download the module":http://drupal.org/project/harvest, take it for a test drive, and tell us what you think (your comments below are welcome). If you have ideas for new features, need support, or find a bug please add it the module's "issue queue":http://drupal.org/project/issues/harvest.
Learn from us
Sign up and receive our monthly insights directly in your inbox!

Subcribe to newsletter (no spam)

Fields