Is there a way to use price books without opportunities? I'm working on a small project for a local hotel and the hotel charges different rates for rooms based on day of week and/or weekend, occupancy, etc. If a customer comes into the hotel to book a room, I want the hotel agent to be able to make the reservation without creating an opportunity first. It seems that price books only work with opportunities. Is that right? I'm trying to avoid the extra step of creating an opportunity because if a customer comes in and just pays for their room the concept of an opportunity doesn't really apply. It is one thing if they make a reservation, but don't pay then to me the concept of an opportunity makes sense, but if the customer calls in or comes in, and pays all in one shot I don't see the need for creating the opportunity. I'd like to avoid the extra step, but still leverage price books if possible because that seems like the only way to offer tiered/varied pricing unless I'm wrong?

Does anyone know can I use price books without opportunities or maybe there is another way to to do this better? The goal is to allow the hotel to have different pricing levels of the room and ultimately make a reservation for the customer when they come in and pay.

3 Answers 3


It's still an opportunity-- it just so happens it's a closed/won opportunity.

I understand wanting to skip a few steps, since we already know that most of opportunities don't apply here.

My best suggestion would be a Visual Flow or a Visualforce page. The former is all point and click, the latter requires more coding.

Both can get you to the end result faster-- logging sales in as few steps as possible.

Then again, you may be just as interested in using the Orders object (new feature) that may better represent your desired data model. Price books work on orders, quotes, and opportunities. The first or third type would be of the most value to you in this case.


The three objects : Pricebook2, PricebookEntry, andProduct2 work hand-in-hand. Each pricebookEntry represents the price of a given SKU on a given pricebook for a given currency. In addition, if using custom pricebooks, there must be an entry for the SKU - price - currency on the Standard Pricebook

While it is true that certain SObjects like OpportunityLineItems ServiceContract's ContractLineItem, QuoteItem reference pricebookentries, there is nothing to say you couldn't build a custom application with custom objects that leveraged Pricebook2 - PricebookEntry - Product2

All that said, I agree with @sfdcfox that logically, it is a closed won Opportunity. You will, in the long run, be happy that you use Opportunity Products to capture the product level detail of what was sold (standard room, deluxe room, presidential suite, whatever)

  • Thanks, that does make some sense, but it raises the question that when you create a new opportunity in salesforce it requires you to enter an amount. I presume that I can default the amount to $0.00 until products are added? Or perhaps follow the suggestion of sfdcfox and create some visual flow to make the number of steps more cohesive rather so things are created in one step versus creating the opportunity then saving it, choosing the price book, adding the product, just a lot of steps it seems. I do like the idea of the closed/won opportunity though so thanks for that suggestion.
    – West
    Aug 14, 2014 at 17:01
  • The Opportunity.amount field can be any value when there are no OpportunityLineItems. Once there are OpportunityLineItems, SFDC will automatically rollup OpportunityLineItem.TotalPrice into Opportunity.amount
    – cropredy
    Aug 14, 2014 at 17:04

Good explanation on products, price books, price book entries and how they are associated with opporunity products...https://www.youtube.com/watch?v=h-inAN96GIA

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .