This supplements - it does not replace - the existing articles that cover WorkGuru merge fields: the online field library articles (https://support.workguru.io/support/solutions/folders/43000574310) and the shared field tables document covering Tasks, Products, TaskOptions, ProductOptions, PercentageLines, Client, Billing Client, Currency and the rest. This page covers only the two things unique to Project Group printing: the three layout patterns, and the fields that exist only on a Project Group print.
1. The three layout patterns
Nothing else in WorkGuru works this way, and there is no setting for it: the layout comes from the structure of your template. What decides it is whether your line tables stand on their own in the document, or sit nested inside a table named QuoteSummaries. (Tables are named by their Alt Text description - in Word, Table Properties > Alt Text > Description.)
Layout | If your template has... | you get | Tables usable in it |
FlatAcrossQuotes | no QuoteSummaries table, or a QuoteSummaries table with no line tables nested inside it (the default, and what most existing templates do) | one flat table per type, listing every line from every quote in the group together, in quote order | Tasks, Products, PercentageLines - at document level, not nested |
PerQuoteBlock | a QuoteSummaries table with any of Tasks, Products, TaskOptions, ProductOptions or PercentageLines nested inside it, and no PhaseDetails | the whole QuoteSummaries block repeated once per quote, each copy holding only that quote's lines | Tasks, Products, TaskOptions, ProductOptions, PercentageLines - nested inside QuoteSummaries |
PerQuoteBlockByPhase | a QuoteSummaries table with a PhaseDetails table nested inside it (PhaseDetails wins even if Tasks or Products are nested too) | the same per-quote block, but inside each copy PhaseDetails repeats once per phase, holding that quote's lines for that phase | PhaseDetails, and inside each phase row: Tasks, Products, TaskOptions, ProductOptions |
- Only one pattern runs per print. They cannot be mixed. Nest a Tasks table inside the block and leave another at document level, and only the nested one fills - the other prints its raw [TaskName] tokens.
- Tasks and Products take the ordinary lines, TaskOptions and ProductOptions the optional ones - and in a per-quote block an options table alone is enough to trigger the pattern.
- A block can hold two PhaseDetails tables - one carrying the mandatory line tables, one carrying the options tables - to split mandatory work from options, each still by phase. Both fill.
- Duplicates: with more than one QuoteSummaries table the last one wins; for Tasks, Products and PercentageLines at document level, the first. Word merges tables that touch, so always leave a paragraph between them. A table with no rows to print is removed entirely.
2. Four rules to know before you build one
- PhaseSummary does not work here. Only PhaseDetails is filled on a Project Group print, inside a block or not. A PhaseSummary table prints with its raw tokens showing - leave it out.
- Give every PhaseDetails table a real row below the header - two rows minimum: the header, and the row holding the phase fields, which is the one repeated. A header-only table is skipped and printed as typed. Every PhaseDetails table in the template is processed, including a leftover copy someone trimmed to one row.
- There is a 1,000-row limit, twice over: no single table may print more than 1,000 rows, and no document more than 1,000 rows across all its tables added together. Going over either stops the print with a message naming the table and the row count - you get no document at all. On large groups the document-wide cap can bite even when no single table is near it; print fewer quotes, or split the template.
- "Billable Lines Only" filters lines, not totals. It controls which task and product lines are listed and nothing else: group totals, each quote's own total, cost and margin, and phase values all still reflect every line on the quote. So with it on, the lines shown will not add up to the total shown - expected, but worth a note on the template if customers see it. Surcharge and discount lines have no billable flag and always print.
3. Fields you will only find on a Project Group print
Whole-group figures, so they exist nowhere else. All work at document level, in all three layouts, anywhere in the body, header or footer.
Group roll-up figures - across every project in the group
Field | What it prints |
[ProjectGroupStartDate] [ProjectGroupDueDate] | Earliest start date and latest due date across the group's projects. |
[ProjectGroupTaskForecastCost] [ProjectGroupTaskActualCost] [ProjectGroupTaskForecastRevenue] [ProjectGroupTaskRevenue] | Cost and revenue of task (labour) lines across the group - forecast, and actual to date. |
[ProjectGroupProductForecastCost] [ProjectGroupProductActualCost] [ProjectGroupProductForecastRevenue] [ProjectGroupProductRevenue] | The same four figures for product lines. |
[ProjectGroupDisbursementCost] [ProjectGroupPurchaseRevenue] | Disbursement cost, and revenue attributed to purchases. |
[ProjectGroupTotalInvoiced] [ProjectGroupTotalCredits] [ProjectGroupNetRevenue] | Total invoiced, client credits raised against the group, and net revenue (invoiced less credits). |
[ProjectGroupTotalCost] [ProjectGroupForecastCost] [ProjectGroupForecastRevenue] | Total actual cost, total forecast cost, total forecast revenue. |
[ProjectGroupSupplierCredits] [ProjectGroupNetCost] | Supplier credits, and net cost (cost less supplier credits). |
[ProjectGroupForecastProfit] [ProjectGroupForecastProfit%] [ProjectGroupActualProfit] [ProjectGroupActualProfit%] | Forecast and actual profit, each as an amount and as a percentage. The percentage tokens really do contain a % sign - type them exactly as shown. |
Most of these expose internal cost, margin and profit. Keep them off anything a client sees.
Group quote totals - across every quote in the group
Field | What it prints |
[Total] [TaxTotal] [TotalIncTax] | Every quote's total added together EXCLUDING tax (rounding, surcharges and discounts included), the tax across every quote, and the two added together. |
[TaskOptionsSubTotal] [TaskOptionsTaxTotal] [TaskOptionsTotal] | Optional task lines across every quote: excluding tax, the tax on them, and including tax. |
[ProductsOptionsSubTotal] [ProductsOptionsTaxTotal] [ProductsOptionsTotal] | The same three figures for optional product lines. |
[OptionsTotal] [OptionsTaxTotal] [OptionsTotalIncTax] | All optional lines, tasks and products together: excluding tax, the tax, and including tax. |
- Watch the suffixes. [Total] is tax-EXCLUSIVE and [TotalIncTax] is the inclusive one - but in the options rows, ...SubTotal is exclusive and ...Total is INCLUSIVE.
- "Optional" changes meaning once a quote is Accepted: until then every line flagged optional counts towards these figures; after, only the options the customer actually accepted.
- They stay whole-group figures wherever you put them. Inside a QuoteSummaries block, every copy shows the same group figure, not that block's quote - use the [Quote...] fields for a per-quote subtotal. Mixing the two up is the most common cause of "the totals are wrong".
- Also usable, but documented in the field library because they exist on other document types too: [TaskSubTotal], [TaskTaxTotal], [TaskTotal], [ProductsSubTotal], [ProductsTaxTotal] and [ProductsTotal] (non-optional lines across every quote); [ProjectGroupName] and [ProjectGroupDescription]; and [ProjectTotalActualTime] / [ProjectTotalForecastTime], which here total hours across the whole group.
- The QuoteSummaries table itself is unique to Project Group printing - no other document type has it. The fields inside it are the ordinary [Quote...] fields; look those up in the field library or the shared tables document.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article