In our sales order system, which primarily tracks construction projects with incidental distribution of products. The following is how I handle your questions.
1. Change orders are the same form as original orders and chained together in our numbering sequence. For us a change order can be equal or greater in scope than the order that started the job. For example, 13035-0 is the original and 13035-1 is the first change order. In the order table there is a field New_Chng and record creation is performed by a scripted process which asks a series of questions so the numbering sequence can be computed.
2. Back orders and partially filled orders for us is a non-issue (in the database), since we bill at shipment and/or upon performance.
3. We preserve all order/change records for historical information used by sales to analyze past activity.
Cancelled orders are entered as negative change orders, for us this tells how many projects fall apart after being booked.
Do I understand correctly that changes to your sales orders are never made in the original sales order itself? It sounds like you create a new record and related it to the original.
Yes, new record in same table, but tagged to the original order record. For all orders there is one order table and one order lines table.
1. How are change orders handled?
It really depends a lot on the business rules. You could amend the original order or add another order with the changes. You need to decide whether to protect the integrity of the original order.
2. How are back orders/partially filled orders handled?
We've had a few situations where we've set up an extra level, below the order items table, called Goods Inward. That allows you to receive items in separate lots and track them. This is very useful for inventory management. For example, an electrical retailer order 10 of a particular television from their supplier. They receive one shipment of five. A week later they receive another shipment with the remaining five. Having that extra table makes inventory and invoicing calculations easier. Of course, this all depends on your individual circumstances.
3. Once the Sales Order has been completely filled, invoiced, and sent, did you retain the Sales Order or delete it?
Why would you delete it? Databases are designed to store data. The information is useful (in some cases even vital) for reporting purposes.
Thanks Marc and Tim for your replies. I'm narrowing my question now based on your replies and further research. Now my question is this:
How do you handle change orders to a sales order that has been invoiced but not shipped? Here is the scenario:
1. Customer sales order has been created, filled (from a picksheet/pull order), and invoiced.
2. The order is ready to be shipped.
3. The customer calls and changes the order. In particular, they have called to reduce one of the line items, so instead of ten widgets they want eight widgets.
It seems that a change order where a line item is increased can go on a new sales order (e.g. ten widgets to twelve widgets). However, for a decrease in a line item that doesn't make sense to me because the order would go out, the customer would then return the two widgets, and a credit memo would need to be issued.
What are some of the ways you have managed such change order scenarios?
Can we not have status for the Customer order like
1) Preparation( where customer place order and ask for some Clarification may be price related or delivery etc),
You can have substatus : Clarification on Price, Quality etc.
2) Confirmation - Once we reply to the clarification, He confirms the order.
3) InProcess - This is when we update the inventory and prepare invoices, payment etc.
4) indelivery - Packed and on delivery.
5) Delivered - Customer accepts the goods.
Now in the meantime, if wants to reduce the order, we need to let him prepare a Return Order and place the items he wants to return. We check and ask for reason then we confirm the same. The same can be adjusted in later order as we know the excess payment.
For Return Orders:
1) Preparation - Where client prepares the Return Order
2) InProcess - We check the return request and may be ask for clarifcation from the customer
3) Confirmation - We confirm the same and return the money using credit memo or we can brought forward the proceeds for future adjustment. The user can adjust the return order in their new order by specifying the reference.
You can think on this lines too. I think valid status also will introduce workflow into the system.
Hope am making sense here.
Thanks and regards
Two follow up questions:
When an order is in status #3: InProcess -
1. If a vendor Purchase Order comes in and can complete a partially filled customer order, do you remove the order from shipping, open the package, complete the order, re-invoice, re-package, return to shipping? Or do you create a new pick sheet, new invoice, new package, new shipment, etc.?
2. If a customer wants to reduce a line item would you send it anyway and require the customer to return it? Or would you unpack as in #1 above, remove the items, re-invoice, etc.?
When the order in process:
1. If you get further order on the same day before dispatch of the earlier order, the following are the steps:
a) The customer should place new order specifying the additional things he want to purchase.
b) any returns on the confirmed order (the earlier one), he has to prepare a return order.
c) you can adjust the proceeds of the return order after deducting some service charges to the new order (a).
d) if the earlier order does not dispatched yet,
you may have to remove the return ordered items and add the new order contents in helping the customer in
reducing shipping costs. (sometimes happens.)
if the earlier order is already sent, you cannot do any thing, you will have to wait for the return order contents. You wont adjust the proeeds on the new order placed by customer as you have not yet received the return items from him. You should let the client know of this.
e) the new order will follow the usual order procedures.
2) I think the answer is in the point 1 itself. If the earlier order not yet shipped, and the client wants to reduce, as long as the items under your custody you may have to help the customer. But still he has to prepare the return order which generally involve minor services charges. then the balance can be adjusted in the subsequent order or you can refund.
Further to my earlier email, In the process we need to capture each steps carefully. We should also allow the customer to cancel the order as long as it is with in certain status. say before shipment. I am not sure how to accept your payment, in my opinion, it should be as soon as confirmed the order. if he cancel, then we can deduct the packing and services charges and refund the money provided it it really moved into different statuses in workflow after confirmation. Otherwise can refund the full amount.
Thanks Ramki. That is helpful.