Tracking Wins/Losses from Quotes

We are wondering if there is a report that we can make that will track when a quote is converted to an SO. I currently have a dirty query that kind of works, but not very well. It isn’t really giving the right data.

Currently our process is to create the quote, then when the customer says they want it, we go to the Quote>Actions>Quote>Create Sales Order. The green box that says WON shows up on the quote. I am wanting a report that has the quote number, SO number, and dollar amount from the SO where the quote is WON. Does anyone have anything like this that I could start from and then customize for our organization? Below is what I have so far. I know there is a Task.Conclusion that should be used, but even if the green box that says WON is not there, it doesn’t look like users can go in and change it to WON. Idk…

select distinct
	[OrderDtl].[OrderNum] as [OrderDtl_OrderNum],
	[OrderDtl].[DocUnitPrice] as [OrderDtl_DocUnitPrice],
	[QuoteHed].[ShortChar01] as [QuoteHed_ShortChar01]
from Erp.OrderDtl as OrderDtl
inner join Erp.OrderHed as OrderHed on 
	OrderDtl.Company = OrderHed.Company
	and OrderDtl.OrderNum = OrderHed.OrderNum
inner join Erp.QuoteHed as QuoteHed on 
	OrderDtl.Company = QuoteHed.Company
	and OrderDtl.QuoteNum = QuoteHed.QuoteNum
	and ( QuoteHed.ShortChar01 = 'W'  )

where (OrderDtl.DocUnitPrice > 0.01)

Thanks in advance!

QuoteHed has columns called ReasonType/ReasonCode & Ordered. Reason fields use the Reason Codes and will show some additional data if you want to categorize the win/loss. I think you may need to use/complete the Task for this to get updated.

QuoteDtl has the Ordered column as well.

Between these data points you should be able to get an accurate report for Wins/Losses.

You could infer win/losses from the OrderDtl.Quotenum column - if it has a number, then it’s a Win, if it’s blank then the Order was manual. But if you start the query by looking at all the quote numbers that are not in OrderDtl/Quotenum, then they are losses - but you need to consider age (expiration date, or other dates for example) to truly know if they are a Loss, or still valid for some reason.

I’d stick with the QuoteHed/Quotedtl tables and use ‘ordered’ to help determine win/loss status.

1 Like