Forget computers for a second and go back to classic business.
The sales order was the record that you create to document the request that comes in. The invoice was the piece of paper that you sent back to the customer asking for the money. For a cash sale an invoice is redundant.
Off the shelf software needs to accomodate a range of possible scenarios and would simplify things by redundantly raising a null invoice for a cash sale.