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.

Purpose

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
accountreport
accountroot x
auxdir (report) x x
balance
caption x
center x
columns x
currencyformat
end (report) x x
epilog x
export
flags (report) x
footer x
formats x
header x
headline x
height
hideaccount
hidejournalentry
hideresource
hidetask
journalattributes
journalmode
left x
loadunit
numberformat
opennodes
period (report)
prolog x
purge
rawhtmlhead
resourcereport
resourceroot x
right x
rollupaccount
rollupresource
rolluptask
scenarios x
selfcontained x
sortaccounts
sortjournalentries
sortresources
sorttasks
start (report) x x
taskreport
taskroot x
textreport
timeformat
timezone (report) x x
title x
tracereport
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 <cs@taskjuggler.org>.TaskJuggler is a trademark of Chris Schlaeger.