I have a requirement where my website serves both products and services. I am using Drupal e-Commerce module for the same. It works perfectly fine for Products where we can set price for each product and user checks out from cart.

However, Services differ in their workflow. Each service product for ex: Electrician, will be associated with a service resource person, let's say Mr. XYZ. Now following are the requirements:

  • Service Person is allocated to a service request product.
  • The price of the service will be estimated after the service is provided.
  • Rating & Reviews provided in case of service should be attributed to the Service resource as against that of the Product where rating is associated with a product.
  • The price for a provided service has to be updated to the Order after the service is completed.

These differences are identified for starters, many more complex things might come in future. I have searched enough and I could not find a module which would satisfy the needs of both products and services. In fact, there is none for services. Is there a way to achieve what I want?

  • Drupal has multiple commerce solutions. Are you using Drupal Commerce, Ubercart, or something else?
    – daviedos
    Commented Feb 9, 2015 at 18:47
  • I have checked both, none of them is able to help me achieve what I am trying to do. Commented Feb 10, 2015 at 5:30

2 Answers 2


First up, I acknowledge that this is only half an answer - but as your question has received no attention as yet, I'll do my best.

The way I would structure a site to do this kind of thing is:

  1. Create a content type for Service Person
  2. Create a content type for Service Request that contains an Entity Reference field for allocating a Service Person
  3. Don't create an order until after the Service Request has been completed, in this way the order can be crafted with the correct price

A couple of things to note:

  • You'll probably need to write a custom module to handle permissions so that the Service Person allocated to a specific Service Request can create orders (effectively invoices)
  • You may need to make your own ratings module that specifically targets the allocated Service Person rather than the Service Request.

enter image description here

  • Thanks for the guidance, this would be good for starters, atleast I am sure now that there is nothing which already exists to fulfill my requirements. Commented Feb 13, 2015 at 7:16

Agree with the above and I would also add several suggestions: - use Taxonomy and Taxonomy Access Control modules to control access to content and who can update which service node - use Computed Field module that would take a value from related content to change a value (price) of the service/order depending on who did the work and what was the final price

Also, maybe this problem should be approached from a different angle? Maybe the service "product" should still be sold through e-commerce but instead of being "sold" would be "ordered" first, service performed and only then the final price updated, sold and ready for payment? Possibly that would require adding extra step in the checkout or allowing people to "order service" (Service would be a content type that people could assign to themselves as the "buyer") and only when performed and price was assigned, the Service would go through regular e-commerce checkout process with payment mechanism.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.