Try removing the outer-most <<Start>> tag and its corresponding <<End>> tag. If the workflow is running from the Sales table, you shouldn’t then needs to look through the same table to find the very row you’re already looking at.
I think we need to troubleshoot the SELECT() expression in your template. For troubleshooting, it would make life easier to remove everything from the template within the <<Start>> and <<End>> tags for that SELECT() expression, so we can focus exclusively on this specific problem:
know the problem is getting balance as on date because I have a virtual column for balance so it saw the same amount at every payment entry of this invoice. so should I have to add a column in the sheet? or is there any formula?
You’ll need to compute the balance. Since your report will want a specific computation (I presume), you should probably compute it in the report rather than in a column in the sheet.