OpenCRM can be set up to warn users who are trying to create an invoice that a one is already linked to the sales order, if that is the case.
This can be enabled by going to the settings in OpenCRM and going into additional settings. From there, under the section "Sales Order Settings" there is the the following:
If this is ticked, when a user tries to create a new invoice from a sales order, they will be presented with the following dialogue:
Clicking on "OK" at this point will allow them to create another invoice linked to that sales order; clicking "Cancel" will keep them on the sales order detail page.
Sales Order Creation
On a similar level, from Version 3.9, you can warn users when they are about to create a Sales Order from a Quote when one has already been created.
To enable this setting, you will need to go to Settings->Additional Settings and click to view Quote Settings:
You can then simple tick to enable this option.