account
Description: The TaskJuggler Manual
Keywords: taskjuggler, project, management

### The TaskJuggler User Manual

Project Management beyond Gantt Chart Drawing

| Table Of Contents | >> account (task) >>

Keyword | account

Purpose | Declares an account. Accounts can be used to calculate costs of tasks or the whole project. Account declaration may be nested, but only leaf accounts may be used to track turnover. When the cost of a task is split over multiple accounts they all must have the same top-level group account. Top-level accounts can be used for profit/loss calculations. The sub-account structure of a top-level account should be organized accordingly. Accounts have a global name space. All IDs must be unique within the accounts of the project.
Syntax | `account [<id>] <name> [{ <attributes> }]`
Arguments | id [ID] | An optional ID. If you ever want to reference this property, you must specify your own unique ID. If no ID is specified one will be automatically generated. These IDs may become visible in reports, but may change at any time. You may never rely on automatically generated IDs.
name [STRING] | A name or short description of the account
Context | account, properties

Attributes | Name | Scen. spec. | Inh. fm. Global | Inh. fm. Parent
account |  |  |
aggregate | x |  | x
credits | x |  |
flags (account) | x |  | x

    account project_cost "Project Costs"
    account payments "Customer Payments"{
      credits 2007-01-01 "Customer down payment" 500.0,
              2007-01-14 "1st rate" 2000.0
    }

    balance project_cost payments

    resource tux "Tux" {
      rate 300
    }
    resource konqui "Konqui" {
      rate 200
    }

    task items "Room decoration" {
      start 2007-01-06
      # The default account for all tasks
      chargeset project_cost

      task plan "Plan work and buy material" {
        # Upfront material cost
        charge 500.0 onstart
        length 2d
      }
       task remove "Remove old inventory" {
        allocate tux
        allocate konqui
        effort 1d
        depends !plan
      }
      task implement "Arrange new decoration" {
        effort 5d
        allocate tux, konqui
        depends !remove
      }
      task acceptance "Presentation and customer acceptance" {
        duration 5d
        depends !implement
        chargeset payments
        # Customer pays at end of acceptance
        charge 2000.0 onend
      }
    }

| Table Of Contents | >> account (task) >>

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by Chris Schlaeger <chris@linux.com>.TaskJuggler is a trademark of Chris Schlaeger.