Dilan,
When there is not value selected for the Subcontractor or Project, the Expenses retrieve action will only retrieve expenses that are not attached to one (or both) of these. I would guess you don't have any 'unattached' expenses in your database.
There are a number of different approaches to get all expenses.
One idea is to put an exclusive split in your data source microflow (your expenses grid is sourced from a microflow) to see if Subcontractor is empty but project is not. In this case, you would branch to a retrieve that has the xpath you specified, but without the Subcontractor clause. Then return the retrieved rows to your document template. You can see that this method would also require some additional branching for the case where Project is empty but Subcontractor is not and the case where both are empty.
Others in the community will likely have some different approaches in mind.
Hope that helps,
Mike
This is my new Microflow with a few Modifications to what Mike had said. And this is a Report of Labour Expenses. No need to source the document Template with the Microflow.
Thanks
Mike