Eric Lehti
VIP Member
I have a question for you who ship your products by tractor/trailer, and you like to grant your customer(s) a cash discount for purchasing full tractor/trailer loads at the legal maximum of 80,000 pounds gross vehicle weight.
Six years we implemented a method which has a weakness. Sales orders F4201/F4211 are assigned to specific truck numbers, based on that truck going to a specific region of the country on a specified date.
If the tractor/trailer reaches the maximum weight of 80,000 pounds, we allow a 10% discount on all sales orders on that trailer. All customer orders on that full trailer get this discount.
We have a custom RPG process that reads F4211, summing the weight of items to be loaded on each truck. If the trailer weight qualifies, each order will be flagged as eligible for discount. A subsequent RPG program writes 1-to-many lines to F4211 for each order with negative dollars in SDAEXP field, using reserved line numbers (SDLNID) of 500,000 and above, (lines 500, 501, etc.), as our sales orders have fewer than 499 lines.
The weakness of this technique is that the cash discount is NOT to the individual items, but on the product family. I mean to say, 37 individual items (F4101 item master) of a product family on a sales order will create ONE mixed trailer discount line in F4211, line number 502 (502000). This discount line is the aggregate of those 37 different products. This makes it impossible for us to compute the "average selling price" on items. The product family is not a discrete item in F4101, but is an attribute (field IMSRP3 in F4101)
The real solution, I guess, would be to allow a 10% discount on EACH item ordered on the sales order. If line 1 is $100 in F4211 for Widget1, write discount line 501 of <$10> for Widget1 to F4211.
Or to have a System i module integrated with JD Edwards that enables the user to manage tractor/trailer shipments and calculate discounts.
So how do you do it? How do you factor "cash discount" into your average selling price?
ericl 918-879-6036 central time;
Six years we implemented a method which has a weakness. Sales orders F4201/F4211 are assigned to specific truck numbers, based on that truck going to a specific region of the country on a specified date.
If the tractor/trailer reaches the maximum weight of 80,000 pounds, we allow a 10% discount on all sales orders on that trailer. All customer orders on that full trailer get this discount.
We have a custom RPG process that reads F4211, summing the weight of items to be loaded on each truck. If the trailer weight qualifies, each order will be flagged as eligible for discount. A subsequent RPG program writes 1-to-many lines to F4211 for each order with negative dollars in SDAEXP field, using reserved line numbers (SDLNID) of 500,000 and above, (lines 500, 501, etc.), as our sales orders have fewer than 499 lines.
The weakness of this technique is that the cash discount is NOT to the individual items, but on the product family. I mean to say, 37 individual items (F4101 item master) of a product family on a sales order will create ONE mixed trailer discount line in F4211, line number 502 (502000). This discount line is the aggregate of those 37 different products. This makes it impossible for us to compute the "average selling price" on items. The product family is not a discrete item in F4101, but is an attribute (field IMSRP3 in F4101)
The real solution, I guess, would be to allow a 10% discount on EACH item ordered on the sales order. If line 1 is $100 in F4211 for Widget1, write discount line 501 of <$10> for Widget1 to F4211.
Or to have a System i module integrated with JD Edwards that enables the user to manage tractor/trailer shipments and calculate discounts.
So how do you do it? How do you factor "cash discount" into your average selling price?
ericl 918-879-6036 central time;