The simple one:
Sales order: Customer wants to buy something.
Sales invoice: Customer owes for goods and services delivered.
Business-flow-wise, typically you take an order before everything is done necessary for the transaction to hit the books, and convert it to an invoice when everything that has been done for the income to be realized has happened. This typically means:
1) Goods or services are delivered
2) Any approval/error checking the business requires has happened