Completing Orders in WCfM Marketplace vs Other Multi-Vendors

We're shifting our Forum based support to a more dedicated support system!

We'll be closing our Forum support from 10th June, 2020 and move to Email Support assistance.

  • If you are a WCFM premium add-ons user, contact us- here
  • Want to know more before buying our add-ons? Send Pre sale queries- here
  • If you are a WCFM free user, please open a support ticket at WordPress.org
  • For WCFM App related queries, reach us- here
From now the forum will be read-only!

Viewing 13 reply threads
  • Author
    Posts
    • #28967
      d-n-13
      Participant

      Hello good wclovers team, I hope you’re having a good day with your busy WCfM Marketplace launch !

      Let’s talk about orders system in WCfM Marketplace!

      WCfM Marketplace Method :-

      From what I understood WCfM Marketplace vendors cannot complete orders by themselves, when they click complete then a message will be sent to Admin and Admin have to complete all website orders by himself.. I don’t know what is the point of this and I don’t know how this helps WCfM admin.

      Other Multi-Vendors plugins (Dokan – WCMP) :-

      Vendors can complete orders by themselves, they can withdraw their money without needing admin to complete orders for them (It is a platform for users to create their own stores and sell by themselves without admin actions ), admin only cares about withdraw requests + fraud.

      So.. Why is WCfM Marketplace completing orders method is better than Dokan & WCMP ?

      Kind Regards,
      Khalid

    • #28970
      WCFM Forum
      Keymaster

      Hi,

      Thanks for your cool appreciation and really appreciate your all the kind cooperations 🙂

      Well, order completion.

      Dokan – it generates separate sub-order for each vendors and vendor can mark complete those orders, not the actual parent order’

      WCMp – It does not do this, at least as I remember last time tested. If you tested this using WCFM dashboard then it mark main order completed but by default WC Marketplace does not have this feature.

      WCFM Marketplace – It maintain Admin and Vendor order status separately. Vendor may mark their order status shipped, completed etc.. but that will not change parent order status. Right, Admin get notified of this vendor action and a order not also added.

      Now why this –

      Consider a order has three items from three different vendors.

      1. Suppose a vendor mark his item shipped, then his order status change to “shipped” but not for others and parent order. If you make any change in parent order for this then that will be a bug I guess.

      2. A vendor may refund his item and then his order status change to “refunded”, no id this will right to mark actual order “refunded”?
      Definitely not.

      3. Suppose a customer placed an order but not yet paid, so it’s in “Pending” status. Now vendor just mark his order completed to make main order complete and ask for withdraw commission, Is this right?

      “Vendors can complete orders by themselves, they can withdraw their money without needing admin to complete orders for them (It is a platform for users to create their own stores and sell by themselves without admin actions ), admin only cares about withdraw requests + fraud.”

      – Exactly, vendor will sell their products and handle their order status, why this should effect main order? In normal cases if payment made via PayPal, Stripe etc then main order automatically mark as completed.

      Well, in case you want to sync vendor order status and main order status that even possible. If vendor mark order status complete then main order also marked as complete, this can be possible. It just require to add 2-3 lines code. If you really require please know me, I will give you that code snippet.

      Off course, please know me your thoughts of the case studies.

      Thank You

    • #28979
      d-n-13
      Participant

      Hello, Thanks for the comprehensive case studies, I appreciate you awesome hard work.


      WCMp – It does not do this, at least as I remember last time tested. If you tested this using WCFM dashboard then it mark main order completed but by default WC Marketplace does not have this feature.

      WCMp + WCfM vendor can complete orders (check video : https://youtu.be/uIfcI9NtnQI)


      WCFM Marketplace – It maintain Admin and Vendor order status separately. Vendor may mark their order status shipped, completed etc.. but that will not change parent order status. Right, Admin get notified of this vendor action and a order not also added.

      This requires a lot of work and attention when you have hundreds of vendors.

      Best way is to trust reviews and customers complains & support module, Admin needs to monitor only and not do. when Admin monitor and notice fraud then he shut down stores/vendors.l

      “1. Suppose a vendor mark his item shipped, then his order status change to “shipped” but not for others and parent order. If you make any change in parent order for this then that will be a bug I guess.

      – In Souq.com when I order from multiple vendors it will show me which product is shipped : https://imgur.com/BAI9MQf

      “2. A vendor may refund his item and then his order status change to “refunded”, no id this will right to mark actual order “refunded”?
      Definitely not.

      I don’t understand, I know wcfm refund system if order is completed then vendor cannot ask admin to refund customer anymore, so vendor will have to refund manually to customer, the order will show as Completed to admin.. hmmm in Dokan it doesn’t matter if it is completed, admin will do all the refunding and vendor balance will be deducted and go even below 0, this is good so vendor doesn’t lose commission to admin everytime customer asks for refund.

      Imagine you’re a vendor selling item for 100$ = 90$ for vendor + 10$ for admin. After completing the order the customer asks for refund, now vendor refunds 100$ and loses 10$ ?

      In Dokan if vendor already completed order and requested withdraw and got his 100$, then vendor request refund from admin, admin refund 100$, vendor will have -100$ in his balance because he already received the money. This is so good.

      “3. Suppose a customer placed an order but not yet paid, so it’s in “Pending” status. Now vendor just mark his order completed to make main order complete and ask for withdraw commission, Is this right?

      – This is sooo important ! in WCMP they have filters to hide Pending Payment / On-Hold, after admin receives BACS then he can change it to Proccessing, then Vendor can mark order as shipped – It is a good system and even better when using wcmp + wcfm vendor can complete right away (Check WCMP + WCFM completing order Video : https://youtu.be/uIfcI9NtnQI) – for me I prefer vendor to be able to complete order and not just shipped. Why ? this is a self service system where vendors do all they selling alone, and when they don’t perform well or they try to do act of fraud, then customers will complain and then admin will take actions on shutting store/vendor offline.


      – Exactly, vendor will sell their products and handle their order status, why this should effect main order? In normal cases if payment made via PayPal, Stripe etc then main order automatically mark as completed.

      I will be using PayPal and 3rd party visa payment just like Stripe, so I won’t have an issue. My only issue is not BACS, it is in COD because I need it, and when I have COD I want vendors to complete orders by themselves, I cannot keep track of all the website vendors and orders.


      Well, in case you want to sync vendor order status and main order status that even possible. If vendor mark order status complete then main order also marked as complete, this can be possible. It just require to add 2-3 lines code. If you really require please know me, I will give you that code snippet.

      Yes sir, I need the following :-

      1- Sync order status for all.
      2- Hide Pending Payment / On-Hold from vendors.
      3- Hide change status to Pending Payment / On-Hold from vendors.

      Additional request related to COD and Refunds :-

      1- If COD is completed then commission is added in minus/negative amount to the vendor. ex. (-10$)

      Vendor can pay manually and let the admin know, or he can combine his withdraw requests with the COD. Random ex. (100$ + 30$ + (-10$) + 100$) = 220$ withdrawal request
      If Vendor’s negative amount / COD orders reaches -x amount (ex. -300$) then he cannot withdraw anymore unless he combine it with same or more positive amount or pay manually and notify admin manually.

      2- If Refund is requested or done by vendor after completing an order of [100$ = 90$ for vendor + 10$ for admin] then vendor can refund customer 100$ and 10$ should be added to his withdraw page.

      Sorry for long post, I really have high hopes for WCfM Marketplace.

      Let me know what do you think about my response.

      Thank You

    • #28984
      d-n-13
      Participant

      Note: Issue related to completing order as Admin before Vendor will make the check complete button disappear. Vendor can still change status from inside the order page. https://imgur.com/h8qwu4I

    • #29237
      d-n-13
      Participant

      Hi,

      I hope to hear from you soon regarding 1- Sync completing orders 2- COD commissions 3- Refunds

      after these 3 are sorted for me I only have to integrate 3rd party payment gateway and shipping company with your customization team before I start the final testing phase of the website.

      Thank You wclovers

    • #29809
      d-n-13
      Participant

      Hi,

      I hope to hear from you soon

      Thank You wclovers

    • #29825
      WCFM Forum
      Keymaster

      Hi,

      Sorry for delayed response on this and thanks for your appreciation 🙂

      ”
      WCMp – It does not do this, at least as I remember last time tested. If you tested this using WCFM dashboard then it mark main order completed but by default WC Marketplace does not have this feature.
      ”

      WCMp + WCfM vendor can complete orders (check video : https://youtu.be/uIfcI9NtnQI)

      ”
      WCFM Marketplace – It maintain Admin and Vendor order status separately. Vendor may mark their order status shipped, completed etc.. but that will not change parent order status. Right, Admin get notified of this vendor action and a order not also added.
      ”

      This requires a lot of work and attention when you have hundreds of vendors.

      Best way is to trust reviews and customers complains & support module, Admin needs to monitor only and not do. when Admin monitor and notice fraud then he shut down stores/vendors.l

      ** I don’t understand your reply, how this connected with my response.

      “1. Suppose a vendor mark his item shipped, then his order status change to “shipped” but not for others and parent order. If you make any change in parent order for this then that will be a bug I guess.
      ”
      – In Souq.com when I order from multiple vendors it will show me which product is shipped : https://imgur.com/BAI9MQf

      ** WCFM shipment tracking also shows these info at order details with items, hope you have seen that already.

      “2. A vendor may refund his item and then his order status change to “refunded”, no id this will right to mark actual order “refunded”?
      Definitely not.
      ”
      I don’t understand, I know wcfm refund system if order is completed then vendor cannot ask admin to refund customer anymore, so vendor will have to refund manually to customer, the order will show as Completed to admin.. hmmm in Dokan it doesn’t matter if it is completed, admin will do all the refunding and vendor balance will be deducted and go even below 0, this is good so vendor doesn’t lose commission to admin everytime customer asks for refund.

      Imagine you’re a vendor selling item for 100$ = 90$ for vendor + 10$ for admin. After completing the order the customer asks for refund, now vendor refunds 100$ and loses 10$ ?

      In Dokan if vendor already completed order and requested withdraw and got his 100$, then vendor request refund from admin, admin refund 100$, vendor will have -100$ in his balance because he already received the money. This is so good.

      ** A vendor only ask refund for an order if it’s already not withdrawal or asked for withdrawal, then how loses come in account? Now if Admin still process it’s refund then it can’t be control.

      “3. Suppose a customer placed an order but not yet paid, so it’s in “Pending” status. Now vendor just mark his order completed to make main order complete and ask for withdraw commission, Is this right?
      ”

      – This is sooo important ! in WCMP they have filters to hide Pending Payment / On-Hold, after admin receives BACS then he can change it to Proccessing, then Vendor can mark order as shipped – It is a good system and even better when using wcmp + wcfm vendor can complete right away (Check WCMP + WCFM completing order Video : https://youtu.be/uIfcI9NtnQI) – for me I prefer vendor to be able to complete order and not just shipped. Why ? this is a self service system where vendors do all they selling alone, and when they don’t perform well or they try to do act of fraud, then customers will complain and then admin will take actions on shutting store/vendor offline.

      ** Vendor may not ask for withdrawal with their order status, here main order status checked, which you have set at WCFM Admin Setting -> Withdrawal setting

      ”
      – Exactly, vendor will sell their products and handle their order status, why this should effect main order? In normal cases if payment made via PayPal, Stripe etc then main order automatically mark as completed.
      ”

      I will be using PayPal and 3rd party visa payment just like Stripe, so I won’t have an issue. My only issue is not BACS, it is in COD because I need it, and when I have COD I want vendors to complete orders by themselves, I cannot keep track of all the website vendors and orders.

      ”
      Well, in case you want to sync vendor order status and main order status that even possible. If vendor mark order status complete then main order also marked as complete, this can be possible. It just require to add 2-3 lines code. If you really require please know me, I will give you that code snippet.
      ”

      Yes sir, I need the following :-

      1- Sync order status for all.

      ** Add this code for the purpose –

      function wcfmmp_vendor_order_status_updated_custom( $order_id, $vendor_id, $order_status ) {
      	global $WCFM;
        	
      	if ( wc_is_order_status( $order_status ) && $order_id ) {
      		$order = wc_get_order( $order_id );
      		$order->update_status( str_replace('wc-', '', $order_status), '', true );
      		
      		// Add Order Note for Log
      		$shop_name =  $WCFM->wcfm_vendor_support->wcfm_get_vendor_store_by_vendor( $vendor_id );
      		$wcfm_messages = sprintf( __( '<b>%s</b> order status updated to <b>%s</b> by <b>%s</b>', 'wc-frontend-manager' ), '#<a target="_blank" class="wcfm_dashboard_item_title" href="' . get_wcfm_view_order_url($order_id) . '">' . $order_id . '</a>', wc_get_order_status_name( str_replace('wc-', '', $order_status) ), $shop_name );
      		$comment_id = $order->add_order_note( $wcfm_messages, '1');
      		if( wcfm_is_vendor() ) { add_comment_meta( $comment_id, '_vendor_id', $vendor_id ); }
      		
      		$WCFM->wcfm_notification->wcfm_send_direct_message( -2, 0, 1, 0, $wcfm_messages, 'status-update' );
      		
      		do_action( 'woocommerce_order_edit_status', $order_id, str_replace('wc-', '', $order_status) );
      		do_action( 'wcfm_order_update_status', $order_id, str_replace('wc-', '', $order_status) );
      	}
      }
      add_action( 'wcfmmp_vendor_order_status_updated', 'wcfmmp_vendor_order_status_updated_custom', 50, 3 );

      2- Hide Pending Payment / On-Hold from vendors.

      ** Add this code, but this will after WCFM 5.0.5, this will respect withdrawal allowed order status at Orders list –
      add_filter( 'wcfmmp_is_allow_order_status_filter', '__return_true' );

      3- Hide change status to Pending Payment / On-Hold from vendors.

      ** Add this code for the purpose –

      function wcfmmp_allowed_order_status_custom( $order_status ) {
      	if( isset( $order_status['wc-pending'] ) ) unset( $order_status['wc-pending'] );
      	if( isset( $order_status['wc-on-hold'] ) ) unset( $order_status['wc-on-hold'] );
      	return $order_status;
      }
      add_filter( 'wcfm_allowed_order_status',  'wcfmmp_allowed_order_status_custom', 50 );

      Additional request related to COD and Refunds :-

      1- If COD is completed then commission is added in minus/negative amount to the vendor. ex. (-10$)

      Vendor can pay manually and let the admin know, or he can combine his withdraw requests with the COD. Random ex. (100$ + 30$ + (-10$) + 100$) = 220$ withdrawal request
      If Vendor’s negative amount / COD orders reaches -x amount (ex. -300$) then he cannot withdraw anymore unless he combine it with same or more positive amount or pay manually and notify admin manually.

      ** We are not yet decided how this can be handled, I will update you soon on this.

      2- If Refund is requested or done by vendor after completing an order of [100$ = 90$ for vendor + 10$ for admin] then vendor can refund customer 100$ and 10$ should be added to his withdraw page.

      ** A vendor only ask refund for an order if it’s already not withdrawal or asked for withdrawal, then how loses come in account? Now if Admin still process it’s refund then it can’t be control.

      Thank You

    • #29826
      WCFM Forum
      Keymaster

      I have added my comments after “**”

    • #29830
      d-n-13
      Participant

      Hi

      Thanks alot for the most amazing support, I will make my reply simple.


      ** Add this code for the purpose –

      – Thanks it works 90% it has 2 issues.

      1- If admin complete the order it will not update for Vendor. (important)

      2- If admin complete the order the Mark Complete button gets removed.

      – Screenshot : https://www.dropbox.com/s/63kjywv6pw7zp0e/orders.JPG?dl=0


      ** Add this code, but this will after WCFM 5.0.5, this will respect withdrawal allowed order status at Orders list –

      – I will wait for 5.0.5, when it is expected to release ?


      3- Hide change status to Pending Payment / On-Hold from vendors.

      ** Add this code for the purpose –

      – Thanks


      1- If COD is completed then commission is added in minus/negative amount to the vendor. ex. (-10$)

      Vendor can pay manually and let the admin know, or he can combine his withdraw requests with the COD. Random ex. (100$ + 30$ + (-10$) + 100$) = 220$ withdrawal request
      If Vendor’s negative amount / COD orders reaches -x amount (ex. -300$) then he cannot withdraw anymore unless he combine it with same or more positive amount or pay manually and notify admin manually.

      ** We are not yet decided how this can be handled, I will update you soon on this.

      – I’ll be waiting to hear from you, it is important.

      Thanks.

    • #29957
      d-n-13
      Participant


      1- If admin complete the order it will not update for Vendor. (important)

      2- If admin complete the order the Mark Complete button gets removed.

      – Screenshot : https://www.dropbox.com/s/63kjywv6pw7zp0e/orders.JPG?dl=0

      3- Also if there is an order of 2 products from 2 vendors, if one of the vendors Mark as Complete then the Mark As Complete button gets removed from the other vendor.

    • #29985
      d-n-13
      Participant

      4- Deleting orders as admin won’t delete it for vendor (Important)

      5- and vendor cannot delete as well.

      I did many orders for testing for other matter, now vendor has too many orders pending..

    • #30114
      WCFM Forum
      Keymaster

      Hi,

      1- If admin complete the order it will not update for Vendor. (important)

      – Are you updating Order from wp-admin area or WCFM Orders page?

      2. You need this code as well –

      function wcfmmp_order_status_display_custom( $status_display, $the_order ) {
      	$status_display = '<span class="order-status tips wcicon-status-' . sanitize_title( $the_order->get_status() ) . ' text_tip" data-tip="' . wc_get_order_status_name( $the_order->get_status() ) . '"></span>';
      	return $status_display;
      }
      add_filter( 'wcfm_order_status_display', 'wcfmmp_order_status_display_custom', 50, 2 );

      4- Deleting orders as admin won’t delete it for vendor (Important)
      – I am checking this

      5- and vendor cannot delete as well.
      – Vendors are not allowed to do this.

      Thank You

    • #30125
      d-n-13
      Participant

      Hi,

      – Are you updating Order from wp-admin area or WCFM Orders page?

      ** from WCFM Orders.

      2. You need this code as well –

      ** Thanks it works, but the label inside the order for the vendor is still saying pending for payment even tho the order was already paid for and showing processing icon : https://www.dropbox.com/s/j2yul0fi4vnhv1e/pending%20for%20payment%20label%20issue.JPG?dl=0

      4- Deleting orders as admin won’t delete it for vendor (Important)
      – I am checking this

      ** before adding the code above it is showing pending for payment icon.
      ** after adding the code it is not showing icons.
      ** when vendor complete the order it will go back in the admin list.
      ** when admin deletes an order it should be deleted from vendor as well.

      5- and vendor cannot delete as well.
      – Vendors are not allowed to do this.

      ** that’s fine by me, I don’t want vendors to delete.

      =======================================================

      Alternative order matters / issues :

      6- I faced a bug and I want to point it out. (after adding the code above – I don’t think the code was the issue idk). 2 of the orders aren’t listed in the vendor orders page, but the vendor got the orders notifications and can access them from notifications only : https://www.dropbox.com/s/ot6ljlrjihmuib6/bug%20happened%20then%20disappeared..jpg?dl=0

      At first I thought the bug from the code you gave me, I deleted the code the issue is still there. I tried to do other things before I order again so I did : (Disable / Enable – Re-sub Membership – Order From another vendor – Order from same vendor with different gateway). After I did all those I went to order again and I faced no issue and I don’t know the cause, but the 2 old orders are still not in the orders list and vendor can access them from the notifications only.

      7- Failed order status can be changed and completed by vendor. Are you aware of that ? It is not big deal for me but i don’t think vendor should be able to do that : https://www.dropbox.com/s/iuglrj4neckqv9j/failed%20order.JPG?dl=0

      Thank You

    • #30591
      WCFM Forum
      Keymaster

      Hi,

      4- Deleting orders as admin won’t delete it for vendor (Important)

      – This has been taken care of in WCFM Marketplace 1.0.5

      7- Failed order status can be changed and completed by vendor.

      – We will hide these orders from vendor’s order list in next update

      Thank You

Viewing 13 reply threads
  • The topic ‘Completing Orders in WCfM Marketplace vs Other Multi-Vendors’ is closed to new replies.