Details of work to be done - is really important and should be really detailed.
Since the contract is fixed price, your definition of 'done' will be quite different from that of the client, as it is usually in their interest to strive for absolute perfection in every detail and to include new ideas during the project as part of the fixed price and not separately chargeable change requests.
The contract needs to make very the clear the difference between a bug, a change request and a change of scope - and how these are to be handled financially. Obviously, the fixed price cannot include bug fixing for all eternity - but when does it stop? One thing is certain - whenever a client sees the product for the first time, they will want something changed. You need to avoid allowing the fixed price project to become a 'continuous brainstorm' on the client's part.
If at all possible, split the project into separate 'milestones' that need to be completed and paid for before moving on to the next stage. This will allow the client and you to establish a way of handling smaller deliveries - instead of only having one huge delivery potentially followed by a huge prolonged (legal) argument.