The TaskJuggler User Manual

Project Management beyond Gantt Chart Drawing

<< accountprefix << Table Of Contents >> accountroot >>

Keyword accountreport

This keyword has not yet been fully tested yet. You are welcome to try it, but it may lead to wrong results. The syntax may still change with future versions. The developers appreciate any feedback on this keyword.


The report lists accounts and their respective values in a table. The report can operate in two modes:

  1. Balance mode: If a balance has been set, the report will include the defined cost and revenue accounts as well as all their sub accounts. To reduce the list of included accounts, you can use the hideaccount, rollupaccount or accountroot attributes. The order of the task can be controlled with sortaccounts. If the first sorting criteria is tree sorting, the parent accounts will always be included to form the tree. Tree sorting is the default. You need to change it if you do not want certain parent accounts to be included in the report. Additionally, it will contain a line at the end that lists the balance (revenue - cost).
  2. Normal mode: All reports are listed in the order and completeness as defined by the other report attributes. No balance line will be included.
Syntax accountreport [<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]

The name of the report. This will be the base name for generated output files. The suffix will depend on the specified formats. It will also be used in navigation bars.

By default, report definitions do not generate any files. With more complex projects, most report definitions will be used to describe elements of composed reports. If you want to generate a file from this report, you must specify the list of formats that you want to generate. The report name will then be used as a base name to create the file. The suffix will be appended based on the generated format.

Reports have a local name space. All IDs and file names must be unique within the reports that belong to the same enclosing report. To reference a report for inclusion into another report, you need to specify the full report ID. This is composed of the report ID, prefixed by a dot-separated list of all parent report IDs.

Context export, properties, resourcereport, taskreport, textreport, tracereport, accountreport

Attributes Name Scen. spec. Inh. fm. Global Inh. fm. Parent
accountroot x
auxdir (report) x x
caption x
center x
columns x
end (report) x x
epilog x
flags (report) x
footer x
formats x
header x
headline x
left x
period (report)
prolog x
resourceroot x
right x
scenarios x
selfcontained x
start (report) x x
taskroot x
timezone (report) x x
title x
width x

project "AccountReport" 2011-11-09 +1y {
  currencyformat "(" ")" "," "." 0

account resourceCost "Resource Cost" {
  aggregate resources
  account teamA "Team A"
  account teamB "Team B"
account productCost "Product Cost" {
  aggregate tasks
account customerPayments "Customer Payments" {
  credits 2011-12-01 "First downpayment" 80000,
          2012-06-01 "Second downpayment" 200000

balance productCost customerPayments

resource teamA "Team A" {
  rate 420
  chargeset teamA
  resource "R1"
  resource "R2"
resource teamB "Team B" {
  rate 380
  chargeset teamB
  resource "R3"
  resource "R4"

task "Products" {
  chargeset productCost

  task p1 "Product 1" {
    effort 20m
    allocate teamA, teamB
  task p2 "Product 2" {
    effort 18m
    allocate teamA
    priority 600
  task p3 "Product 3" {
    effort 6m
    allocate teamB
    priority 600
  task mf "Manufacturing" {
    depends !p1, !p2, !p3
    duration 2w
    charge 12000 onend
  task "Final Payment" {
    depends !mf
    purge chargeset
    chargeset customerPayments
    charge 170000 onstart

accountreport "TeamBudget" {
  formats html
  accountroot resourceCost
  balance -
  columns no, name, quarterly { celltext 1 "<-query attribute='turnover'->" }

accountreport "ProfiAndLoss" {
  formats html
  columns no, name, monthly

<< accountprefix << Table Of Contents >> accountroot >>

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Chris Schlaeger <>.TaskJuggler is a trademark of Chris Schlaeger.