We have a customer where all of their items are variable products. As you can imagine, there ends up being requests to change sizes, colors, or other variations.

Once they’ve paid for the order, the status of the order gets set to “Processing” and WooCommerce won’t let you edit that order.

Thanks to Nicola Mustone’s article How make “Processing” orders editable, it’s as simple as adding this code to your theme’s functions.php:

add_filter( 'wc_order_is_editable', 'wc_make_processing_orders_editable', 10, 2 );
function wc_make_processing_orders_editable( $is_editable, $order ) {
    if ( $order->get_status() == 'processing' ) {
        $is_editable = true;
    }

    return $is_editable;
}