I can get word tables with ‘foreach’ loops working fine if there’s data in a collection, but if it’s an empty set it shows the template fields instead of hiding the table:
To hide merge fields, you can pass empty values to merge fields as you can see in the attached XML. To remove a table in case of empty values, you can use '?cleanup=RemoveTitleRow' parameter.
The limitation of RemoveTitleRow is that it deletes the table if there is only one row in the table and there is no text other than merge fields in the table as you can see in the attached document. You can check this document with the attached XML to see how it deletes the table.
In your case, you have two rows and second row shows the total planned labor / material. RemoveTitleRow will not work in such cases. A new issue to remove complete table if empty values are passed (no matter how many rows are there and if some extra text is present) has been logged into our issue tracking system as SAASWORDS-115. We will keep you updated on this issue in this thread.
Please feel free to contact us in case you have further comments or questions.