Home Forums WC Vendors Pro Support Trigger Commissions ONLY when Order is Complete

NOTICE: We've Moved to a Ticket System for Support

As of August 31, 2017 (12am EST) our support forums will be retired (read-only), and we will be moving to a support ticket system.  This will allow us to better organize and answer support requests, and provide a more personalized experience as we assist our customers.

For the time being, we will leave our forums open for reading and learning while we work on creating a more robust Knowledge Base for everyone to use.

If you are a WC Vendors Pro customer please open a support ticket here. 

If you are a WC Vendors user please open a support ticket on the Wordpress.org forums.

The information on this forum is outdated and in most instances no longer relevant. Please be sure to check our documentation for the most up to date information.


Thank you to all of our customers!


Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
  • #69667
    Anan Mohammed


    I found that commissions automatically reverses sometimes when an order is cancelled – this can be very time consuming as I have to double check every time an Order is cancelled.

    On my website, my main payment method is COD and I manage the Inventory and Delivery for all vendors. I make vendor payments manually. Sometimes an order is placed – the vendor sees the commission payable on their dashboard, then I have to cancel the order for whatever reason – causing the vendor to question where the commission went.

    For these two reasons, I really think it would be best to include the option to apply commissions ONLY when the Order Status is set to Complete.

    Until this is done, can I have some direction to the code that needs to be altered in order to do this?

    Anan Mohammed

    For those of you who are interested in this, I managed to find the solution (I think) seconds after posting.

    Go to plugins/wc-vendors/classes/class-commission.php and on line 18 remove ‘processing’ so the function would now be

    function __construct()
    		$this->completed_statuses = apply_filters( 'wcvendors_completed_statuses', array(
    																						   ) );
    WC Vendors Support

    Why would you hack away at the core code, to remove something that can overridden by a filter? Search docs.wcvendors.com for wcvendors_completed_statuses do that instead. 🙂 Much simpler, upgrade friendly, and you arent hacking away at source code! Food for thought! 🙂

    Anan Mohammed

    @ben Thanks!

    Anan Mohammed


    I’m not versed in php language at all.

    Clearly you could have recognised that by my method of madnes. I really need your asassistance as hope to use the filters seem a bit vague.

    I tried of course but failed mainly because I don’t know much about filters and how to use them


    I am not sure if this works to achieve what you are trying to do, but this is how you would write that using the filter:
    (this would be placed in your child theme functions.php file)

    Anan Mohammed


    Thanks for your reply,

    That’s the exact code I was trying in my functions.php file (I gave the function a different name however).
    For some reason, Commissions still trigger when the order is Processing.

Viewing 7 posts - 1 through 7 (of 7 total)
  • The forum ‘WC Vendors Pro Support’ is closed to new topics and replies.