Getting started with Redmine Budget

  1. Preamble

    Redmine Budget is based on Eric Davis' work which was released by him to the community. Unfortunetly, project was abandoned. We really liked it and decided to completly rewrite (with keeping compatibility) and make it even better. If you are already using Eric's version (or forks which didn't make any changes to database) you can use this plugin as drop-in replecament.

    This plugin also depends on Redmine Rate plugin which is bundled with Budget for your convenience.

  2. Installation

    Before processing it is recommended to backup your Redmine instance, both files and database (!)

    Follow Redmine standard plugin installation steps:

    1. Upload redmine_budget/ and redmine_rate/ directories to plugins/ inside Redmine root directory.
    2. From shell, still inside Redmine directory, run rake redmine:plugins:migrate.
    3. Restart Redmine instance.
    4. Open Redmine inside your browser.
  3. Setup permissions

    Setup permissions for roles that should have access to Budget in Administration » Roles and permissions.

    It is possible to grant read na write access to project's budget.

  4. Enable Budget for your projects

    In order to use Budget, you have to enable it for each project.

    To utilize benfeits of of financical management and planning provided by Budget, go to project Settings » Modules, and select Budget (make sure that Rate is also selected).

  5. Specify rates for users

    In order to utilize full potential of Budget, you have to fill up hourly rates for users that are going to work on projects with budget.

    To do so, go to the project which has already enabled Budget module and visit Settings » Members.

    Click Create in the Rate column to specify a hourly rate for a given user.

    Hourly rates can be specified for different projects for each user. Project field is the context in which given rate will take effect. However, it is possible to not specify it which will create rate shared across projects (this option is default, as showed on figure above). Amount field is the amount of money in your currency for user's hourly rate.

    Fill up forms and click Add. Repeat this step to other users you wish to specify rates.

  6. Create your first deliverable

    Now, after all this drudgery, you can finally start using Budget.

    Visit Budget » New deliverable to create new deliverable.

    As you can see in above figure, creating deliverables looks pretty similar to issues:

  7. Set issues

    Deliverables are highly tied to Redmine core feature - issues.

    Issues in projects with Budget enabled can be linked to deliverable direclty in issue's page.

    Budget will pull out all meaningful information from issues like logged time, due dates into single place and automatically calculate costs, profits and other factors accordingly.

  8. Statuses & Workflows

    Redmine Budget provide powerful features that, when combined can be used to create custom processes and workfows for budgeting in your organization.

    As you may know, statuses can directly affect deliverables, similary to issues.

    To see existing statuses and create new ones go to Administration » Deliverable statuses. Click New status.

    Statuses can affect deliverables based on two properties:

    Default statuses are pretty basic so don't hesitate to play around with them and create your own workflows for your organization.

  9. Settings

    Configuring protected attributes and other features can be done in settings page. Go there by visiting Administration » Plugins, find Redmine Budget and click Configure.

    If you would like to extend deliverables with your custom attributes, you can do so in Administration » Custom fields.

    Also, if you would like to allow non-administrators access and manage rates, checkout Redmine Rate settings.

  10. Conclude

    As times goes by you will have more and more projects to deliver. The beautiful thing about Budget is that it progressively become more useful as it has more information to process.