### 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 | accountreport, export, properties, resourcereport, taskreport, textreport, tracereport

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.