OroPlatform Forums

Covering OroPlatform topics, including community updates and company announcements.

Forums Forums OroPlatform OroPlatform – Programming Questions Best Practices – Where should I storage a clients list?

This topic contains 4 replies, has 3 voices, and was last updated by Artem Liubeznyi Artem Liubeznyi 5 years, 6 months ago.

Starting from March 1, 2020 the forum has been switched to the read-only mode. Please head to StackOverflow for support.

  • Creator
  • #33801


    Hi guys,

    OroCRM has different entities to storage customer information.

    “Contacts, Accounts, Web Customer, B2B Customer, Leads, Opportunities”. It’s a kind of confuse to me to figure out where should I import customers because in some parts of the system one entity are required by another.

    – To create a Opportunity, I have to select a “B2B Customer”
    – To create a B2B Customer, I have to select an “Account”

    So, I have 2 questions:

    1) If I have a list of customers, and I want to use these customers to all OroCRM features, i.e: Create Leads, Opportunity, etc. Where should I import my .csv list?

    2) I know that all process lives under the table oro_process_definition.actions_configuration as (base64 + json) data. But, how can I create a new process? I need something similar with that process that creates an Account\Contact from a Magento WebCustomer, but I’ll need to create an Account when a new customer is created.

    Thank you!

Viewing 4 replies - 1 through 4 (of 4 total)
  • Author
  • #33802
    Yevhen Shyshkin
    Yevhen Shyshkin

    Hello, Rodolfo.

    I can answer your second question about processes. You can create process definition (like this one) that will be triggered during creation of your customer (or any other entity). If you have several ways to create customers (e.g. based on different entities) then you can create several processes and activate/deactivate them when it’s required.



    Hello @yshyshkin,

    Great idea using .yml to define processes! I’ll try to replicate it.
    Thank you for the answer!


    Yevhen Shyshkin
    Yevhen Shyshkin
    Artem Liubeznyi
    Artem Liubeznyi

    Hi Rodolfo,

    As for your first question: Our default entity relationship should look the following way.

    First, there are channels of various types and each channel brings its own type of customer entity into the system. For Magento channels there are Web Customers, for B2B channels there are B2B Customers, each with its own set of attributes and relations.

    The Accounts are supposed to work as an “umbrella” entity for all kinds of customer identities across channels and tie them all into a single multi-channel account. The account itself does not store much data, only name and description, and all data that has some value CRM-wise is stored on the customer level.

    So, to answer your question: You have to import the CSV list with customer data into B2B Customers, but in order for import to be successful you have to create respective Accounts for all these customers first. I’d suggest you have first imported the CSV list of Accounts with just names and then imported B2B Customers.

    (On a side note: We know this is not the best user experience and will try to fix it soon. We have a story in our roadmap that should allow users to import just a customer list and create accounts on the fly.)

    Hope this explanation helps. If you have additional questions please do not hesitate to ask.


Viewing 4 replies - 1 through 4 (of 4 total)

The forum ‘OroPlatform – Programming Questions’ is closed to new topics and replies.

You will be redirected to [title]. Would you like to continue?

Yes No