It should not be possible to create a contract without a production code. It happens when production codes are deleted afterwards, for example when you create a new estimate. The contracts must then be linked again, otherwise the final forecast will be wrong.
How to fix it
Go to Purchasing in the menu.
Widen the Production code column if needed, and find the contracts where it is empty.
Tick the checkbox on the left for the contract and choose Edit in the menu that appears.
Under Costs, select the code in the Production code column on the cost line (an empty code is shown as "No prod. code"), and save.
Repeat for all contracts without a production code.
Good to know
Check the purchasing list every time you have created a new estimate or deleted production codes.
The cost on a contract without a production code is not included where it should be, so the final forecast is wrong until the contract is linked.

