Some of the differences in expected structure between Toolbox SFM files and FLEx are described below.
In Toolbox SFM file:
Reference fields can have more than one target in them (e.g., \cf wrote; written). This includes etymology and borrowed word.
Sense numbers can get out of sync (duplicate or missing numbers).
It is easy for homograph numbers to get out of sync.
Cross references rarely include homograph numbers, even if the entry they are pointing to is a homograph.
The \ps field can have more than one POS value in it, there is rarely restriction on which values can be used, and often typos or inconsistency creeps into the labels uses. Often users have listed a POS value for affixes, though the meaning of that is unclear.
Subentries can have a wide variety in how they have been expressed.
For FLEx import:
Need to have multiple copies of reference fields, with one value per field.
(Optional) FLEx will adjust Sense Numbers, but if these matter for cross references, they should be checked before validating the cross references.
FLEx will automatically fix up homograph numbers, but the results will be better if these are validated and adjusted before import.
To prevent the creation of entries that the user will need to delete or re-link, it is better to treat "cross references that don't have a valid target in the file" differently than "cross references with a valid target".
There should only be one POS value per field. Values should be consistent. Affixes should not have any POS specified.
There are very specific requirements for subentries.