Assuming the templates you are interested in had tasks associated with them, I can offer two approaches:
I find the former more useful.
I wonder if there's something else that can be nested, that there's only one of, that transfers from template to project? Maybe something like:
The difference in templates is not in the tasks but in the billing rate, so a project has a template with custom billing rate A attached, we then attach another template with custom billing rate B which over writes the billing rate A.
In that case, according to the API, Projects do have a "Rates" collection, and each Rate collection does have a TemplateID on it, but when I tried to model it (by setting up a template with ONLY rates on it, no tasks, and then used Attach Template on an existing Project to "pull in" those new rates), although the Rates did indeed come through, the originating Template on those Rates is null, whether by using an API call, or using an iterate, as below.
I invite you to try one or both in your environment, in case you have better luck, but suspect you'll also see "null", as do I.
API call (returns null)
Project Level Text Mode column (returns null)
Do you have something that could be used to report on the multiple templates used for one Project? Detailing the templates used on that individual project rather than tasks? Or have I misinterpreted your first reply ?
We have larger projects which utilise many templates, when I've created a template report its skewed showing the primary template but doesnt take into account the additional templates used on the same project.
Nothing new on this one that I know of: if you're referring to detecting additional Tasks that were added using Templates, my original post at the top of this thread stands, but if you're trying to detect other aspects of non-Task templates such as Rates (or Queue Topics, Routing Rules, etc.), the API does not support it (and nor, therefor, do the usual reporting parlor tricks).