Step 1: Identify the time expression.
The phrase
\[
\text{``by the end of next month''}
\]
refers to a future point in time.
Step 2: Determine the correct tense.
An action that will be completed before a specified future time is expressed using the Future Perfect Tense.
Structure:
\[
\boxed{\text{Subject + will have + Past Participle}}
\]
Step 3: Analyse the options.
• (A) closes -- Incorrect. Simple Present does not express completion before a future time.
• (B) will have closed -- Correct. It shows the office will be closed before the end of next month.
• (C) has closed -- Incorrect. Present Perfect cannot be used for a definite future time.
• (D) closed -- Incorrect. Simple Past refers to a completed past action.
Step 4: Final conclusion.
\[
\boxed{\text{The office will have closed for renovation by the end of next month.}}
\]
Hence, the correct option is \(\boxed{(B)}\).