Buyers and Sellers are in my Accounts object, entered by choosing the B or S record type, ea. w its own page layout with its own fields relevant to customized to a Buyer or Seller. How can I manage the situation when -- later on down the line -- a Buyer becomes a Seller, and a Seller becomes a Buyer?

I'm setting up a test database project for learning purposes: a real estate company catering to real estate buyers and sellers. I originally setup two separate objects to keep track of both Buyers and Sellers, but that really didn't make sense in retrospect, because a buyer could in the future become a seller, and they'd be in the database twice: not a good practice. So, I rethought how I could do this, and decided to use the Accounts object to keep track of both Buyers and Sellers, with the fictitious realty company user being required to choose "Buyer" or "Seller" record types as a prerequisite to creating an Account record. The "B" and "S" Account page layout each has its own page layout with fields relevant to them in their status as B or S.

As you might expect, each Account has its own associated actual Contact or Contacts.

OF COURSE, Bs can become Ss down the line, and Ss can become Bs; IS THERE A GOOD WAY TO ACCOMMODATE THIS IN SALESFORCE? I'm using Opportunities as a way to keep track of sales/possible sales of real estate. I've read about "Contact Roles" in Salesforce, and I'm wondering if using them is appropriate here; if so, how would I use them in this case? If not, do you have any other ideas, suggestions, or comments?

Thanks for reading this and sharing your feedback.

============= I don't think that switching the record type for the Account (really a Household comprised of one or more Contacts for purposes of my database) back and forth from B to S etc. is optimal. I want to preserve the fact that the Account was once a "Buyer", and have a list of all of the properties they looked at in a related list of Properties on the Account record; similarly, when the Account is a "Seller," I'd like to have a place on the record to show the property they're selling along with a list of Buyers in the Accounts object who have looked at the Property record owned by that Seller. It's theoretically possible that an Account could be both Buyer and Seller at the same time.


I might try a different data model

Party__c - Represents an entity that is on one side of the transaction. Could be a person, a trust, an LLC, etc. You could model Party in the Account object or use a custom object.

Transaction__c - Represents a real estate transaction (date, time, reference to a Property__c, asking Price, selling price).

Transaction_Role__c - Represents the role played by a Party in a transaction. Roles would be: Buyer, Seller, Title Company, Seller's Agent, Buyer's Agent, 1st Party Financing, 2nd Party Financing, etc. This is a junction record between Party__c and Transaction__c

This entirely eliminates the buyers becoming sellers, sellers becoming buyers, and record types altogether and is a better model of the real world.

You can have multiple "buyers" on a transaction, only one of which is marked as the winner (on the Transaction_Role__c) or use role values like Bidder and Buyer

  • Hey, thanks a lot for this idea! I'm just wondering what role POTENTIAL buyers of a property would have, and how this would all fit into my Properties custom object (would they be an additional "role" in the Party custom object?): I'd like to be able to see a property record, and see all of the parties (including potential buyers) who view the record or who are interested in the property. – J. S. Jan 9 '17 at 17:28
  • @JS see my update – cropredy Jan 9 '17 at 17:38
  • this is something along the lines of what is called "Trading COmmunity Architecture" by Oracle. – abhi Jan 9 '17 at 19:35

Any Company or Organization can be configured as `Account'.

Buyer and Seller, if those are kind of organizations then you can configure them as Account. But if those are person, then configure them as Contacts.

You can create two recordtypes for buyer and seller respectively. Recordtype will have separate pagelayouts corresponds to buyer or seller.

From UI, at the time changing the recordtype, you will be presented to the pagelayouts based on recordtype and you can enter the details and save record.

Opportunity Contact Role consists of those contacts who help to mature the Opportunity. Those contacts may or may not part of the Account on which Opportunity is Linked to.


Account1-->Contact1 and Account1-->Oppty1

Account2--> Contact2 and Account2--> Oppty2

In the Oppty1, you can define, Opportunity Contact Role for Contact1 as 'Product Manager' and Contact2 as 'Director'


According to your update, you can just define a picklist which defines Buyer or Seller or Both (with history tracking option enabled), without changing recordtype. This history tracking will give you the details when the Account has been changed from Buyer to Seller or vice versa.

  • Thanks so much for your feedback, Santanu, especially: "Now, for a specific recordtype say Buyer, you are capturing fields during create/update operation and those fields are not available in Seller page layouts then you might face issue during changing recordtypes from the UI." – J. S. Jan 5 '17 at 22:46
  • I have updated my ans – Santanu Boral Jan 5 '17 at 22:47
  • You can easily configure and change the recordtypes. – Santanu Boral Jan 5 '17 at 22:49
  • see the updated ans, based on your updates – Santanu Boral Jan 5 '17 at 23:00
  • Thanks, Santanu. Your suggestion is interesting: to use a picklist to switch the buyer and seller roles back and forth as needed, with history tracking enabled on the field. However, this solution is "imperfect" in that it doesn't allow for the situation where an Account is both a Buyer and a Seller simultaneously, something that is probably not that uncommon. You're a good person for taking the time to help me. – J. S. Jan 5 '17 at 23:04

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.