Couple of questions on best practices (leads to accounts, contacts and contracts)

I am in the process of (re)configuring suitecrm (8.8, upgrade went almost flawlessly, special character bug which showed up in 8.7.1 is gone, thanks) and I have a few questions regarding best practices (or what I am missing in my thinking):

General idea is that I have a number of customers who might be natural persons or companies, and with each of them I can sign a contract (one or more), including possibility that one natural person will represent more than one company, or a case where I will have a contract with both company and natural person representing it (or one person might represent more companies). As is my understanding, companies will be converted from leads to accounts, and natural persons from leads to contacts.

Now my questions are:

  • If I have a lead, default setup does not allow conversion of a lead IF I do not create account as well? Why is that and how can I allow creation of a contact without creating an account?
  • Contracts (which is most similar to the relationship I have with my clients) can be signed between companies and me, or with natural person and me. How can I allow contract to be assigned to natural person/contact?
  • When I create contract, it has a number of documents associated with it (contract, addenums, different certificates and such), but when I go to account/contact view - it will list my existing contracts with a client, but documents subpanel will not show documents at all, is there a way to see subpanel with list of all documents related to that account/contact (if this documents are tied to a contract)?

What are the best practices for resolving this issues? Any pointers?

p.s. I am also looking for a (easy) way to record interactions with my contacts. The thing is that we do not use fixed phones anymore so I am looking for some app on my android(s) which will export call log to suitecrm (and possibly export SMS messages as well, if I can import unanswered calls too and make tasks out of it, that would be great too).

just a quick answer to a small part of your questions - I use QuickCRM on Android, it really facilitates connecting your mobile phone actions to the CRM’s History/Activities.

1 Like

Looking item by item, I found following and very old forum post on how to allow lead to contact conversion without forcing account creation:

https://community.suitecrm.com/t/suite-crm-free-version-are-these-possibilities-available/79517/4

I wonder if I can do the same during contract creation (in order not to force account association with new contract).

Also, this method includes changes in php code, which means that with any new version of suitecrm this change will be overwritten and I wonder if there is a smarter (and upgrade-proof) way of doing this (this posts are old, solution is 10 years old)?

Despite being old, I believe that solution should work. Note that it is upgrade-safe, since it changes files only under the custom directory.

Remember to adapt the paths mentioned in those posts by adding public/legacy to the beginning, that’s where v7 lives inside v8.

About the rest I can only give you exploratory tips… Some of the things you ask about might benefit from the creation of extra relationships between your modules. Try playing around with that.

Also consider dropping one of the modules to simplify things. What I mean is, sometimes you can get away with using just accounts or contacts, not both; or dropping Contracts and just add a few custom fields in the documents module and use it directly to store your contract files in Accounts, for example.

I hope this helps.

1 Like

Thanks for the tip. So as I understand, anything within custom directory will not be overwritten during the upgrade?

I also found additional but new reference to this question (I think same or very similar) here:

https://community.suitecrm.com/t/account-name-in-lead-convertion/98231

So you propose that I try to make different relationship between documents and contacts/accounts in order to show them up in documents subpanel of a contact/account?

I understand your thinking, but in my case, there are so many possibilities (one account having many contracts, one contact having many contracts and one contact having relationship with more than one account). Now when I multiply that with number of contacts and accounts and all of the different data I need to collect depending on the type of entity, maybe it makes sense to have it in separate modules.

Hello MRakar,

overall, that might need some data architecture workshop.

There are some tentative red flags, that can’t be easily handled in CRM projects (not only Suite).

  • One contact works in multiple accounts.
    If you want to use the standard relationship, that one won’t work. It’s a 1:n relationship.
    There are basically two approaches to that issue:
    • n:m relationship (1 person - like a freelance sales rep represents multiple companies and uses one phone number and one email)
      If it’s a freelancer, you could setup this freelancer as a contact + account as well and then have an account to account relationship to solve this issue.
    • Duplicate contacts (1 person stops working for company x and starts working at company y with a new email, new phone)

In cases like these, I usually like to conduct a workshop, go through the business processes and requirements and see how to setup the CRM.
If you deviate from the standard, you’re maneuvering yourself into a dead end - which technically could work, but you might not easily get out of there and might not be able to use other standard processes of the CRM.

As for the contracts:
You’ve got a 1:n relationship between contacts and contracts as well as accounts and contracts.
If you see the contract module as the pure meta / management data for your contracts, you should be save there?
Additionally, you can upload as many documents as you need and relate them with one contract (or contact or account - as it fits your needs).
The Required Field for the account at the contract, you can just set it to not required in the studio.

Again, looking into your business processes: Where do you contracts come from? Do you have some digital commerce processes in place and can integrate the CRM via API or similar?
Overall: Multiple contracts per contact and account works just fine - but there might be some status fields (e.g. account has active contracts) that you’d like to compute in order to work with them.

About the lead conversion: You don’t need to use the lead conversion.
You can just create two workflows - when you set a B2C lead to the status converted, the workflow can automatically create your contact.
Same for the account. (or do it all manually if it doesn’t happen frequently).

As for customizations:
Yes, you can - but make each one go through a thorough evaluation process.
Do you really need it? Could your business processes be streamlined? Are you building complex code for very special edge cases in your business?

1 Like

This is a really good advice, I will try to think about it and keep it in mind (and possibilities to resolve it). I am not entirely sure on how often this might happen but I am sure it might. Think of it as a manager of more than one company and they want to have contract with you through more than one legal entity/account. So in this case, you will deal with single contact but this contact might be related to more contracts spread through different accounts.
I do see how this kind of relations would make accurate distribution of messages and activities very hard to resolve.

Agree, simple change in rules will fix this issue. Simple enough to implement.

In my case this is a completely manual, cold call/letter acquisition process -there is also a web site and also possibility that someone might send email, but generally future customers will be acquired through very oldfashioned postal letter.

I will obviously have to examine workflows, this is the part of suitecrm I haven’t touched yet.

I really appreciate your input (and will likely get back after some learning&testing).