Is it correct sentence: "Could you please explain why have these invoices been cancelled?" Or "Could you please explain why these invoices have been cancelled?" I heard that that have should always stay before noun.
closed as off topic by RegDwigнt♦ Jun 5 at 21:28
Questions on English Language & Usage Stack Exchange are expected to relate to English language and usage within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.
The first is a direct question: Why has this been done?
[Edited to make more concise]
The trick to understanding where to place "have" is to understand the use of the word "why." If used to introduce a question, you would want to put the have first: "Why have these invoices been cancelled?" If used to introduce a noun clause, you want to put the have next to the word been: "why these invoices have been cancelled." In your original sentence, you are using why as a noun clause, so you should phrase it as: "Could you please explain why these invoices have been cancelled?"
That noted, as @TrevorD mentioned, "Why have these invoices been cancelled?" is a more direct, and often preferred, version in written English.