I’m about to start on a project that will be a complete rebuild of a site for a company that is a big player in its field. I’m pretty confident about building most of the site in Expression Engine but there some fairly specific, custom requirements around ordering product samples. I wanted to ask about these to make sure that I can achieve all of this in EE. Here are the requirements.
The site needs to display full details on the products the client has and allow users to order samples. All fairly straight forward except that all orders need to be created and placed into a CRM the customer uses through a SOAP web service. Eventually registered users should be able to see details of the orders they’ve placed, again accessed through the SOAP service.
The site should also have the ability for customer services to log in and they have to be able to achieve two tasks when doing this. Newly registered customers need to have their accounts approved by customer services before their orders are placed into the CRM system. Customer services should also be able to create orders for clients who call them in via phone or fax. Some of these clients may be registered with the website, others won’t be and customer services will need to be able to create user accounts for clients who can then log in later.
I know that this will involve a lot of customisation of EE and I’m not afraid of that as I’m an experienced PHP developer. Does all of this sound possible within EE though? My other option would be to split the entire sample ordering process into its own application, integrating this tightly with the main website that’s run using EE. I’d really appreciate any thoughts on all of this before deciding the best way to approach this site.
Moved to Development and Programming by Moderator
Hi JCook21,
Can I ask what CRM you are using? I know there is an add-on for SugarCRM. I have never seen one other than that so there would be quite a bit of work involved especially as you wish to add a level of ecommerce to it
If you were to take the CRM out of the picture for a minute then it would be straight forward.
You could install a shopping cart such as Cartthrob which allows you to use EE entries as products.
Newly registered customers need to have their accounts approved by customer services
EE’s Member Module allows for registrations to go into a pending state that can be manually approved before being allowed to purchase anything.
Customer services should also be able to create orders for clients who call them in via phone or fax. Some of these clients may be registered with the website, others won’t be and customer services will need to be able to create user accounts for clients who can then log in later.
All orders trough Cartthrob are put into their own Channel so this is possible and out of the box you can register members through the backend
Off the top of my head depending on your CRM the easiest approach I would take is maybe export all recent customers and orders via a hidden template and have your CRM import that URL via a cron job a couple of times a day but really depends on your CRM
There is a another e-commerce solution for EE called BrilliantRetail. What I explain bove is just going on my own experience with Cartthrob but you would need to follow-up with the authors of both to see if this is possible.
So steps I would take is 1) Research both shopping carts 2) Check out import options for CRM 3) Take into account how customers are going to be paying for samples
I hope that helps as a start
Thanks everyone and sorry to take a little while to get back on this. I’ll take a look at the info provided when I get a moment and will post back with any more questions/thoughts. Unfortunately the CRM is SalesNet, not SugarCRM. The idea of having a hidden template and a cron job to export orders a couple of times a day seems like a good one though…
Sorry to take so long to get back on this one. I have a better idea of the requirements for this now and have a few more questions.
If I was to use the built in member functionality for EE would it be possible for the user to place an order and to have the order held until their account is confirmed? Would it be easier to say that users have to register, and be confirmed by customer services, before they can place sample orders? The latter approach might be easier but I’m not sure if the client would like it as it would place restrictions on how users browse the site.
One requirement is that details of orders are updated as they move through the SalesNet CRM system. For example, once an order has been dispatched it has a tracking number added to it in SalesNet. Would it be possible to import this into EE and have it shown alongside the order? If so what would be the best option to do this once I have extracted the info from the SalesNet SOAP API? The same would go for updating the order status once it has been exported to SalesNet. I could manually update the EE database but would rather avoid this if possible in case of any potential issues…
The client wants customers to get emails once the order is placed, when a tracking number is generated and one week after the expected delivery date. Can this all be set up and automated in SalesNet?
The client wants there to be an address book functionality for each user since sample orders can be sent out to multiple people in the same company. These must be updateable and automatically synchronised with SalesNet. Is this possible and how might it be achieved?
Along with viewing previous orders a logged in user should be able to take individual samples and group them into projects to view items together. These need to be saved and retrieved later, possibly with the option of adding all items to the cart. Can this be done in EE and how might I look at doing it?
Those are the main stumbling blocks I can see for now with this. Any ideas on how these might be achieved in EE with one of the e-commerce plugins would be greatly appreciated.
It would be easier if you had members go through different membership levels either by an admin modifying their access or by using a shopping cart to change their access.
You’d need to be able to write code to generate that number you need and show in EE and or your third party item. We can’t assist with doing that here in this forum, but we do have a Developer forum where other members of the community can assist. I’d probably just move this thread there.
I have no idea how to use SalesNet, so I can’t comment on that.
Again, no knowledge of SalesNet.
You’d need to tie in orders to a user based on their login name, this would be more of the kind of functionality a shopping cart would do. Would you be using the Simple Commerce module or something more robust?
Moving to the Developer forum…
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.