Discussions

Seting up distribution network/shop

Hi,

first of all many thanks for creating such a flexible framework for Drupal.

I want to create/program an internet shop, which channels the products from the supplier to the end customer. For this service the shop owner takes a commission.

The internet shop should implement the following workflow:
a) the customer navigates to the internet shop
b) the customer chooses an item in the shop and proceeds to the check out
c) the customer pays for the item
d) the payment goes to the shop owner
e) the shop owner (or system) confirms the receipt of payment
f) the shop system generates a purchase order for the item to the supplier with the delivery address of the customer.
g) the shop system pays the supplier the wholesale price for the item.
h) The supplier ships the item to the customer (this step is not part of the shop system)

In this workflow, the shop owner does not need to have a warehouse and to stock items. All the shop is responsible for is to attract customers, do marketing on the products, and sell. Basically the shop performs a function of the middle man.

I plan to have multiple supplies. The suppliers should maintain their items (wholesale price, availability, description) in the shop catalogue themselves. The shop system should add price increase (commision) on the items (say 15%, for customer acquisition and support) and displays only the final prices to customers. The customers should not see the wholesale price.

The supplier should be able to log in into the back-office and view modify his products ONLY. I plan to host the backoffice on a different domain as the shop for two reasons (performance for supplier operations, and so that suppliers do not immediately see the end prices / competitive products in the shop).

I looked at OpenCart and PrestaShop, which do not seem to offer this functionality out of the box and would require significant modifications. Drupal Commerce seems to offer most flexibility and for this reason i want to give it a go for building this type of shop.

QUESTIONS:
1. Is it possible to implement such EShop using Drupal Commerce without significant programming?
2. How to implement the commission on products? I have considered using VAT/TAX functionality, however not sure how to disable cost-breakdown visible to the customer.
2. How to separate products at the backoffice for suppliers so that they can see/manage their products ONLY and not those of the competitor?

I would appreciate any reply,
Thanks,
J.

Posted: Aug 31, 2011

Comments

Dutchlish on October 22, 2011

Hi J,
Thank you for your great post! I am planning to build a very similar setup and am looking at Drupal Commerce to build it with. At present my project is still in it's infancy but I'm keen to hear your findings (if any) and tips.
Feel free to contact me via this site should you wish to discuss further.

Anyway, good luck with your project.

Prince Manfred on October 24, 2011

Disclaimer: I've never setup a store where multiple users can add/edit products.

Now that that's out of the way.

a) the customer navigates to the internet shop
Easy ;)

b) the customer chooses an item in the shop and proceeds to the check out
Very basic to setup

c) the customer pays for the item
There are some good payment modules that already exist for Drupal Commerce. You can check out what's already available by going to the add-ons section of this site. http://www.drupalcommerce.org/contrib

d) the payment goes to the shop owner
You'll setup this part with the module you select for c).

e) the shop owner (or system) confirms the receipt of payment
Drupal Commerce is informed by the payment module upon successful completion of a transaction.

f) the shop system generates a purchase order for the item to the supplier with the delivery address of the customer.
Here's where you'll have some coding to do. On the site I'm working with, every time an order is completed successfully (there's a hook to easily trigger some code when this happens) we log the order information in a database to be processed later. Each time cron runs we generate a file with the orders in that database and send it off for processing. The way you'll implement this will really depend on what methods are available from your suppliers for making purchases.

g) the shop system pays the supplier the wholesale price for the item.
If your suppliers can automate payment for you then this will probably be automatic when you submit what needs to be ordered in step f). Otherwise you might need the suppliers to bill you on a regular basis (weekly, monthly, etc?). Either that or also send yourself a copy of all invoices generated for the suppliers and pay them manually.

Adding on an extra % to the price would be as easy as creating a Rule for the event "Calculating the sell price of a product". It's really simple.

As for the multiple suppliers, Drupal Commerce has permissions available to allow users to create and edit only products that they own. I haven't tried it but it seems that it would be as easy as creating a new user role that has those permissions.

I'm not sure what to do about the suppliers logging in on a different domain. You could probably have two separate servers that point to the same database. At that point, performance wise, you'd probably be better off throwing in a load balancing server and having everyone go to the same domain. Are you planning on them never finding the customer facing site? If you don't want them to ever see what you actually sell the product for (outside of finding the site themselves) I don't have any ideas that don't require a lot of coding.

Hope this is helpful in some way.