Cannot modify header information – headers already sent by pluggable.php

I’m not 100% certain this is your problem, but… I believe your “no_items” function should return the value, not echo it. If there are no items, that would lead to a “headers already sent” when the redirect is fired. Try it like this:

/** Text displayed when no customer data is available */
public function no_items() {
    return __( 'No customers avaliable.', 'sp' );
}