Booleans. You gotta love them. Or hate them. That's how they work. Marshall, I suspect what's happening is this (buckle up):
Project A has one Task called "Invoice"
Project B has two Tasks called "Send Invoice", and "Get Paid"
You're asking for Projects with Tasks that do not contain the case insensitive phrase "Invoice"
Since Project A's "Invoice" Task does NOT meet your criteria, Project A will not be returned
Since Project B's "Send Invoice" Task does NOT meet your criteria, Project B would also not be returned...BUT since Project B's "Get Paid" Task DOES meet your criteria (dag nab it!) Project B DOES get returned
Instead, I'd suggest you take a different approach.
Create a Project report filtered to all the ones you care to check that MIGHT be missing an Invoice Task
Add a column that reaches into the Tasks collection of each Project and lists (only) those that start with "Invoice"
Run the report, and scan that column: an empty cell means the Project is missing an Invoice Task
I've included a sample of the textmode for such a column below. Regards, Doug displayname=Invoice Tasks listdelimiter= listmethod=nested(tasks).lists listsort=nested(tasks).string(name) querysort=tasks.name textmode=true type=iterate valueexpression=IF(LEFT({name},7)="Invoice",{name},"") valueformat=HTML Doug Den Hoed - AtAppStore Got Skills? Lend a hand!
https://community.workfront.com/participate/unanswered-threads