Reply
Regular Contributor
DSchild-PTEC
Posts: 45

Order Fulfillment for Opportunities with scheduled products

Currently for order fulfillment to occur our ops team needs a closed opportunity. They enter an invoice number against that opportunity in a field on the opportunity labeled invoice number. (not an object in other words. )

 

The problem is some opportunities carry schedules that may go out each month for a year or two. How do others handle order fulfillment for just that portion of the schedule in the opportunity that you're dealing with? How do you show the remaining quantity adjustments, amount remaining, amount paid, invoices, etc?

 

 

Regular Contributor
David D
Posts: 21

Re: Order Fulfillment for Opportunities with scheduled products

We do something similar, but with sales orders...  An opporutunity can create a sales order.  We allow the opportunity to close and then create a sales order.  That order could have, say, 100 units ordered but our manufacuturing may fulfill that order in 4 different "Production Runs" over any given period of time (things like, customer wants it delivered 25% per month for 4 months, or we're waiting on parts for some of the order).

 

SO, we have a custom object called "Sales Order" that is a master object (NOT parent object) to another custom object called "Production Runs".

 

When the opportunity closes, Sales Support creates a sales order, enters in stuff like qty, promise date, and other stuff manufacturing needs to know to build the order.


Manufacturing then creates (Schedules) production runs to fulfill the order.  Each production run can be scheduled as needed, and the date can be way in the future.  Each production run has a quantity on it.  I have a running total field at the Sales order object that sums up all the units on in the production runs and then I do a calculation to determine how many units are left to "complete" the sales order and I have validation rules that don't allow an order to be closed if there are still items to produce.

 

Hope this helps, I can explain further if you need.