Let's say you're a car dealer, selling cars.

When a customer buys a new car, he often trades in his existing car.

What data model makes more sense?

A) create a sales order record for the sale, and a purchase order record for the trade-in, and link them together (related_order_id)?

B) create a sales order record for the sale, and a sales order adjustment for the trade-in?

C) something else?


I would recommend modeling it as a sale with an adjustment for the trade-in, assuming that as a car dealer you accept trade-ins without a related sale of a car.

Therefore within your system you re-use the purchase features, and can later report on metrics like how many sales are linked to trade-ins, what values of sales are linked to trade-ins, whether trade-ins boost sales, etc

  • 1
    I talked to my friend who is a partner at a big firm and she said a trade-in should be an adjustment on a sales order. so, thanks! Jul 5 '12 at 2:42
  • @NeilMcGuigan you are welcome Jul 5 '12 at 5:02

I think you should model it as "door number three" - something else. While from a vehicle sale perspective you have a trade-in allowance (dollar figure), that is not where the interest in the event ends.

Each item taken in trade becomes an inventory item that has to be stored and eventually disposed of.

Although it is rare, it could happen that more than one item is taken in trade.

I would model a trade-in as a separate table (optionally?) linked to a sale. This gives you something to link other events and/or items to, such as inventory, valuations, work-orders for repairs and any other activity relating to accepting and disposing of the traded vehicle.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.