Skip to content

Report Designer ​

Turn your takeoff into count sheets, material lists, estimates, proposals, schedules and labor reports, on a spreadsheet-style grid you drag sections onto, which stays up to date in the background and exports to PDF and CSV.

Overview ​

Reports is the only place anything is exported. CSV,, PDF and Export Profiles all leave from here and nowhere else — not the Estimating tab, not the tree, not the File menu. See Coming

the key requirements ​

RequirementWhat it means in DimSum
Fully customizableCombine by anything, sort by anything, filter by anything, number however you like (item #, section #, custom). Endless options.
Spreadsheet-style gridThe page is a grid of cells you can merge and size, exactly like a spreadsheet.
Drag-and-drop bandsYou drag bands (report header, page header, group header, detail table, totals, footer) onto the grid and size them there; what's in them snaps to grid cells. Nothing is pre-arranged in a place you can't move.
Headers repeat on every pageA header placed in the page-header section prints at the top of every page of a multi-page report. Every band has Repeat — on every page or once:, "There should also be page sections, like the top header might repeat on every page of the report, but the middle section might not."
Repeating column labelsA table's column-label row repeats per section, but only when that section has rows. Empty sections print nothing at all.
Dynamic footersFooters carry live components: Page X of Y, date, project/customer properties, totals, signature block.
Always up to dateReports recalculate in the background as you work. Switching to the Reports tab is instant; there's no "generating…" wait.
Everyone's own count sheetsEach user and company builds its own report templates. Nothing is locked to the layouts.
Superseded: report layouts live in their own folder, Documents\DimSum Reports, one .rsum file each — see The Reports folder.
Proposals are report templatesA proposal is just a template with, for example, a global "Terms of Service" property on the page. No separate proposal module.
ExportsPDF, CSV, print, plus saved Export Profiles for POS/ERP CSV uploads.
Marked-up plansPrinting color-coded plan pages with legends is its own report type: see Marked-Up Plan printing.

— one designer ​

Quick Report is dropped.

ModeUse it forFeels like
— dropped; the default reports in DimSum Defaults do this
Report Designer (bands on a grid)Everything: quick lists and finished, branded documents — count sheets, material lists, proposals, schedules, with cover info, logo, grouped sections, subtotals, plan snapshots, sign-offA page of bands you drag onto a snap grid and resize

Start from a report in DimSum Defaults instead: New or Duplicate on the Reports tab.

Reports are built for any trade: a framer's cut list, a concrete yardage summary and a low-voltage parts list all come from the same tool. Reports never change project data: they are read-only views of the project.

The Reports tab ​

). The Report Designer's layout, is The Report Designer — layout; its data, is The Report Designer — data. The rest of this page is the plan's wider design.

Click Reports on the top bar (Takeoff | Estimating | Tools | Reports | 3D). Like Tools, it opens with no job open — your reports are listed either way. The tab is in two halves:

LeftRight
Your report layouts, as foldersThe selected report, previewed on the open job's live data, page by page

The list on the left works like the Tools tree:

  • DimSum Defaults — with a lock: read-only. It holds three reports: the Test Report, and the Material List and the Takeoff Summary (below). Rename and Delete are greyed on it, with the reason: "DimSum Defaults is read-only — Duplicate it to make one of your own."
  • Custom — every .rsum file at the top of your Reports folder, one report each, A to Z. With none yet it says "No reports of your own yet. New starts one here — from a blank page, or from one of DimSum Defaults."

The buttons under the list are New, Rename, Duplicate, Delete and Open folder. The same commands are on each report's right-click menu (New report…, Design…, Duplicate, Rename…, Open folder, Delete…). Design, on the bar above the preview, opens a report of your own in the Report Designer. On the keyboard, ↑ ↓ Home End move through the list, F2 renames and Delete deletes.

  • New asks for a name and what to start from — Start from: Test Report, Material List, Takeoff Summary or Blank, a plain portrait page with a title, a small table and the date — and, no lines. Blank is picked to begin with, and the name starts as New report. Picking another start changes the name to match — Material List copy — while you haven't typed your own. It makes the report under that name in the Reports folder, picked and previewed; it doesn't open the designer — click Design for that. A name Windows won't take, or one already used, is refused in the box in plain words — an empty one gets "Give it a name — Material List, Bid Sheet, whatever you call it." A plain New makes a portrait report with no lines — New starts from Blank.
  • Rename renames a report of your own, and its file with it.
  • Duplicate of a report in DimSum Defaults works like New: it asks for a name (Material List copy). Duplicate one of yours and the copy lands beside it as Bid Sheet copy, then Bid Sheet copy 2.
  • Delete asks first, in DimSum's own box, and says where the file goes: the Windows Recycle Bin. Undo can't bring it back; the Recycle Bin can.
  • Open folder opens the Reports folder in Explorer.

A report file you add, change or remove in Explorer shows up in the list by itself.

A line over the preview says how the report is made: what it lists, its filter, its groups, its sort and its Combine rule — the Material List's reads Parts · grouped by Division · sorted by Item # · combined when Item # matches, adding up Qty. On a DimSum Defaults report, which can't be designed, that's where its rule shows.

The preview on the right is the report as it will print — the same pages Print and Export PDF send — built from the job as it is right now. Draw on the Takeoff tab, come back, and it's in the report. The first page shows at once and the rest follow; scroll down through them. Fit width sizes the page to the pane, and 100% shows it at its printed size. The page count is on the bar beside the report's name.

Print, Export PDF and Export CSV sit above the preview. They are the only export buttons in DimSum: nothing else in the app exports.

  • Print opens Windows' print dialog.
  • Export PDF saves the same pages as the preview. The save box starts in the job's Exports\ folder, with the file named ‹job› - ‹report›.
  • Export CSV saves the rows for a spreadsheet: a title row, then one line per row of the report — one per part on the Test Report; a combined row once — with no total lines (the Division column is there to group on). Numbers are plain — 37.5, not $37.50 — and ERROR stays ERROR. The file is UTF-8 with a byte-order mark, so Excel reads every character right. The save box starts in the job's Exports\ folder.
  • was dropped (CSV only), and XML export is not planned.

No job open? The preview says No job is open, and Print and the two Exports are greyed: "Open a job first — a report runs on the open job."

A report with ERROR in it still runs. The value prints ERROR, in red. The totals leave it out and say how many (1 ERROR), and a note above the preview counts them — "1 value prints ERROR, in red. The totals leave them out and say how many. Needs attention on the Estimating tab lists them."

A report file DimSum can't use says why, in words, where the page would be — never a blank page. See the Reports folder and .rsum files.

Nothing on this tab changes the job.

The Test Report ​

The one report in DimSum Defaults.

  • Paper: Letter, landscape.
  • Header, on every page: the job name and the report's name; Job #, Date (the day you run it), Prepared by and Page X of Y.
  • Body: every part placed in the job, one row per part per item, grouped by Division. The groups print in the Division list's order; a part with no Division lands in (No division), last. Each group's heading says how many parts it holds. A division that runs onto the next page starts that page with its heading again, marked (continued), and the column titles.
  • Turned-off parts are left out — a part that is turned off, and every part under one — from the rows and from every total and count, as on the Estimating tab.
  • Division footer: Total ‹division›, with Qty added up per unit — 142.50 LF and 12 EA, one under the other, never different units added together — and the Extended total.
  • Report footer: Grand total, worked out the same way, and N parts from M items.
  • Page footer: the job and report name, and the day it was printed.
  • Its lines — under the header, over the page footer, under the column titles, over each Division's total, and a double one over the grand total — were drawn by DimSum itself they are Line elements of the report: it looks the same, and a copy's lines are yours to move or delete — Lines only where you put them.

The 13 columns, left to right:

ColumnWhat it shows
QtyThe part's quantity
UnitThe part's unit
Item #The part's Item #
DescriptionThe part's Description — or, when that is blank, the part's name
Call SizeThe part's Call Size
Made OfThe part's Made Of
DivisionThe part's Division (also the group it's in)
TradeThe part's Trade
Cost EachThe part's Cost Each
ExtendedQty × Cost Each
SupplierThe part's Supplier
Item it came fromThe item on the plan the part belongs to
SheetThe sheet that item is on

A property a part doesn't have prints blank. The Test Report is read-only: to start a report of your own, click New, which copies it under the name you give.

The Reports folder and .rsum files ​

  • DimSum makes the folder the first time it needs it.
  • An .rsum is a small text file — JSON, marked "format": "dimsum-report" and "version": 1. It holds the layout, never the job's data: a report is always run against the job that's open.
  • Share a report by sending its file. Your coworker puts it in their Reports folder and it is listed under Custom.
  • DimSum writes the file safely: to a temporary file first, then swapped in, so a crash never leaves half a report.
  • A file DimSum can't use says why, where the page would be. That covers a file that isn't a DimSum report, one that can't be read, one with a mistake in it (named), and one made by a newer version of DimSum — "This report was made by a newer version of DimSum (layout version 2). Update DimSum to open it."
  • A part this version doesn't know — a kind of band or element from a later build — is left out with a warning above the preview, and the rest of the report still shows.
  • This supersedes the plan: report templates do not live inside the .dsum, and are not authored in .tsum libraries. A job holds no report layout. See File types.

What is in an .rsum (version 1). This is for anyone reading one by hand; the Report Designer writes them for you.

PartWhat it holds
pagesize (Letter, Legal, Tabloid, A4, A3), orientation, margins in points, and grid.cell — one grid cell, in points (6, a twelfth of an inch, by default). Everything inside the margins is measured in grid cells, so the designer can snap to them
datasource; groupBy, a list of fields such as "Part > Division", in the list's order; sort; filter (a report expression; ignore one with a warning and show every part); combine; includeUncounted (false: turned-off parts are left out)
bandsReport Header, Page Header, Group Header, Detail, Group Footer, Report Footer, Page Footer. Each has a height in grid cells and its elements — text with {Job > Name}-style fields, a page number, a date — placed by x, y, w and h in grid cells. The Detail band holds the columns: each takes a field (Part > Item #) or an expression ({Part > Qty} * {Part > Cost Each}), a width in grid cells, and can be added up in the totals
repeatOn each band: everyPage or once (below)

A picture is kept inside the file, written into it as text (a data: URL), so a report still travels as one file.

Repeat, band by band:

BandStarts asOn every pageOnce
Page Headerevery pagetop of every pagefirst page only
Page Footerevery pagefoot of every pagelast page only
Report Headeronceunder the page header on every pageat the start of the report
Report Footeroncefoot of every page, above the page footerafter the last row
Group Headerevery pageagain, (continued), at the top of each page its group runs ontowhere the group starts only
Group Footeronce, always— (refused with a warning: a group's totals print once)where the group ends

Known gaps ​

  • Ctrl+P still prints the plan page, even on the Reports tab. To print the report, use the tab's Print button.
  • Division order: when My Tools has its own Division and Trade lists, those win over a job's own list — the groups follow My Tools' order.
  • Browse… for the Reports folder in System Settings uses the same folder picker as the Jobs folder, so its title may talk about jobs.

The Report Designer — layout ​

).

And on the layout: "I like bands, but lets put them on a grid, so its easier to drag and drop and resize."

Open the designer ​

  • On the Reports tab, pick a report of your own under Custom and click Design on the bar above the preview — or double-click the report, in the list or on its pages. Design… is on the report's right-click menu too.
  • Design is greyed on DimSum Defaults, with the reason: "DimSum Defaults is read-only — Duplicate it to design your own." The Test Report itself never changes.
  • New asks for a name and what to start from — Start from: Test Report, Material List, Takeoff Summary or Blank, with Blank picked to begin with. Blank is a plain page to build on: portrait Letter, a Page Header with the report's name and Page X of Y, a small table (Qty · Unit · Name · Item) with a Total row, and the date in the Page Footer — and, no lines. New doesn't open the designer by itself: the new report is listed under Custom, picked, and you click Design to lay it out.
  • The bar along the top reads Designing ‹name›, with Undo and Redo, whether it's saved, the zoom — −, the zoom %, +, and Fit, 100% or 150% (Zoom and pan, ) — the Preview button and Close. Fit makes the page as wide as its pane and follows the divider; it goes down to 30% (50% before), so a narrow pane still shows the whole page across.
  • Close takes you back to the Reports tab, previewing the report you just changed.

Three panes, and the preview ​

LeftMiddleRight
Fields — the field list — and under it Add and BandsThe page, its bands stacked on a visible grid, and beside it on the right the live preview, a divider between themThe properties of what you've picked — or Page setup when nothing is picked — and, beside them, the Data tab; a strip of the designer's keys at the bottom

The live preview sits beside the page, on the right: the report as it will print, on the open job, catching up a moment after each change, with its page count. They start half and half; drag the divider between them to give one more room — DimSum remembers where you left it — and see The preview beside the layout. Preview on the bar hides it, and the page takes the whole middle; click it again to show it. With no job open, it shows a few invented sample rows, labelled "Sample data — open a job to see yours."

Fields — every value a report can print, grouped, with a search box at the top (Find a field). With no job open it lists the built-in fields and the Test Report's properties, and says so: open a job to see its own properties too.

GroupFields
JobName, Job #, Date, Prepared by, and the job's own properties
ReportName, Page, Pages, Page X of Y, Printed (the day it's printed), Time, Parts, Items, Rows, and Total ‹column› for each column the report adds up
GroupValue (the group's name — a Division, say), Count, and Total ‹column› — the group's subtotals. for each group level too: Division (level 1), its count and its totals — {Group 1 > Value}, {Group 1 > Count}, {Group 1 > Total ‹column›} — usable from any band inside that level
ItemName, Sheet; Qty and Unit (the item's own quantity — LF, SF or EA) and the item's own properties
PartName, Qty, Unit; the Test Report's properties — Item #, Description, Call Size, Made Of, Division, Trade, Cost Each, Supplier — always; then every other property on the job's parts, your custom ones and table columns too, A to Z

Add — what you can put on a page: Text, Field, Page X of Y, Date, Image, Line, Box, and Table — a totals table. Drag one into a band. A Line drops full width, right across the band, and it can go in the Detail band too, where it prints on every row — Lines only where you put them. Or double-click it — or press Enter on it — to add it to the band you last clicked; a field from the list works the same way.

Bands — Report Header, Page Header, Page Footer, Report Footer, Group Header, Group Footer. Drag one onto the page: a line shows where it prints, and it goes there. A report has one of each, so a band it already has is greyed, with the reason ("The report already has a Page Header — there is one of each."). Group Header and Group Footer come one of each per group level; on a report that isn't grouped yet, dropping one asks which field to group by — Group bands. A copy of the Test Report keeps its Division Group Header and Group Footer, and you can lay those out like any band. The Detail band — one row per part — is always there.

The page — the paper at its size, inside its margins, its bands stacked top to bottom on the grid. Each band is labelled at the left with its name — a group band with its field first, Division · Group Header — and a Repeat switch — Every page or Once — that you click to change. The Detail band's label reads Each row, and a Group Footer's Once. An empty band says Drag a field here.

BandRepeat starts as
Page HeaderEvery page
Page FooterEvery page
Report HeaderOnce
Report FooterOnce
Group HeaderEvery page: it prints again, marked (continued), at the top of each page its group runs onto. Once prints it only where the group starts
Group FooterOnce, always — a group's totals print once

What each setting does on the paper: Repeat, band by band.

Properties — what you can set depends on what you picked:

You pickedYou can set
TextIts words, with {placeholders} from the field list — Job: {Job > Name}; Insert puts a field at the end. Enter applies the words, Shift+Enter starts a new line. And its font: Font ( — Fonts), Size (pt), Bold, Italic, Align (Left, Centre, Right) and Text colour
FieldWhich Field; a Label printed before the value (Job # prints Job # 2026-041); its Format — As set, Number (with Decimals) or Text; and its font
Page X of YShows Page 3 of 12 or just 3, and its font
DateIts font
ImageFit — All of it, Fill or Stretch — and Replace… to pick another picture
LineRuns Across or Down, Weight (pt) and Line colour. Line: Full width (a line across only) — margin to margin, whatever the paper; untick it for a line of its own width — and Double, two thin rules; and, for a line across, Sits — Top, Middle or Bottom of its box, or of its row. A line on a row says so above them: On the column-titles row — it prints wherever the titles do., On the totals row — it prints with each total. or In the Detail band — it prints on every row. Style: Solid, Dashed or Dotted — a Double line is always solid, so ticking Double sets it back to Solid
BoxBorder (pt), Corners (pt), Border colour, and Fill — None or Filled, with its colour
Any element, tooPlace (grid cells) — X, Y, W, H — and Duplicate and Remove
Several elementsDuplicate or Remove them all; drag any one to move them all
A column of the Detail band — click its titleIts Title; what it Shows — A field or A formula — and the Field or Formula; its Total — None, Sum (added up per unit), Count, and Average, Smallest or Largest; its Format; for a formula, Unit like; Align; its Width (cells); and ← Left / Right →. a formula column, such as the Test Report's Extended, showed its formula read-only; it can be edited — Columns
A band — click its nameIts Repeat, its Height (cells), and Remove — the band and everything in it. A Group Footer has no Repeat: it prints once. The Detail band can't be removed, and shows its style instead
A totals tableTitle, Add up by, its own Only rows where…, Columns and Sort lines by — The totals table
Nothing — click an empty spotPage setup: the Report name; Paper — Letter, Legal, Tabloid, A4 or A3; Portrait or Landscape; the Margins, in points (72 to an inch); Grid (pt), the size of one grid cell; and the report's Font

A typed value is applied when you press Enter or leave the box — one Undo for the value, not one per key. Esc puts the box back.

Fields in text and in Field elements:

  • A Part or Item field outside the table — in a header or footer — prints the first row of its group (in a group band), of its page (in the Page Header or Footer), or of the report (in the Report Header or Footer).
  • A Field with a label prints the label, a space, then the value.

Drag and drop ​

  • Placing. Drag a field from the list, or an item from Add, into a band. Its name follows the pointer, a ghost shows where it will land, and it snaps to the grid. Drop a Part or Item field on the Detail band to add a column there — a line shows where. Drop something lower than its band is tall and the band grows to hold it.
  • Moving and sizing. Drag anything to move it — into another band too. Drag one of its handles to resize it; the ghost says the size in cells. Drag a column's right edge to make it wider or narrower, and its title to move it left or right. Drag a band's bottom edge to make the band taller or shorter — the Detail band's sets its text size instead, since a row is as tall as its text.
  • Picking. Click to pick one thing, Shift+click to add another, or drag across an empty part of a band to pick everything inside.
  • A drop that isn't allowed is refused, and says why where you let go — never silently. An element other than a Line dropped on the Detail band: "The Detail band holds the columns and lines — drop this in another band, or drop a field here to add a column, or a Line to rule every row." A Job or Report field dropped on the columns: "‹field› is the same on every row, so it cannot be a column — drop it in a header or footer band instead."
  • A Line on a row. Drag a Line onto the Detail band's column titles or its rows, or onto a Group or Report Footer's totals row, and it goes on that row, along whichever edge — top or bottom — the pointer is nearer. The ghost says where: Detail · every row · bottom edge. In the Detail band it prints on every row, and the second sample row shows it again, faintly. Dragged off the row into the band, it's an ordinary line again.
  • A line along a band's bottom edge stays on it when you drag the band taller or shorter, so a band ruled off at the foot can be resized without moving the rule first.
  • When something had to give, a note says what. Notes and refusals fade on their own; click one to close it.

What the designer keeps true ​

  • Bands stay in the order they print. A band you add goes where it prints.
  • A band can't shrink past what's in it. Dragging its edge stops at the lowest thing in it; typing a smaller height is refused — "Something in the ‹band› reaches down ‹n› cells — move it up or make it shorter first."
  • A band on every page can't leave the rows no room. Too tall a height is refused with the numbers — "That leaves no room on the page for the rows: the page has ‹n› cells inside its margins, and the bands on every page already take ‹n›. The ‹band› can be at most ‹n› cells tall." Switching a tall band to Every page is refused the same way.
  • The table fits the page. A column made wider takes cells from the columns to its right first, then to its left, none narrower than 3 cells, and a note names them — "Call Size and Made Of were narrowed so the table still fits the page." When none has any to give: "The table already fills the page — narrow or remove another column first." A new column is 10 cells wide when there's room. The table keeps at least one column.
  • Elements stay inside the margins. One sized past the right margin stops there: "It reaches the right margin, so it is ‹n› cells wide."
  • Changing the grid size keeps everything at the same cells, so the whole layout grows or shrinks with it.
  • Changing the paper, orientation or margins pulls anything that would fall off the page back inside, and says what moved — "2 elements were moved or narrowed to stay on the page; the table's columns were narrowed to fit." Margins that leave less than an inch are refused: "Those margins leave less than an inch to print on. Make them smaller."

Undo and saving ​

  • Every change is one Undo — Ctrl+Z, and Ctrl+Y to redo, or the arrows on the bar. This Undo is the designer's own: it undoes your changes to the report, never anything in the job.
  • The report saves itself to its .rsum file as you work, a moment after each change. The bar says Saving… or Saved.
  • If a save fails, the bar says Not saved — ‹why›. Your changes are kept., with Try again. Closing then asks first: stay and try again, or Close without saving.
  • Renaming in Page setup renames the report and its file at once. It can't be undone with Ctrl+Z — rename it back instead.

Images ​

  • Drag Image from Add into a band and pick the file in Windows' Pick a picture box: a png, jpg or svg, up to 2 MB. A bigger one is refused, with its size: "… a report picture can be at most 2 MB, because it is kept inside the report file. Make it smaller and pick it again."
  • It is kept inside the .rsum, written into the file as text, so the report still travels as one file: send it, and the logo goes with it.
  • Fit: All of it shows the whole picture, with room around it if the box is a different shape; Fill fills the box, and the edges may be cut off; Stretch fills it exactly, and the picture may be squashed.

Keys in the designer ​

ActionKeys
Open the picked Custom report in the designerDouble-click it (or Design)
Move what's picked one grid cell (a column: one place)Arrow keys
Move it five cellsCtrl + arrow keys
Make it wider, narrower, taller or shorter by one cellShift + arrow keys — with Ctrl, five
Remove itDelete (or Backspace)
Duplicate itCtrl+D
Copy / cut / paste — inside the report only, not the Windows clipboardCtrl+C / Ctrl+X / Ctrl+V
Pick every elementCtrl+A
Pick nothingEsc
Undo / redo — the designer's changes only, never the job'sCtrl+Z / Ctrl+Y (or Ctrl+Shift+Z)
Add a field, or an item from Add, to the band you last clickedDouble-click it, or Enter
Zoom the page about the pointerMouse wheel (or Ctrl + wheel)
Pan the pageRight-drag or middle-drag, or hold Space and left-drag
Fit / 100%Ctrl+0 / Ctrl+1
Zoom to what's picked — Fit, with nothing pickedZ
The designer's right-click menuRight-click without moving

The arrows work as they do on the Tool Designer's Form grid: they move, and with Shift they resize. A paste goes into the band of what's picked, else the band you last clicked, else the one it was copied from; in the same band it lands one cell over and down, so you can see it. Keys you type into a box on the right are the box's own. The strip at the bottom right of the designer lists the main keys.

How to: make your own report ​

  1. On the Reports tab click New and name it Yard Pick List. Under Start from pick Test Report — the box opens on Blank. It's listed under Custom, picked.
  2. Click Design (or double-click it). Fields are on the left, the page in the middle with the live preview beside it on the right, and the properties on the far right.
  3. Trim the columns. Click the Supplier column's title and press Delete. Do the same for any column the yard doesn't need.
  4. Add one of yours. Type length in the Find a field box and drag Stock Length (your own property, under Part) onto the Detail band, between Description and Call Size. A line shows where it will land.
  5. Arrange them. Drag the Item # title to the far left. Drag the right edge of Description to make it wider — if the columns beside it give cells, a note says which. In the properties, give the new column the Title Length and set Align to Centre.
  6. Add a header. Drag Report Header from Bands onto the page. Its Repeat reads Once, so it prints at the start of the report only.
  7. Put your logo in it. Drag Image into the Report Header and pick your logo (png, jpg or svg, up to 2 MB). Drag its handles to size it.
  8. Add a title. Drag Text in beside the logo and type PICK LIST — {Job > Name}, then press Enter. In the properties, turn on Bold and set Size (pt) to 16.
  9. Rule it off. Drag a Line under the title. It drops full width, right across the band; for a shorter one, untick Full width or drag an end.
  10. Number the pages at the foot. Drag Page X of Y into the Page Footer, at the right. Its Repeat reads Every page.
  11. Click Close. You're back on the Reports tab, previewing Yard Pick List. Print, Export PDF or Export CSV as with any report.
  12. Share it by sending Yard Pick List.rsum — Open folder shows it. The logo is inside the file.

Known gaps ​

  • No scrolling while you drag. Dragging near the edge of the page doesn't scroll it. Scroll first, or zoom to Fit.
  • On a short band, its name at the left is cut off. Hover over it to read it.

Not ​

  • choosing the data source — the List;
  • filters, grouping and sorting — and with grouping, adding a Group Header or Group Footer from Bands;
  • combining identical parts;
  • calculated columns beyond the Test Report's (Extended = Qty × Cost Each), and editing a column's formula;
  • totals tables — a table that adds up one part, a division, or any custom filter;
  • repeating sections — group levels, each with its own header, footer and Repeat.

The plan's wider design below — merged cells, conditional formatting, parameters, report sets and more — has no build named.

The Report Designer — data ​

).

The Data tab ​

The right pane of the designer has two tabs. The first is named for what you picked on the page — Column, Detail, Group Header, Text, Totals table, 3 selected — or reads Page setup when nothing is picked. The second is Data: everything about the rows.

  • Click Data to open it.
  • Drag a field from the field list over the Data tab and the tab opens, so you can carry on to Group by, Sort by or the filter. Let go on the tab itself and it says so: "Drop it on Group by, Sort by or the filter, below."
  • Every change is one Undo, like the rest of the designer. Nothing on the tab needs a mouse: each list has a picker under it (Group by…, Sort by…, Add…), and a level's grip moves with ↑ / ↓.

The Data tab, top to bottom:

SectionWhat it doesStarts as
ListWhat one row is: Parts, Items or Items with their partsParts
Only rows where…A filter: only the rows that pass it print, and only they count in the totalsEmpty — every row
Group byThe group levels, outer first — Division, then TradeNone (the Test Report and Material List: Division; the Takeoff Summary: Sheet)
Sort byThe order of the rows inside each group, by one field or severalNone — rows print as placed (the Material List: Item #)
CombineThe switch Combine matching rows: one row for rows that match on the fields you pick, their Qty added upOff (the Material List: on Item #)
Turned-off partsThe switch Include turned-off partsOff

List ​

  • Parts — one row per part per item, as on the Test Report. This is where most material lists start.
  • Items — one row per item placed: a wall run, a floor area, a count. The Item fields are Name, Sheet, Qty, Unit and the item's own properties. An item's Qty is the number the Estimating grid shows for it — Linear Total for a linear item, Area for an area, Count for a count — and its Unit is LF, SF or EA to match. Items can't be turned off, so every one is listed. A table with Part columns gets a note when you switch: "Each row is an item now, so the Part columns (‹their titles›) print blank — use the Item fields, like Item > Qty."
  • Items with their parts — each item's row, then its parts' rows under it: "Each item prints on its own row, with its parts under it." Group by and Sort by read the item, and its parts move with it. On a part's row the Item fields print blank — the item's row above says them. An item prints when it passes the filter, or when any of its parts does. Combine merges parts inside their own item.

Only rows where… ​

Two ways to write it, picked at the top: Conditions and Advanced.

Conditions. Each condition is a field, a test and a value. Click + Condition, or drag a field from the field list onto the box — it then asks "Now give ‹field› a value to test against." The tests are is, is not, more than, at least, less than, at most, is blank and is not blank. The value box suggests the values the open job has. With two or more conditions, Match picks All of these (every condition must be true) or Any of these (one will do). × takes a condition out. With none, every row prints: "Every row prints. Drag a field here to print only some."

Advanced. Type the filter as an expression — the conditions above are written this way for you:

{Part > Division} = "06 Wood, Plastics, and Composites" AND {Part > Qty} > 0
  • Mistakes show as you type, in plain words under the box, with the spot marked. When it's right the line says Works — Enter to apply. Enter applies it (Shift+Enter starts a new line) and Esc puts back the one in use. A filter with a mistake is never applied: press Enter and it says "Filter isn’t applied yet: ‹what's wrong›"; click away and it stays as you typed it, error showing, until you fix it.
  • Conditions can't show every filter. One with brackets, or with AND and OR mixed, stays in Advanced. Clicking Conditions then says "This filter is more than conditions can show (brackets, or AND mixed with OR) — keep editing it in Advanced."
  • A Job or Report field can't pick rows: "‹field› is the same on every row, so it can’t pick rows out."
  • Blanks follow Excel's rules here: a blank number counts as 0 and blank text as "", so {Part > Qty} > 0 leaves out a part with no Qty. What you can write: Report expressions.

Group by ​

  • Drag a field from the field list onto Group by to add a level — onto a level to go before it, below them to go last — or pick one from Group by… under the list. The first level is the outer group. A report can group 10 levels deep: "A report can be grouped 10 levels deep at most."
  • Each level brings its own Group Header and Group Footer onto the page, where they print, and a note says so: "Grouped by Trade, with a Group Header and a Group Footer." On the page they're named with the field first — Trade · Group Header, Trade · Group Footer. The new Group Header holds the group's name; the Group Footer prints its totals.
  • Reorder by dragging a level's grip, or ↑ / ↓ on it; its bands go with it. × takes a level out, with its bands and everything in them, and says so — "No longer grouped by Trade. Its Group Header and Group Footer went too, with the 1 element in them."
  • Refused, with the reason: a field already in the list ("The report is already grouped by Division."), or a Job or Report field ("‹field› is the same on every row, so grouping by it would make one group. Pick a part or item field.").
  • (continued) repeats at every level. When a group runs onto the next page, the header of every group it's inside prints again at the top, outer first, marked (continued) — unless that level's Group Header is set to Once.
  • Groups with nothing in them print nothing — no header, no column titles, no footer. A filter that empties a Division takes its heading with it.
  • A blank value lands last, in a group of its own named for the field: (No division), (No trade).

Sort by ​

Drag fields onto Sort by, or pick them from Sort by…, each A→Z or Z→A — smallest first or largest first, for numbers. Rows are sorted inside their group: by the first field, then the next where the first is the same. Blanks go last, whichever way. With no field, rows print in the order they were placed. A field already there is refused: "The rows are already sorted by Item #."

Combine ​

You say what "the same" means.

Turn on Combine matching rows and it asks for the rule:

  • Combine rows when these all match: the fields that must match. Drag any field in, or pick one from Add… — Item #, Description, Name, Cost Each, a property of your own. Nothing is picked to begin with ("Pick the fields that must match — drag them here."), and with nothing picked, nothing combines.
  • Add up: the fields added together on a combined row — Qty to begin with. Only numbers: "‹field› isn’t a number, so it can’t be added up." A field the rows match on can't be added up too: "Item # is what the rows match on, so it can’t also be added up."
  • The line under them reads: "Rows combine only when every field above is the same. A row with any of them blank stays on its own line."

How it decides:

  • Numbers match in their unit (10' and 120 in are the same); text matches ignoring capitals and spaces at the ends (2x6 SPF and 2X6 spf are the same).
  • A row blank in any picked field stays on its own line — it is never merged.
  • Rows are never added across different units. Two rows that match but whose Qty is in different units — LF and EA — stay two rows.
  • Rows combine inside their group, never across two groups.
  • On a combined row, the Add up fields are summed. Any other field shows its value when every merged row has the same one, and (varies) when they differ.
  • A formula column on a combined row is the formula worked out on each merged row, then added up — so Extended stays right when Cost Each varies. Combined on Item #, two lines of 10 × 4.00 and 5 × 4.50 make one row: Qty 15, Cost Each (varies), Extended 62.50. Add Cost Each to the rule and they stay two rows, one per price. If any merged row works its formula out blank — a part with no Cost Each — the combined row prints blank there too, so the missing price still shows.
  • With the switch on and no field picked, the switch shows on but nothing combines, and the on isn't saved to the report until you add a field: close the designer like that and Combine reopens off.
  • Turn Combine off to see every line again. Combining only changes the report, never the job.
  • The counts: {Report > Parts} counts every part, merged or not; {Report > Rows} and {Group > Count} count the lines that print.
  • The Material List in DimSum Defaults combines on Item #. Its rule shows on the line over its preview on the Reports tab; Duplicate it, then Design, to change it.

Turned-off parts ​

Include turned-off parts is off to begin with: a part switched off on the Estimating tab, and every part under one, is left out of the rows and of every total and count, as on the Estimating tab. Turn it on to print and count them too. Items can't be turned off, so it changes nothing on an Items list.

Columns: formulas, totals and formats ​

Click a column's title, as The panel reads Column ‹n›, top to bottom:

  • Title — the words at the top of the column.
  • Shows — A field or A formula. Switching to A formula starts the box with the field in braces; switching back takes the first field the formula names.
  • Field, or Formula — a report expression such as {Part > Qty} * {Part > Cost Each}. It's checked as you type, like the filter's Advanced box: Works — Enter to apply, or what's wrong with the spot marked, and a field dragged in lands at the cursor. A formula can't be empty: "Formula can’t be empty — type a formula, or drag a field in."
  • Total — None, Sum, Count, Average, Smallest or Largest. It prints on the totals rows — in every Group Footer and in the Report Footer — and is the column's {Group > Total ‹column›} and {Report > Total ‹column›}. Sum, Average, Smallest and Largest split per unit, as Sum has: 142.50 LF and 12 EA, one under the other, never two units added together. A money column, or one with no unit, gives one figure. Count is how many rows have a value.
  • Format — As set, Number (with its Decimals) or Text, as on a Field.
  • Unit like (a formula only) — the field whose unit the answer carries: the Test Report's Extended takes Cost Each's. Then Unit: Totals only or In every cell.
  • Align, Width (cells) and ← Left / Right →, as

Blanks in a formula. Arithmetic with a blank is blank: + − × ÷, a leading minus, and ROUND, ROUNDUP, ROUNDDOWN, ABS, MIN and MAX given a blank. So a part with no Cost Each prints no Extended — a gap that flags the missing price, never 0.00. ISBLANK, IF, AND, OR, NOT, comparisons and & work as usual, so IF(ISBLANK({Part > Cost Each}), "no price", {Part > Qty} * {Part > Cost Each}) prints no price. A yes-or-no answer prints Yes or No. A blank cell counts as 0 in the column's sums. An ERROR prints red, and the totals leave it out and say how many.

The Test Report's Extended column, read-only can now be edited like any other — on a copy.

The Detail band's style ​

Click the Detail band's name. Its panel, Detail, has no Repeat or Height; it has the rows' style:

  • Text (pt) — the size the rows print at, 4 to 36 points. This is how the Detail band gets taller or shorter: a row is as tall as its text. The line under it says how tall — A row is ‹n› cells tall at ‹size› pt. — and a change says "A one-line row is ‹n› pt tall now."
  • Drag the Detail band's bottom edge and it sets the text size: the biggest that fits the height you let go at. While you drag it reads Rows ‹n› cells tall — ‹size› pt text.
  • Shift+↑ / Shift+↓, with the Detail band picked, make the rows one cell shorter or taller the same way. At the end of the range it says "The rows are as short as they go — ‹size› pt text." (or as tall as they go).
  • Font — the rows', the column titles' and the totals rows' font; Report font (Page setup's) until you pick one.
  • Rows: Stripes — light shading on every other row. Titles — the column titles, printed at the top of each page and under each group header.
  • Totals label — the words each Group Footer's totals row starts with: Total {Group > Value} prints Total 06 Wood, Plastics, and Composites. It can hold placeholders, and setting it sets every Group Footer's.
  • Anything that asks the Detail band for a height is turned down and pointed at its text size: "The Detail band is as tall as its rows, and a row is as tall as its text — change Text (pt) in the Detail band's settings (‹size› pt now) to make the rows taller or shorter."

The totals table ​

Add → Table — drag it into any band but the Detail; the Report Footer is the usual place. It starts as Totals by Item #: one line per Item #, with the columns Item # and Qty (Sum), and a Total line at the foot. Click it to set it up — its panel is Totals table:

  • Title — the heading over it; leave it empty for none.
  • The line under it says which rows it reads: "It adds up the report’s own rows — after the report’s filter — then its own filter. In a Group Header or Footer, only that group’s rows."
  • Add up by — a field: one line per value of it. Item # adds up all of each single part; Division all the parts in each division. Pick it, or drag a field onto it. The column that showed the old field, and a Totals by… title, follow the new one. A blank value gets a line of its own, last: (No ‹field›).
  • Only rows where… — a filter of its own, with Conditions and Advanced as on the Data tab, for "another custom filter".
  • Columns — each with a Title, Shows (a field or a formula), Total and Format, as on the Detail band. Drag a field onto Columns to add one: a number is added up (Sum); anything else shows the line's value, or (varies). Move a column with its ↑ / ↓ buttons, or take it out with the bin.
  • With none, the lines follow the Add up by field's list order (Division, Trade, the sheets' page order), else A to Z.
  • Lines — None, Under titles, or Titles + total (a line under the column titles, and one above the total line). A new table starts at None; a table in a report is set to Titles + total, the lines it printed — Lines only where you put them.
  • On an Items with their parts list, a table reads the rows its Add up by field belongs to: an Item field adds up the items, anything else the parts.

For example, in the Report Footer: Add up by Division, columns Division, Qty (Sum) and Extended (Sum) — a one-glance summary of the job by division, after the full list.

Group bands ​

  • Each group level has a Group Header and a Group Footer. They come with the level when you add it to Group by, and go with it when you take it out.
  • From Bands, drag a Group Header or Group Footer onto the page to give one back to the first level without one. Once every level has its band, the palette greys it, with the reason: "Every grouping level already has its Group Header. To group by one more field, drag it onto Group by on the Data tab — its bands come with it."
  • On a report that isn't grouped yet, dropping one asks Group by which field? — "A Group Header and Footer print for each value of the field you pick — each Division, say." Pick a field and click Group: the report is grouped by it, and both bands are on the page.
  • On the page a group band is named with its field first — Division · Group Header. In it, {Group > Value}, {Group > Count} and {Group > Total ‹column›} are its own level's; {Group 2 > Value} reads level 2 from any band inside it.
  • A Group Header can repeat (Every page, with (continued)) or not (Once). A Group Footer prints once, where its group ends: "A group’s totals print once, where the group ends."

Three reports in DimSum Defaults ​

DimSum Defaults holds three read-only reports. The two new ones stand in for the dropped Quick Report — Duplicate one, or pick it in New's Start from, to make it your own.

ReportWhat it shows
Material ListPortrait Letter. Parts combined by Item #, adding up Qty, grouped by Division in the Division list's order and sorted by Item #. Columns Qty · Unit · Item # · Description · Cost Each · Extended. Each Division's heading says how many lines it holds; Division totals under each, and a grand total at the end with ‹n› lines from ‹n› parts in ‹n› items. A part with no Item # stays on a line of its own
Takeoff SummaryPortrait Letter. Items, one per row, with Item · Qty · Unit, grouped by Sheet in the Project Tree's page order. Each sheet's heading (Sheet ‹name›) says how many items it holds; each sheet's totals, per unit, and a grand total with ‹n› items

all three carry their lines as real Line elements: they look as they did, and in a copy every line can be picked, moved or deleted — Lines only where you put them. Their counts read in the singular when there's one — 1 line, 1 part, 1 item.

On the Reports tab, the line over each report's preview says how it's made — the Material List's reads Parts · grouped by Division · sorted by Item # · combined when Item # matches, adding up Qty.

What the .rsum gains ​

The additions are the List, the filter, the group levels with their order, the sort, Combine, turned-off parts, a column's total, the Detail band's style — style { fontSizePt, stripes, headerRow, totalsLabel }, with the fontSize, stripe and columnHeader kept in step beside it — and the totals table. See File types and, for the keys, .dsum file format.

It ignores a filter, with a warning, and prints every row; and it leaves a totals table out, with a warning.

Known gaps ​

  • A totals table doesn't split across pages. Keep it short enough to fit where it's placed.
  • Conditions can't show brackets, or AND and OR mixed. Those filters stay in Advanced.
  • A totals table's columns move with ↑ / ↓, not by dragging.
  • a Totals label box on the Report Footer band. Totals label on the Detail band still sets the Group Footers' only.
  • An older DimSum refuses a report that lists items or has an Average, Smallest or Largest total, and ignores a filter with a warning — above.

How to: a material list for one division ​

  1. On the Reports tab, pick Material List under DimSum Defaults and click Duplicate. Name it 06 Wood Order. It's listed under Custom, picked.
  2. Click Design, then the Data tab in the right pane. List reads Parts; Combine matching rows is on, and Combine rows when these all match: holds Item #; Group by holds Division; Sort by holds Item #.
  3. Tighten the rule. The yard wants each length on its own line, so drag Stock Length from the field list into Combine rows when these all match:, beside Item #. Rows now combine only when both match — and a part with no Stock Length stays on a line of its own. Add up: stays on Qty.
  4. Only Division 06. Under Only rows where…, click + Condition: Division · is · 06 Wood, Plastics, and Composites. Add a second: Qty · more than · 0, so nothing on a zero line prints. Match reads All of these. Or click Advanced and type it: {Part > Division} = "06 Wood, Plastics, and Composites" AND {Part > Qty} > 0
  5. Group by trade. Drag Trade from the field list onto Group by, under Division, and set its order to A→Z. Trade · Group Header and Trade · Group Footer appear on the page. Leave the Group Header's Repeat on Every page, so a trade that runs onto page 2 starts it with (continued).
  6. Add a column of your own. Drag Stock Length from Part onto the Detail band, after Description.
  7. Style the rows. The rows get a little taller, and the band with them.
  8. A total by trade at the end. Drag Table from Add into the Report Footer. In its panel, set Add up by to Trade: the first column and the title follow (Totals by Trade), and Qty (Sum) stays. Drag Cost Each onto Columns, switch it to A formula, type {Part > Qty} * {Part > Cost Each}, and title it Extended: its Total reads Sum.
  9. Click Close, then Export PDF or Print.

Report expressions ​

What you type into Only rows where… → Advanced, a column's Formula, or a totals table's filter. It is written like a DimSum formula, with a smaller set of words.

You writeWhat it meansExample
A field, in bracesWritten as the field list names it: {Part > …}, {Item > …}, {Job > …}, {Group 1 > Value}{Part > Cost Each}
Numbers12, 0.5, .5{Part > Qty} > 0
TextIn double quotes; "" for a quote inside"06 Wood, Plastics, and Composites"
TRUE, FALSEYes and no{Part > Taxable} = TRUE
+ - * /Add, subtract, multiply, divide — × and ÷ work too{Part > Qty} * {Part > Cost Each}
( )Brackets: what's inside is worked out first({Part > Qty} + 2) * {Part > Cost Each}
= <> < <= > >=Equals, isn't, less than, at most, more than, at least — !=, ≠, ≤ and ≥ work too. Text compares without regard to capitals or the spaces around it{Part > Trade} <> "Labor"
AND OR NOTBoth, either, the opposite — between conditions, or as functions: AND(a, b){Part > Qty} > 0 AND NOT {Part > Trade} = "Labor"
IF(test, then, else)One value or the other; leave out the else and it's blankIF({Part > Cost Each} = 0, "Call for price")
ISBLANK(field)True when the field has no valueISBLANK({Part > Item #})
ROUND, ROUNDUP, ROUNDDOWN, ABS, MIN, MAXAs in the formula language and ExcelROUNDUP({Part > Qty} * 1.1, 0)
&Join text{Part > Item #} & " — " & {Part > Description}
  • Blanks in a filter follow Excel's rules: a blank number counts as 0 and blank text as "", so {Part > Qty} > 0 leaves out a part with no Qty.
  • Blanks in a column's formula: arithmetic with a blank is blank — + − × ÷, a leading minus, and ROUND, ROUNDUP, ROUNDDOWN, ABS, MIN and MAX given a blank. So a part with no Cost Each prints no Extended — a gap, never 0.00. ISBLANK, IF, AND, OR, NOT, comparisons and & work as usual. A blank cell counts as 0 in the column's sums.
  • Words that are a number ("12", "$3.86", "1,250") count as that number.
  • ERROR carries through. If a field is ERROR, anything worked out from it is ERROR, printed red, and the totals leave it out and say how many. Dividing by zero, or arithmetic on words ("2x6" * 2), is ERROR too, never a silent 0. IF works out only the side it picks, so IF({Part > Qty} = 0, 0, {Part > Cost Each} / {Part > Qty}) never divides by zero.
  • Mistakes show as you type, in plain words, with where — a { that's never closed (The "{" at character 1 is never closed with "}".), a bracket missing, or a field the report doesn't have: There's no field called {Part > Colr} in this report (at character 1).
  • A report expression only reads. It never changes the job. To keep a value on the part itself, give the part's property a formula (fx) in the Properties panel or the Tool Designer.

Zoom and pan on the designer ​

). the note on E.7.

The page side of the designer now zooms and pans the way the plan canvas does.

  • Zoom: roll the wheel over the page, with or without Ctrl, and it zooms about the pointer, by the same steps as the plan canvas.
  • Pan: right-drag, middle-drag, or hold Space and left-drag. Panning always keeps at least 48 px of the page in view.
  • The right-click menu (new in 25.1): a right-click that moves less than 4 px opens it, for what's under the pointer — it's picked first. Duplicate, Copy, Cut, Paste, Delete (Delete column or Delete band when that's what's picked), then Fit, 100%, 150% and Zoom to selection. What can't be done is greyed, with the reason — Click an item on the page first, Copy an item first, Select something first — Fit shows the whole page.
  • Keys: Ctrl+0 is Fit, Ctrl+1 is 100%, and Z zooms to what's picked — or Fits, with nothing picked. The arrows still move what's picked.
  • The bar: − and + step the zoom by √2 (about 1.4×); the % between them is the zoom as it is now, the wheel's too; Fit, 100% and 150% jump there. The zoom runs from 25% to 400%. Hover over them for how the wheel and drags work.
  • Fit is the page as wide as its pane, from its top. It follows the divider until you zoom or pan.
  • Remembered: the zoom — Fit or a number — is kept for the designer on this computer, like the divider. Each report opens at the top of its page.
  • The preview has its own Fit / 100%. The page's zoom and pan never reach it; at 100%, scroll to see the rest.
  • Drops land where you aim, at any zoom. A field dropped, an item resized, a column edge dragged: zoomed in or out, panned anywhere, it lands in the cell under the pointer.
  • During a drag, the wheel and the zoom keys do nothing, so a drop never lands in the wrong band.

Known gaps ​

  • At low zoom, a Line on the titles row has a grab strip that covers half the row, so the row is harder to grab there.
  • A column edge can be grabbed only on its 3 px inside the column.

Fonts, line styles and the print time ​

).

Fonts ​

  • Where: a Font box in three places — Page setup (the report's font: everything prints in it unless something says otherwise), the Detail band (its rows, column titles and totals rows) and each element (a text, field, page number, date or totals table).
  • Inherit: the first line of each list is what it gets if you pick nothing — Report font — ‹name› for an element or the Detail band, Default — Arial in Page setup. Picking it takes the font away.
  • The list is the fonts on this computer, read when the designer first opens, each name shown in its own font. Type to narrow it; arrows move, Enter picks, Esc puts it back. A name that isn't in the list can be used as typed (Use “Courier”); No font by that name when nothing matches. If DimSum can't read the computer's fonts, the list is ten that every Windows computer has: Arial, Calibri, Cambria, Consolas, Courier New, Georgia, Segoe UI, Tahoma, Times New Roman and Verdana.
  • Courier prints as Courier New (on Windows, Courier is an old screen font that can't print). The name you picked is kept in the file, and the note under the box says Courier prints as Courier New here.
  • A font that isn't on this computer gets a ⚠ under the box naming what prints instead — ⚠ Futura isn't installed here — printing with Arial. — or, when DimSum can't tell, DimSum can’t tell whether Futura is on this computer. If it isn’t, the report prints with Arial. A missing font falls back to one of its kind: a fixed-width font to another fixed-width one, a serif to Times New Roman, anything else to Arial.
  • On paper and in the PDF: Print and Export PDF use the font, and the PDF carries the fonts inside it, so it looks the same on a computer without them.

Line styles ​

A Line has a Style: Solid (as before), Dashed or Dotted. A Double line is always solid: ticking Double sets the Style back to Solid, and picking Dashed or Dotted unticks Double.

{Report > Time} ​

The time the report is printed or exported, as this computer writes it — 9:15:14 AM — beside Printed, the date. It's in the field list under Report, and works in a text's placeholders too: Printed {Report > Printed} at {Report > Time}. In the designer's preview it's the time the preview was drawn.

What the .rsum gains ​

Still "version": 1, every addition optional: page.fontFamily (the report's font), the Detail band's style.fontFamily, an element's font.family, and a Line's stroke (dashed or dotted; none is solid). Nothing is written for a font that isn't set, so a file reads and prints exactly as it did. Nothing is refused.

Where to find it ​

PlaceWhat it does
Reports tab (Takeoff | Estimating | Tools | Reports | 3D)Preview, print and export reports for the open job; design them — the layout; the data See The Reports tab
Reports tab → Design (or double-click a report under Custom)The Report Designer: the field list, Add and Bands, the page's bands on a grid with the live preview beside it on the right, properties and page setup. See The Report Designer — layout
Report Designer → Data tabList, Only rows where…, Group by, Sort by, Combine, Turned-off parts. See The Data tab
Menu → ReportsSame commands from the menu bar Coming
System Settings → Tools → Reports folderWhere DimSum looks for your report layouts: Documents\DimSum Reports unless you choose another
Settings → Reportsdefault report, page sizes Coming
Settings → Report BrandingCompany logo, header/footer, default terms (e.g. a global "Terms of Service" property). Workspace admin only.
Tool Designer → Material Library → Lists → Report SectionsThe Report Sections list whose order sets report priority
Superseded: each report is its own .rsum file in the Reports folder
Command palette (Ctrl+K)Run any report command by name

How to use it ​

1. Run a report ​

  1. Open the project and click the Reports tab. It opens instantly: every report is already current, because reports update in the background as you draw.
  2. Pick a report in the list on the left — DimSum Defaults → Test Report, or one of yours under Custom, e.g. your own Count Sheet.
  3. If the template has parameters, answer the prompts (e.g. "Which Level?" → Main Level, "Include labor?" → No). Coming
  4. Check the live preview. Scroll through it page by page — Fit width or 100%.
  5. Click Print, Export PDF or Export CSV. Exports start in the job's Exports\ folder.

2. Build your own count sheet (walkthrough) ​

*The plan's full design: merged cells, Report Sections and Numbering have no build named.

Every company's count sheet is different, and DimSum ships no "correct" one. This walkthrough builds a lumber-yard count sheet in the shape of the Count Sheet starter template (see Example E below).

  1. Reports → New Report Template. Paper: Letter, portrait.
  2. The grid: the page opens as a spreadsheet grid. Set the column widths you want (the starter uses four: Qty · Description · SKU · Item Name) and merge cells wherever a block of text needs to run wide.
  3. Drag in a Report Header section (prints once, at the very start): {Company > Logo}, the title "COUNT SHEET", and a merged info block with {Job > Name}, {Job > Customer}, {Job > Address}, {Job > Job #}, {Job > Bid Date} and {Job > Estimator}.
  4. Data source: Parts. Filter: {Type} = "Material" AND {Qty} > 0.
  5. Group 1: Report Section (already there, ordered by priority). Drag a Group Header section in and put {Report Section} in a merged cell across the full width.
  6. Drag a Detail Table under it and map its four columns to Qty, Description (the yard's item text), SKU and Item Name (your own label). Turn on Repeat column labels: the label row then prints under every section heading — but only when that section has rows, so empty sections print nothing at all.
  7. Combine: On, by Item # + Name, so the same 2x6x16 across all levels prints once.
  8. Numbering: Pos # auto-numbered through the report, or restart per section, or use your own property (e.g. {Report Section Priority} & "." & {Row In Group} → 2.1, 2.2…).
  9. Group Footer: a subtotal (piece count or dollars) — or leave it out, as the starter does.
  10. Drag in a Page Footer section and add the dynamic components date and Page X of Y. Add a Report Summary section at the end for totals, a notes box and a "Received by ______" line.
  11. Preview, then Save. It is saved as its own .rsum file in your Reports folder. Set it as Settings → Reports → Default report so it's selected in every project.

​

Dropped. There is one way to make a report, the designer below. For a fast list, pick a report in DimSum Defaults, click New or Duplicate, and change what you need.

4. Design a report: bands on a grid ​

Page setup is paper (no custom size), orientation, margins and one grid size — no column count, row height, multi-column, watermark or page-numbering setting (Page X of Y is an element). The bands you can add are Report Header, Page Header, Page Footer and Report Footer, with Detail always there, and a Group Header and Group Footer per group level; child / sub-detail rows are the List Items with their parts, each item, then its parts. The elements are Text, Field, Page X of Y, Date, Image, Line and Box, and Table. The preview is live, beside the page on the right — under it (Preview hides it), and the report saves itself — there is no Save step.

  1. Click New on the Reports tab or Duplicate a report you have.
  2. Page setup: paper size (Letter, Legal, Tabloid, A4, A3, custom), portrait or landscape, margins, grid columns and row height, multi-column, watermark, page numbering.
  3. Shape the grid: drag the column borders to size them, and merge cells for titles, info blocks and anything that spans columns — the same moves you'd make in a spreadsheet.
  4. Data source: pick one (Instances, Shapes, Parts, Assembly Layers, Materials, Members, Engineered Layout members, Notes, Pages, Levels, Sides, Dimension Lines, Media, or a custom combined set).
  5. Filter: type an expression, or build it with the Condition Builder. Only matching rows print.
  6. Grouping: add group levels. Report Section is already the first group, ordered by priority. Add more (e.g. Level → Tool → Category), or remove Report Section.
  7. Drag bands onto the grid from the band palette: Report Header, Page Header, Group Header, Detail Table, Child/Sub-detail, Group Footer, Report Summary (Report Footer), Page Footer. Each one occupies a block of grid rows: drag it where you want it, and drag its edge to resize it. Set each band's Repeat — on every page or once (see Bands you drag onto the grid).
  8. Sorting: add one or more sort keys for rows inside each group.
  9. Combining: choose what counts as "the same item" (Item # + Name by default, or any set of properties), or turn combining off.
  10. Numbering: pick a scheme per template (see the Numbering table below).
  11. Place elements into the sections by dragging them from the toolbox: text, data fields, formula fields, aggregates, images, lines/boxes, tables, barcodes/QR, page breaks, sub-reports. They snap to grid cells, can span merged ones, and are resized by dragging an edge across cells.
  12. Format each element: font, color, border, number format, conditional formatting, can-grow/can-shrink.
  13. Click Preview to see it with real project data. Adjust and repeat.
  14. Save. It is saved to its own .rsum file in the Reports folder, which is already yours to reuse and share.

5. Make a proposal (it's just a report template) ​

  1. Duplicate your count sheet or the starter Proposal template.
  2. Add a Report Summary with the grand total (Sell Price) and a text element bound to the global {Settings > Terms of Service} property (set by the Workspace admin in Settings → Report Branding).
  3. Add signature and date lines ("Accepted by ________ Date ______").
  4. Hide pricing detail columns if the customer should see only section totals: group by Report Section and show only Group Footers.
  5. Save as "Proposal – Framing Package". Export to PDF. That's the whole proposal workflow; there's no separate proposal module.

6. Set up Report Sections so every item lands in the right place ​

Changed. Read Report Section in this page as Division (and Sub-Section as SubDivision). Whether the Division list's order is the report priority described here is to confirm; this page will be rewritten when reports are planned.: the Test Report groups by Division in the Division list's order, with (No division) last.

Report Section is a default property on every part and instance. It is the default first grouping in every designed report.

  1. Open Tool Designer → Material Library → Lists → Report Sections. It starts with the CSI MasterFormat divisions (03 Concrete, 05 Metals, 06 Wood/Plastics/Composites, 07 Thermal & Moisture, 08 Openings, 09 Finishes, 26 Electrical, 27 Communications…).
  2. Add your own sections, e.g. "Main Level Floor", "Main Level Walls", "Hardware".
  3. Add sub-sections where useful, e.g. "Hardware → Hangers".
  4. Drag sections into the order you want them to print. Position = priority: the top of the list prints first. The same order sorts the Estimating tab.
  5. In your tools, set each part's Report Section default. It can be a formula, e.g. {Level > Name} & " Walls" gives "Main Level Walls" on the main level and "Second Level Walls" upstairs automatically.
  6. Run any report: every part appears under its section, in priority order.

7. Break out costs (e.g. labor for electrical boxes only) ​

Markup, overhead and tax live inside each part, and each part has a Type (Material, Labor, Equipment, Subcontract, Other), a Category, a Report Section and a Name. Labor only exists if you built it (it's never required). That lets you slice costs any way you need:

  1. Set the data source to Parts.
  2. Filter to what you want, e.g. {Category} = "Electrical Boxes" AND {Labor Hours} > 0.
  3. Choose how rows combine:
  • Labor for electrical boxes only: group by Category, combine identical items, show Labor Hours and Labor Cost.
  • Each box's labor: don't combine; show one row per box type (or per instance).
  • Everything combined: remove the filter and show Material, Labor, Equipment and Sub totals side by side with a grand total.
  1. See worked example C below.

8. Add a plan snapshot, 3D view or screenshot ​

  1. Drag an Image element into a section (often the Report Header or a Group Header).
  2. Choose the source:
  • Company logo {Company > Logo},
  • a marked-up plan page or a zoomed region of one,
  • a saved 3D view (a snapshot created in the 3D viewport),
  • any image from the project's Media library (screenshots of anything in the canvas, site photos, attachments).
  1. Size and position the image on the grid. Plan and 3D snapshots refresh with the project; Media screenshots are fixed pictures.

9. Add a parameter ​

  1. In the template, add a parameter, e.g. "Which Level?" (dropdown of the project's levels) or "Include labor?" (checkbox).
  2. Use it in the filter, e.g. {Level > Name} = {Param > Which Level} or IF({Param > Include labor}, TRUE, {Type} <> "Labor").
  3. When anyone runs the report, DimSum asks the question first.

10. Run a set of reports at once ​

the routine at the end of every takeoff: print the marked-up plan, print the report with project/customer info, export it as PDF, and export the special CSV for the POS.

  1. Choose Run report set and pick (or save) a set, e.g. "End of job".
  2. The set lists: Marked-Up Plan (PDF), Count Sheet (PDF ), POS Upload (Export Profile, CSV).
  3. DimSum runs them all and exports them to the Exports/ folder in one click.

11. Share a report template ​

  1. Every report is already a file: Open folder on the Reports tab shows it in your Reports folder, e.g. Count Sheet.rsum.
  2. Send the .rsum file to a coworker. They put it in their own Reports folder, and it is listed under Custom.
  3. To make it the default for a type of job, add it to a Building Template as a Default Report Template, or set it in Settings → Reports → Default report.

Options & settings ​

​

Dropped with Quick Report — every one of these is a designer setting.

Page setup ​

: paper — Letter, Legal, Tabloid, A4, A3 — portrait or landscape, margins in points, and the grid size (Grid (pt)), with the report's name. Custom paper, multi-column, watermark and a page-numbering setting are not in it; Page X of Y is an element from the palette.

SettingOptions
Paper sizeLetter, Legal, Tabloid, A4, A3, custom (defaults come from Settings → Reports → page sizes)
OrientationPortrait, Landscape
MarginsTop, bottom, left, right
Layout gridNumber of columns, column widths and row height. Cells can be merged and elements can span them. Bands, elements and columns snap to it and are resized in its cells. The grid is one cell size, grid.cell, in points — 6, a twelfth of an inch, by default — set as grid size in Page setup. There are no merged cells: an element or column spans the cells it is sized to.
ColumnsMulti-column layout
WatermarkText or image behind the page (DimSum adds a "DimSum Trial" watermark automatically during the trial)
Page numberinge.g. Page X of Y

Bands you drag onto the grid ​

The sections below are bands. Each one is a block of rows on a snap grid: drag a band on, drag its edge to resize it, and the elements and columns inside it snap to grid cells and are resized across them. Every band has a Repeat setting — on every page or once.

BandPrintsRepeat (default)Typical content
Report HeaderOnce at the startOnceLogo {Company > Logo}, {Job > Name}, {Job > Address}, bid date, estimator
Page HeaderTop of every pageOn every pageJob name, date, column titles
Group Header (n levels)At each group startOn every page — again, (continued), at the top of each page its group runs onto; Once prints it only where the group startsSection name, level name, tool name
Detail TableOne row per data row, with an optional column-label rowPer rowOne part, member or instance per row
Child / Sub-detailNested rowsPer rowParts of parts
Group Footer (n levels)At each group endOnce per group, alwaysGroup subtotals
Report Summary (Report Footer)Once at the endOnceGrand totals, terms, notes, sign-off
Page FooterBottom of every pageOn every pageDynamic components: Page X of Y, date, {User > Name}, project properties, running totals

Section options ​

OptionWhat it doesDefault
Repeat column labelsThe Detail Table's label row reprints under each section heading — only if that section has rows. A section with no rows prints nothing, heading included.On
RepeatEvery band: on every page or once. Page Header and Page Footer default to every page; Report Header and Report Summary (Footer) to oncePer band (see the table above)
Keep togetherDon't split the section (or group) across a page breakOff
Repeat group header on new pageRe-print the group header at the top of each page while its group continuesOn
Can grow / can shrinkFields expand for long text or collapse when emptyOn
Alternating row shadingShade every other Detail rowOff
Skip when emptyA group with no rows prints neither its heading nor its labelsOn

Elements ​

Formula fields and aggregates beyond the Test Report's came (built: a column's Formula and Total, and the Table in Add — a totals table); the rest has no build named.*

ElementNotes
TextStatic, or with {property} expressions: Level: {Level > Name}
Dynamic footer componentPage X of Y, page number, page count, print date/time, project or customer property, running or grand total, signature block
Data fieldOne property of the current row
Formula fieldAny formula (Section 6 language)
AggregateSUM, COUNT, AVG, MIN, MAX over the group, report or page. a column's Total (Sum, Count, Average, Smallest, Largest) on the group and report totals rows; none over a page
ImageLogo, snapshot of a marked-up plan page or zoomed region, saved 3D view, Media screenshot/photo
Line / BoxRules and frames (e.g. info boxes). a Line is the only way a line gets on a report — none are drawn for you — with Full width and Double, in the Detail band too, once per row, or on a totals row (Lines only where you put them)
TableA grid of fields. Add → Table is a totals table — Add up by a field, its own filter, columns with totals
Barcode / QRe.g. the job #
Page breakForce a new page
Sub-reportEmbed another report template
ChartLater

Data binding ​

Numbering and parameters are not in it.*

SettingWhat it does
Data sourceInstances, Shapes, Parts, Assembly Layers, Materials, generated Members (joists, studs, beams, pieces), Engineered Layout members, Notes, Pages, Levels, Sides, Dimension Lines, Media, or custom combined sets
FilterExpression (or Condition Builder), e.g. {Category} = "Lumber" AND {Qty} > 0
GroupingAny property, multi-level. Default first grouping: Report Section, by priority.
SortingAny property, multi-key
CombineMerge identical items across pages/levels (default key: Item # + Name; choose any properties), or show them individually
NumberingSee below
ParametersPrompts when the report runs

Numbering (any scheme you like) ​

SchemeExample
Pos # through the whole report1, 2, 3 … 57
Restart per groupWalls: 1, 2, 3 · Floor: 1, 2
Section number + row2.1, 2.2, 3.1 (from {Report Section Priority})
Section number onlyOnly group headers numbered: "2 – Main Level Walls"
Item # from the listThe matched row's Item #
Custom formulaAny property or formula, e.g. {Level > Label Prefix} & "-" & {Row In Group} → M-1, M-2

Formatting ​

OptionExamples
Fonts, colors, bordersPer element
Number formatsFractions (1/16"), feet-inches (12'-6 1/2"), decimals, currency, percent
Conditional formattingIF {Qty} = 0 → gray, flag ⚠ items and ERROR values in red
Alternating row shadingDetail Table rows

Exports ​

FormatNotes
PDFVector, searchable text
*Dropped —
CSVPlain data
Export ProfileA saved CSV layout for uploading to a POS/ERP (Export Profiles)
PrintDirect to printer
Batch"Run report set"

Examples ​

Prices below are illustrative, to show the math.

Example A: Material List grouped by Report Section ​

Goal: one list of everything to order, in the order the yard or the crew wants it.

Report Sections list (Tool Designer → Material Library → Lists), top = highest priority:

1  Main Level Floor
2  Main Level Walls
3  Hardware
   └ Hangers
4  03 Concrete … (CSI divisions below)

Template setup

SettingValue
Data sourceParts
Filter{Type} = "Material" AND {Qty} > 0
Group 1Report Section (by priority)
Group 2Sub-section (sorts within its parent)
CombineOn (sum by Item # + Name)
Sort in groupItem #
NumberingPos #, auto-numbered through the report

Layout in the designer (8-column grid, sections dragged on in this order)

┌ REPORT HEADER ──────────────────────────────────────────────────────────────┐
│ {Company > Logo}   MATERIAL LIST                                              │
│ {Job > Name} · {Job > Address} · Bid date {Job > Bid Date}            │
├ PAGE HEADER ────────────────────────────────────────────────────────────────┤
│ Pos │ Item #  │ Description          │  Qty │ Unit │ Unit Cost │ Extended   │
├ GROUP HEADER 1: Report Section ─────────────────────────────────────────────┤
│ {Report Section}                                        (keep together)     │
├ DETAIL ─────────────────────────────────────────────────────────────────────┤
│ {Pos #} │ {Item #} │ {Name} │ {Qty} │ unit      │                          │
│                     {Material Unit Cost} │ {Material Extended}              │
├ GROUP FOOTER 1 ─────────────────────────────────────────────────────────────┤
│                         {Report Section} subtotal: SUM({Material Extended}) │
├ REPORT SUMMARY ─────────────────────────────────────────────────────────────┤
│                                 MATERIAL TOTAL: SUM({Material Extended})    │
│ Prepared by {User > Name} · {Company > Name}                                    │
├ PAGE FOOTER ────────────────────────────────────────────────────────────────┤
│ {Job > Name}                     Page X of Y                    TODAY()   │
└─────────────────────────────────────────────────────────────────────────────┘

Output

MAIN LEVEL FLOOR
 1  210-12   2x10x12 #2 SPF (beam)           2  ea     $17.40     $34.80
 2  SF-34    3/4" T&G Subfloor 4x8          43  sht    $38.50  $1,655.50
 3  ADH-01   Subfloor Glue                  11  tube    $6.25     $68.75
 4  NL-8D    Nails 8d                        3  box    $42.00    $126.00
                                        Main Level Floor subtotal:  $1,885.05
MAIN LEVEL WALLS
 5  26-09    Studs 2x6x104 5/8              118  ea      $4.85    $572.30
 6  26-16    Plates 2x6x16'                 27  ea     $19.60    $529.20
                                        Main Level Walls subtotal:  $1,101.50
HARDWARE
  Hangers
 7  HGR-210  Face-mount hanger 2x10          2  ea      $2.15      $4.30
                                                Hardware subtotal:      $4.30
                                                     MATERIAL TOTAL: $2,990.85

Quantities come from the part formulas the user wrote (e.g. subfloor RoundUp({Item > Area} * 1.10 / 32, 0) → 43 sheets; glue RoundUp({Parent > Qty} / 4, 0) → 11 tubes). The report never rounds anything itself. The 2x10x12 row was filled by List Matching — an Advanced Part. Move "Hardware" to the top of the Report Sections list and it prints first next time.

Items with no Report Section print in a "(No Section)" group at the end.

Example B: Beam Schedule ​

Goal: the classic schedule of every beam: mark, size, length and elevations.

Template setup

SettingValue
Data sourceMembers, filtered to Beam-behavior members
Group 1Level (tree order: lowest level first)
SortMark
CombineOff (one row per member)
ColumnsMark, Size, Plies, Material, Beam Type, Member Length, Ordered Length, TOB, BOB, Label

Setup for these rows: Main Level elevation 10', subfloor 3/4", floor joists 2x10 (9 1/4"). Ordered Length uses the "Up to next 2 ft" rounding preset; the label uses the default "Nearest 2 ft".

Output

BEAM SCHEDULE — MAIN LEVEL (Elev 10'-0")
Mark  Size              Plies Material Type     Length  Ordered TOB         BOB         Label
M-B1  1 3/4" x 11 7/8"    2   LVL      Flush    15'-2"  16'     9'-11 1/4"  8'-11 3/8"  (2) 1 3/4" x 11 7/8" LVL – 16'
M-B2  2x10                2   SPF #2   Flush    11'-4"  12'     9'-11 1/4"  9'-2"       (2) 2x10 SPF – 12'
M-B3  1 3/4" x 9 1/4"     2   LVL      Dropped   8'-7"  10'     9'-2 3/4"   8'-5 1/2"   (2) 1 3/4" x 9 1/4" LVL – 8'
                                                  Beams: 3   Ordered LF (per ply): 38'
  • Flush TOB = level elevation − subfloor thickness = 10' − 3/4" = 9'-11 1/4".
  • Dropped TOB = level elevation − floor-joist depth = 10' − 9 1/4" = 9'-2 3/4".
  • BOB = TOB − beam depth.
  • M-B3's label reads 8' (nearest 2 ft) while its ordered length is 10' (up to next 2 ft). Label rounding and ordering rounding are separate settings.
  • Ordered LF per ply: 16 + 12 + 10 = 38'.

The Cut List by Stock Length starter template uses the same data source, grouped by Size then Ordered (stock) Length, with Count.

Example C: Labor for electrical boxes only ​

Goal: how many labor hours and dollars are in the electrical boxes, separately from everything else. (This contractor built labor into their box template; DimSum never adds labor on its own.)

The project has an "Electrical Box" Point tool. Its part carries labor either on the same line ("Material $2.10 + Labor 0.25 hr") or as a separate "Electrical Box – Labor" part with Type = Labor. The filter below works for both, because it looks at Labor Hours rather than Type.

Template setup

SettingValue
Data sourceParts
Filter{Category} = "Electrical Boxes" AND {Labor Hours} > 0
Group 1Level (lowest first)
CombineOn within each level (sum by Item # + Name)
ColumnsName, Qty, Labor Hours per Unit, Labor Hours, Labor Rate, Labor Cost

Output

ELECTRICAL BOX LABOR
Main Level
  Single-gang box           42 ea   0.25 hr  10.50 hr   $65.00    $682.50
  Double-gang box           12 ea   0.35 hr   4.20 hr   $65.00    $273.00
                                   Main Level subtotal:  14.70 hr  $955.50
Second Level
  Single-gang box           36 ea   0.25 hr   9.00 hr   $65.00    $585.00
                          ELECTRICAL BOX LABOR TOTAL:  23.70 hr  $1,540.50

Variations:

  • Per-box labor: turn Combine off to get one row per instance (e.g. per room or per page).
  • All labor, every trade: change the filter to {Type} = "Labor" OR {Labor Hours} > 0 and group by Report Section.
  • Combined totals: remove the filter and add Material Extended, Labor Cost, Equipment Cost, Subcontract Cost and Extended Total columns with a grand total.

Example D: Proposal ​

Data source Parts, grouped by Report Section, Detail Table hidden, Group Footers showing SUM({Sell Price}) per section. Report Summary: grand total, then {Settings > Terms of Service}, then signature lines. Using Example A's sections with Sell Prices of $2,340.00 (Main Level Floor), $1,380.00 (Main Level Walls) and $5.40 (Hardware), the proposal shows three lines and a total of $3,725.40. Tax appears only if a tax default was set.

Example E: The starter Count Sheet (lettered sections) ​

Goal: the shape most lumber-yard count sheets already use, shipped as a starter template you copy and change. It is modelled on the structure of real count sheets (see reference/README.md); all names and numbers below are invented.

Report Sections list — the letter is part of the section name, so the list reads in order and the letters print with the heading:

A. Hardware
B. Down Walls / Bearing Walls
D. Main Level Floor + Beams
E. Garage Walls
F. Main Level Walls
G. Main Level Ceiling + Beams
K. Soffit
L. Exterior Trim
M. Exterior Siding
N. Roof Package
O. Deck
P. Basement Finish
Q. Furr Down
R. Pocket Doors
Y. Footing + Flatwork

Gaps in the letters are deliberate: the list is the company's own order, and missing letters simply aren't used. Reorder by dragging; the report order follows.

Template setup

SettingValue
Data sourceParts
Filter{Qty} > 0
Group 1Report Section (by priority = list position)
Detail Table columnsQty · Description · SKU · Item Name
Repeat column labelsOn (per section, only when the section has rows)
Skip when emptyOn
CombineOn (sum by SKU + Name)
Page HeaderJob name + date, repeated on every page
Page FooterDate · Page X of Y

Output (first three sections; E. Garage Walls has no rows on this job, so it doesn't print at all)

                              COUNT SHEET
  Sample Job · Lot 12 · prepared by {User > Name} · {Job > Bid Date}
─────────────────────────────────────────────────────────────────────
A. Hardware
  Qty  Description                      SKU        Item Name
    6  Face-mount hanger, 2x10          HGR-210    Joist hanger 2x10
   14  Hurricane tie, 18 ga             TIE-18     Rafter tie
    2  Post base, 6x6 adjustable        PB-66      Post base

B. Down Walls / Bearing Walls
  Qty  Description                      SKU        Item Name
  118  2x6x104 5/8 stud, SPF #2         26-09      Stud 2x6 9' wall
   27  2x6x16' plate, SPF #2            26-16      Plate 2x6
    4  2x6x8' blocking, SPF #2          26-08      Block 2x6

D. Main Level Floor + Beams
  Qty  Description                      SKU        Item Name
   43  3/4" T&G subfloor, 4x8           SF-34      Subfloor 3/4
   11  Subfloor adhesive, 28 oz         ADH-01     Glue
    2  2x10x12 SPF #2                   210-12     Beam 2x10 (2 ply)
─────────────────────────────────────────────────────────────────────
{TODAY()}                                            Page 1 of 4
  • The column-label row repeats under every lettered heading, because each of these sections has rows. E. Garage Walls has none, so neither its heading nor its labels print.
  • The page footer is dynamic: the date component and the Page X of Y component, which knows the final page count.
  • Quantities come from the part formulas the user wrote; the report never rounds anything itself.
  • Add price columns (Unit Cost, Extended) by adding grid columns and mapping them — or leave them off, as many yard count sheets do.
  • Spacer rows between sections are just an empty grid row inside the Group Header section.

Tips & shortcuts ​

  • Start from a report in DimSum Defaults (New or Duplicate) to get the columns and grouping right, then polish the layout.
  • Pick your grid column count first (4 for a classic count sheet, 8–12 for a priced estimate).
  • Merge cells for titles and info blocks instead of adding columns you'll never use for data.
  • In the designer, arrow keys nudge what's picked one grid cell, Ctrl + arrows five, and Shift + arrows resize it; Ctrl+D duplicates it.
  • Leave Skip when empty on: your section list can be long, and only the sections with material print.
  • Put {Report Section} into your tools' parts now, and every report groups correctly later.
  • A formula Report Section ({Level > Name} & " Walls") saves you from building one section per level by hand.
  • Filter on {Labor Hours} > 0 rather than {Type} = "Labor" if some of your tools carry labor on the material line.
  • Use conditional formatting to gray out zero quantities and highlight ⚠ "Needs attention" items (unmatched list items).
  • Use Combine for ordering, and turn it off when you need to see where each quantity came from.
  • Save your end-of-job reports as one report set so the whole routine is one click.

Rules, limits & edge cases ​

  • Reports never modify project data.
  • A section with no rows prints nothing — not the heading, not the column labels.
  • Charts are planned for later.
  • Parts that failed List Matching — an Advanced Part flagged No material matches these conditions — stay flagged ⚠ and still report, with whatever data they have.
  • Combining uses Item # + Name by default; items with the same name but a different Item # stay separate unless you change the combine key.
  • Elements that don't fit a grid cell grow the row (can-grow) rather than overlapping.
  • During the trial, exports carry the "DimSum Trial" watermark. After a license lapses, editing stops; after an account is closed, Download all my data unlocks your files for viewing (Account & License).
  • Protected pages are left out of any plan snapshot or marked-up page unless the password is entered.
Planbase Estimating LLCDimSum Takeoff
Sheet titleReport Designer
SectionReports & printing
StatusAvailable
ScaleNTS
Sheet38 / 57

DimSum Takeoff by Planbase Estimating LLC · Kansas City, Missouri