I did one with customer, item number, product line and sales rep by using a UDT. I should clarify, that it calculates it at the line level upon entry. This validates against the customer, date, item, salesperson, ship to location, etc. Store the amount in a UDF and report on it using Crystal.