Play with Pricebook & Products & Opportunity Objects
There are 5 standard objects involved around it:
Scenario with Multi-Currency enabled:
- Pricebook
- Product
- PricebookEntry
- Opportunity
- Opportunity Product
- First you setup a Pricebook. If you have different prices based on customer type or deal then you would need to create custom Pricebooks (e.g. online tutoring, in-home tutoring, and school tutoring).
- Second you would need to create a Product.
- Third you would need to associate Product with the Pricebook. If you have only a standard Pricebook then you just need to associate it with the Product otherwise, you would need to associate with the custom Pricebook too. But in order to associate custom Pricebook you have to associate standard Pricebook with the Product first. This process create a PricebookEntry record.
- Fourth you would need to create an Opportunity (Note: There is a field PricebookId on Opportunity that says this Opportunity has associated to whcih Pricebook?).
- Fifth you would need to add Opportunity Products. First time when you add it will prompt you to choose the Pricebook (e.g. standard or custom Pricebooks will be shown in the picklist).
- After that all the Products will be shown which are associated with the Pricebook which user has chosen already. After creating Opportunity Products, PricebookId field will be populated on Opportunity. Now going forward user will only add those Products which are associated with that Pricebook (Note: Opportunity can have only one PriceBook associated with it).
- If in future user want to associate Opportunity with different Pricebook they need to click on the button "Choose Pricebook" (Note: it will delete all the previous Opportunity Product records.).
Scenario with Multi-Currency enabled:
- Let's assume that your organization work on 2 currencies "USD" and "EUR".
- First You setup standard and custom Pricebook in all currencies.
- Second you would need to setup Products (Currency ISO on Product will not do anything so, you can remove from the page layout).
- Third you would need to associate Product with the Pricebook.
- Fourth you would need to create an Opportunity and select a Currency ISO field "USD" or "EUR" (Note: This will tell you that you will only Products which have been setup in that Currency ISO code).
- Fifth you would need to add Opportunity Products.