just a further thought on this.
I don't think we can be too didactic. Really, whatever a developer does to make something work is generally OK.
The point about "batched entry" - ie pre-enter into a temporary table, and then process that when the batch is complete, is that it is simple to use, and easy to undo. Just forget the batch.
If everything is done live, then in theory problems can arise. Let's say you enter a new order live, and while you are entering the order, some other process (or user) begins to process your order. now cancelling the order becomes less straightforward.
so let's say you have a flag on a partially entered order to prevent it being used ....
to do it live, you need a more perfect understanding of the business model, your other code needs modifying to work with your partially entered orders/data
to do it a controlled batch needs none of this. either accept a properly completed batch, or don't. No other process sees the batch details until you press go.
Now it may be you have to go the other way. In a booking system, your partially allocated order needs to grab and reserve something - then confirm the reservation if the order is accepted, or scrap the reservation if the order is cancelled. So a batched entry system isn't going to work in this environment. However, you do need to consider how you time out the transaction, to prevent your reservations never being cancelled. Or is it first come - first served. Optimistic booking. Recheck when you press "buy", and if someone else got it in the meantime, then tough! Theatres, hotels, airlines, olympic tickets ..... Lots of businesses in this category
So a lot of this just comes back to the business model, and the system analysis.
one other thing - some posters in this thread have referred to some of the practices used by "big software suppliers" eg quickbooks - but although they sell in big numbers, we don't know exactly how they achieve their results, and I am sure a lot of us have looked at other companies offerings, and found there was room for improvement