When entering a free text line on a sales order or a invoice in the invoicing module the nominal code will be populated if there is a default set on the customer account. If no default on the customer account then it will not force you to select a nominal account and will end up posting to suspense. Perhaps the nominal ledger setting to 'restrict account selection to existing an active accounts' should include blank nominal codes as an invalid entry?