First of all I do not have a copy of your contract to see the scope of work or the terms and conditions that make the agreement between you and the contractor. In response to this question, I am assuming that the clause FAR 52.249-7, Termination (Fixed-Price Architect-Engineer), is contain in your contract.
From your description, it appears that this is an issue of non-performance. It is important that you have written documentation of all the correspondence showing non-performance. Provided that you have this and you are prepared to terminate this contract you need to follow the following steps (see FAR 49.607):
- Since you have more than 10 days remaining in your performance period, you should issues a cure notice. Send this notice with a signature receipt. The contractor will have 10 days to respond and inform you how they intend to correct the performance issues.
- If the contractor fails to show progress after this notice, then you should send a show cause notice. Send this notice with a signature receipt. The contractor will have 10 days to respond and inform you if there is some cause not to terminate them.
- The final step is a termination notice. Send this notice with a signature receipt.
If you are not ready to go that route, another option under FAR 52.232-10 -- Payments Under Fixed-Price Architect-Engineer Contracts, the Contracting Officers can withhold up to 10 percent of the payments only if the Contracting Officer determines that such a withholding is necessary to protect the Government’s interest and ensure satisfactory completion of the contract.
A final idea would be it issue an interim unsatisfactory performance rating. This often is enough to get the contractors attention and get them back on tract.
Note that the idea is not to penalize the contractor but to communicate and work with the contractor. It works best when we are both on the same team. Letters are good for documentation, but I recommend a face to face meeting to see if you can discover what is at the heart of the performance issues. This would server all parties the best.