I have multiple Sellers at different locations in the country. They package and ship their products that were ordered. I pay the shipping via my shipping account. Based on the info that I gathered, it should be possible for each seller to fulfill his/her own order, that is, define packages, and enter tracking numbers for each package. I would also like the customer to be able to see the status of each package in an order (i.e. 2 packages with the following packing slips (no. 88 & 89)) have been shipped, one with the following packingslip (no. 90) has be paid, but not shipped yet.

I have the following problem: When logged on as the Seller, I see all his products, I see the orders for him (via my account/fulfill your orders, but I cannot see where he can define packages, and enter tracking numbers for these packages. All I get is a tick box to indicate shipped or not. As Administrator I can see an icon at orders/view order/package order to do what I think the Seller should be able to do. Should it work like this? If so, what am I doing wrong?

Comments

kiepersol’s picture

I have not found a solution yet.Am I misunderstanding?

gibbser’s picture

I have the same problem, and no solution.

Turgrid’s picture

Category: support » feature

Just to confirm, this simplification of the seller fulfillment process was by design in the 6.x version because of feedback that making sellers package packages and ship packages was too complicated. I guess from your feedback, the option to enable the functionality of the 5.x fulfillment setup should be created and as such, I have marked this a feature request.

kiepersol’s picture

Turgrid, thx, much appreciated.

cl87’s picture

Is this feature available yet?

Create packages and shipment with details is crucial feature of my development.
Subscribing....
Thank you

melchoir55’s picture

Is there any solution for allowing your sellers to ship products (enter tracking numbers and mark product as shipped?)

I don't understand why this would be removed. Any site with multiple sellers will need to allow them to enter tracking numbers and mark their own orders as shipped. Am I misunderstanding #3?

A quick fix for me here is if someone would give an idea of how we could simply copy and paste the functions from the admin/store admin/orders page into our seller's order page. I'm talking about the buttons "package order # products", "ship order # products", etc.

melchoir55’s picture

I think I found the code block in mp_orders which creates the table for each seller's fullfillment page. What is really weirding me out is that it looks as if packaging and shipping are actually in that code! Why is it, then, that only icons for packing slip and view order are showing up?

/**
 * Return the actions a seller may perform on an order.
 */
function mp_orders_actions($uid, $order_id, $status) {
  static $added = FALSE;
  if (!$added) {
    drupal_add_css(drupal_get_path('module', 'mp_orders') .'/mp_orders.css');
    $url = url('user/'. $uid .'/selling/fulfill');
    drupal_add_js("function open_packingslip(order_id) { window.open('". $url ."/' + order_id + '/print', '". t('Packing slip') ."', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=480,left=50,top=50'); }", 'inline');
    $added = TRUE;
  }
 
  $actions[] = array(
    'name' => t('View'),
    'url' => 'user/'. $uid .'/selling/fulfill/'. $order_id,
    'icon' => '<img src="'. base_path() . drupal_get_path('module', 'uc_store') .'/images/order_view.gif" alt="'. t('View order !order', array('!order' => $order_id)) .'" />',
    'title' => t('View order !order ', array('!order' => $order_id)),
  );

  if (module_exists(mp_shipping)) {
    if (db_result(db_query("SELECT COUNT(p.nid) FROM {uc_order_products} AS p LEFT JOIN {node} AS n ON n.nid = p.nid WHERE n.uid = %d AND order_id = %d AND data LIKE '%%s:9:\"shippable\";s:1:\"1\";%%'", $uid, $order_id))) {
      $actions[] = array(
        'name' => t('Package'),
        'url' => 'user/'. $uid .'/selling/fulfill/'. $order_id .'/packages',
        'icon' => '<img src="'. base_path() . drupal_get_path('module', 'uc_shipping') .'/images/package.gif" />',
        'title' => t('Package order !order products.', array('!order' => $order_id)),
      );
    }
    if (db_result(db_query("SELECT COUNT(p.package_id) FROM {uc_packages} AS p LEFT JOIN {mp_seller_packages} AS sp ON p.package_id = sp.package_id WHERE sp.uid = %d AND order_id = %d", $uid, $order_id))) {
      $title = t('Ship order !order_id packages.', array('!order_id' => $order_id));
      $actions[] = array(
        'name' => t('Ship'),
        'url' => 'user/'. $uid .'/selling/fulfill/'. $order_id .'/shipments',
        'icon' => '<img src="'. base_path() . drupal_get_path('module', 'uc_shipping') .'/images/ship.gif" />',
        'title' => t('Ship order !order packages.', array('!order' => $order_id)),
      );
    }
  }

  foreach ($actions as $action) {
    $output .= l($action['icon'], $action['url'], array('attributes' => array('title' => $action['title']), 'html' => TRUE));
  }

  $output .= l(uc_store_get_icon('file:print'), 'user/'. $uid .'/selling/fulfill/'. $order_id .'/print', array('attributes' => array('title' => t('View packing slip.'), 'onclick' => 'open_packingslip('. $order_id .'); return false;'), 'html' => TRUE));
  
  return $output;
}

I have tried overriding this code in my theme template.php
Nothing I do to this function changes the output I see on the page. I can delete the entire function and replace it with output "I'm pretty" and there is no effect on the output of the fulfillment page.

Is this function just not being called anymore? If not, why isn't there a comment in the code stating that? I am very confused by the situation.

cl87’s picture

it is because the packaging and shipping can only access by admin (uid=1), but other user not able to view it.....

melchoir55’s picture

Is that written in the db query? I confess that the query is the one thing in this code I cannot read.

This would also mean that if an admin visited a user's order fulfillment screen, or the admin's own fulfillment screen through his profile, then the admin would see those extra buttons, but that isn't the case. I can only see those buttons in admin>store>orders regardless of who I am logged in as.

melchoir55’s picture

Could someone please point out the reason this code isn't displaying the packaging and shipping buttons? I have confirmed this code is responsible for printing the buttons, but I can't figure out why it doesn't print the packaging and shipping ones. The code is there, they just don't print. I'll happily start work on a patch I just need to know the problem...

cl87’s picture

I not sure whether I found the cause, discover that the why packages and shipping is not working for seller.

if (module_exists(mp_shipping)) {

the mp_shipping module is not available at marketplace version 6 but only 5, which create mp_seller_packages table during installation of mp_shipping that handle marketplace shipping.
But why the admin able to fulfill? It might because of the fulfillment for store owner might handle by uc_shipping module.

But I'm not sure whether my findings are correct or not, could someone please help.
Appreciate for any help or hints.

Thank you.

Mixologic’s picture

So here's what Im seeing.:

if (module_exists(mp_shipping)) {

Yes, this is checking for the non-existant mp_shipping module. Not to mention its doing it wrong. Should be

if (module_exists('mp_shipping')) {

however even if you change that to ('uc_shipping'), the issue is that the entire mp_shipping module did not get imported from D5. Its about 700 lines of code, which is a heck of an undertaking, as basically you have to handle splitting up all the packages and shipments between the sellers. In other words, artifacts of the buttons are still floating around in the D6 code, but none of the functionality exists.

Stomper’s picture

This feature is also very important to my application. I would like each seller to be able to post a shipping status update with shipping/tracking number to the buyer.

Additionally, I would like to use this to for use in an escrow module (discussed on mp_wallet thread) where the buyer deposits funds to the escrow, the seller posts tracking number, once the buyer receives product, can authorize release of funds to seller.

potschntom’s picture

Hello,

This feature would also be very important for our ordering process, and would save us a lot of work.
We would also need the functionality to tell the seller if he/she should send the goods directly to the customer or if we organice the transport.

I will offer any support I can give.

best regards Tom

yvesdc’s picture

Hi, appreciate the marketplace module enormously, so thanks to the contributor for the work there. It would be great to be able to implement the packaging and tracking if desired so if there are any changes to this status I would love to know and happy to support with any help I can give.

Chokti’s picture

Is there any development on this feature? It would be very helpful. Thanks.

scottbaetz’s picture

Please advise if I am reading this correctly.

In 5.x it would be possible for a seller to enter in the packaging information - to include the tracking information. There was a decision in the upgrade to 6.x to eliminate this. Reasons don't matter, I want to confirm this is the case.

If I am correct, am I to understand that the original source code can be found in the 5.x version, but would need to be updated?

If there is an interest, perhaps our organization can do this, but we would want a bit of a head start, perhaps a quick web conference with the current support team to give us the framework.

This updated version could be provided as an alternate dev version or fork of Marketplace.

Which is an AWESOME module, but like many turns out we really want this feature.

fortmac’s picture

I dont understand how the marketplace module is even functional without vendors being able to ship products.

edit: To make this comment more productive: has anyone figured out any meaningful workarounds to this issue?

fehin’s picture

Shipping is the major issue with marketplace module, even in 6x. The ability for sellers to be able to set their own shipping rate for multiple destinations is important as sellers will be based in several places.

scottbaetz’s picture

Fortmac,

Uh - unfortunately no. We have a site with only 5 vendors - with about 20 waiting to join - selling at least 10 orders per day. We are about to undertake the port of the 5.x to 6.x. Until that is completed, we literally have requested the vendors to email us the order tracking numbers - which we MANUALLY (yup - that's unreal right) enter the order updates.

Nightmare....

Scott B.

nyleve101’s picture

relaxpor’s picture

This feature is a needed feature. I will find the way to figure it out.

kayusee’s picture

I think the only thing missing from the module is the lack of permission to grant sellers access to view own shipping orders and make packages for shipping. The code already exists in the module. If you grant sellers admin permission for shipping (which I did in Ver. 7 dev, when trying to troubleshoot the problem) seller will have access to view the page, make packages and enter the tracking number, but the downside is that the seller will have access to all customers and not just his own customers, which is dangerous.