Those of you who have checked our new post series about “Merlin report templates” know by now…

Now let’s do some magic with the reports.

Report billable costs entered on elements
Costs entered on elements may or may not be billable to your customers. This report may output such costs in a table.

So you need to get first all elements of a project. Following python method does so and excludes private elements.

In the WBL we iterate in this array and call a deeper iteration for sortedCosts defined on an element.

As we only want to see billable costs, we need to test its isBillable flag. So here is the method testing it.

Now we can output the title, kind, or other properties of the billable costs in the wbl by the following conditionals…

To show the planned cost, we need to ask iterItem.amount and to format it accordingly with the project currency formatter.

Making it flexible:

To make the report more flexible we have inserted an option to show planned or actual values. You know by now how this works.

The method showing the correct value and corresponding wbl part are…


Now we need the total row…

So we created 3 methods cumulating amount or actualAmount as desired.



An output sample:

And the report options:


  • Extract the zip first
  • place the contained mrept package under the following path of your mac: ~/Library/Application Support/Merlin/Reports
  • (in case you have no “Reports” folder please create it first and pay attention to name it exactly as “Reports”)
  • restart your Merlin and
  • call File > New Report… to find the new report called “Billable Costs Report”.