Electrical Wholesale

Rowse is Plymouth's premier electrical wholesaler, and we have been in the business since 2004. We have enjoyed well over a decade of rewarding service and friendly engagement with our client base and customers. Our founding principle is quality: we supply quality products supported by quality service ? always. We aim also to offer the most competitive prices in the electrical market, and we are proud to work with valued clients in several different market sectors, including industrial, domestic, railways and military.


Electrical Wholesale Brands


Why Choose Rowse?

While, at Rowse, we have spent more than 14 years in the electrical business, the combined experience of our team of expert engineers and sales personnel adds up to a lot more years than that! Whatever your needs, whether it's verbal advice, a site consultation or the purchase of parts, there is always someone at Rowse who will be fully qualified to advise you. Our product portfolio features many of the industry's leading brand names, such as Click Scolmore, Hager, Gewiss, Wylex and MK Electric, and for several of these companies we are an accredited Distributor and Stockist.

Our excellent product and supply standards are supported by the ISO 9001:2015 Quality certification, which demonstrates our ability to provide quality services for our customers. As an independent electrical wholesaler we also belong to the larger-scale group, AIEW (Associated Independent Electrical Wholesalers). Not only does this give us the greater buying power of a top national company, but also offers the flexibility of service on which our customers rely.

How Can Rowse Help?

Rowse stocks a vast array of electrical products, from standard plugs and sockets to smart lighting systems and industrial electrical equipment. You can view our comprehensive range of general electrical parts in our easy to use online catalogue, with a simple ordering system and searchable parts database. Under the Rowse umbrella we are now pleased to field a specialist Control and Automation division and a Pneumatics division, while we also provide consultations on new technology, the installation of smart industrial equipment, and planning for smart homes. In addition, we will give you a free, no-obligation survey for a lighting system in any kind of installation, including offices and factories, commercial premises and car parks, including an energy-saving schedule that will demonstrate the potential cost savings to be achieved.

Rowse Electrical stocks a wide selection of products from the lighting industry's leading experts, such as Fitzgerald, Ansell, Kosnic, Click Scolmore and Aurora. These manufacturers are at the forefront of technological advances in lighting, and offer innovative, state-of-the-art designs. Energy-saving, LED and safety lights are all to be found here, together with programmable switch systems and motion-sensor activated security lights.

Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_NOTICE)
Trying to get property 'slug' of non-object Whoops\Exception\ErrorException thrown with message "Trying to get property 'slug' of non-object" Stacktrace: #5 Whoops\Exception\ErrorException in /var/www/vhosts/rowse.co.uk/htdocs/application/view/services/view.php:139 #4 Whoops\Run:handleError in /var/www/vhosts/rowse.co.uk/htdocs/application/view/services/view.php:139 #3 require in /var/www/vhosts/rowse.co.uk/htdocs/application/core/View.php:15 #2 View:render in /var/www/vhosts/rowse.co.uk/htdocs/application/controller/ServicesController.php:42 #1 ServicesController:view in /var/www/vhosts/rowse.co.uk/htdocs/application/core/Application.php:39 #0 Application:__construct in /var/www/vhosts/rowse.co.uk/htdocs/public/index.php:10
Stack frames (6)
5
Whoops\Exception\ErrorException
/application/view/services/view.php139
4
Whoops\Run handleError
/application/view/services/view.php139
3
require
/application/core/View.php15
2
View render
/application/controller/ServicesController.php42
1
ServicesController view
/application/core/Application.php39
0
Application __construct
/public/index.php10
/var/www/vhosts/rowse.co.uk/htdocs/application/view/services/view.php
            <div class="row">
                <div class="col-12">
                    <?php echo str_replace(array('{{URL}}', '{{CDN_URL}}', '{{CSRF_TOKEN}}'), array(Config::get('URL'), Config::get('CDN_URL'), Csrf::makeToken()), $this->service->page_content); ?>
                </div>
            </div>
            <?php if(count($this->blog_posts)): ?>
                <hr>
                <div class="row">
                    <div class="col-12 centered">
                        <h2 class="mb-0"><?php echo $this->service->name; ?> Blogs</h2>
                    </div>
                </div>
                <hr>
                <div class="row">
                    <?php foreach ($this->blog_posts as $post): ?>
                        <?php $postData = BlogModel::getPost($post->BPID); ?>
                        <div class="col-md-6 col-12">
                            <div class="row">
                                <div class="col-3">
                                    <a href="<?php echo Config::get('URL'); ?>blog/post/<?php echo $postData->slug; ?>" title="<?php echo str_replace('<br>', ' ', $postData->title); ?>">
                                        <img src="<?php echo Config::get('CDN_URL'); ?>images/blog/posts/<?php echo $postData->featured_image; ?>" alt="<?php echo str_replace('<br>', ' ', $postData->title); ?>" style="width: 100%;">
                                    </a>
                                </div>
                                <div class="col-9">
                                    <a href="<?php echo Config::get('URL'); ?>blog/post/<?php echo $postData->slug; ?>" title="<?php echo str_replace('<br>', ' ', $postData->title); ?>">
                                        <h2 style="margin: 0px;"><?php echo str_replace('<br>', ' ', $postData->title); ?></h2>
                                    </a>
                                    <p><b>Post By: </b> <?php echo BlogModel::getAuthor($postData->created_by)->name; ?> <b>On:</b> <?php echo date("d-m-Y", strtotime($postData->created_at)); ?></p>
                                    <p><?php echo $postData->excerpt; ?></p>
                                </div>
                            </div>
                        </div>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>
        </div>
    </section>
</div>
<script>
    var dataLayer = window.dataLayer = window.dataLayer || [];
/var/www/vhosts/rowse.co.uk/htdocs/application/view/services/view.php
            <div class="row">
                <div class="col-12">
                    <?php echo str_replace(array('{{URL}}', '{{CDN_URL}}', '{{CSRF_TOKEN}}'), array(Config::get('URL'), Config::get('CDN_URL'), Csrf::makeToken()), $this->service->page_content); ?>
                </div>
            </div>
            <?php if(count($this->blog_posts)): ?>
                <hr>
                <div class="row">
                    <div class="col-12 centered">
                        <h2 class="mb-0"><?php echo $this->service->name; ?> Blogs</h2>
                    </div>
                </div>
                <hr>
                <div class="row">
                    <?php foreach ($this->blog_posts as $post): ?>
                        <?php $postData = BlogModel::getPost($post->BPID); ?>
                        <div class="col-md-6 col-12">
                            <div class="row">
                                <div class="col-3">
                                    <a href="<?php echo Config::get('URL'); ?>blog/post/<?php echo $postData->slug; ?>" title="<?php echo str_replace('<br>', ' ', $postData->title); ?>">
                                        <img src="<?php echo Config::get('CDN_URL'); ?>images/blog/posts/<?php echo $postData->featured_image; ?>" alt="<?php echo str_replace('<br>', ' ', $postData->title); ?>" style="width: 100%;">
                                    </a>
                                </div>
                                <div class="col-9">
                                    <a href="<?php echo Config::get('URL'); ?>blog/post/<?php echo $postData->slug; ?>" title="<?php echo str_replace('<br>', ' ', $postData->title); ?>">
                                        <h2 style="margin: 0px;"><?php echo str_replace('<br>', ' ', $postData->title); ?></h2>
                                    </a>
                                    <p><b>Post By: </b> <?php echo BlogModel::getAuthor($postData->created_by)->name; ?> <b>On:</b> <?php echo date("d-m-Y", strtotime($postData->created_at)); ?></p>
                                    <p><?php echo $postData->excerpt; ?></p>
                                </div>
                            </div>
                        </div>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>
        </div>
    </section>
</div>
<script>
    var dataLayer = window.dataLayer = window.dataLayer || [];
/var/www/vhosts/rowse.co.uk/htdocs/application/core/View.php
<?php
 
class View
{
 
    public function render($filename, $data = null)
    {
        if ($data) {
            foreach ($data as $key => $value) {
                $this->{$key} = $value;
            }
        }
 
        require Config::get('PATH_VIEW') . '_templates/header.php';
        require Config::get('PATH_VIEW') . $filename . '.php';
        require Config::get('PATH_VIEW') . '_templates/footer.php';
    }
    
    public function renderBlank($filename, $data = null)
    {
        if ($data) {
            foreach ($data as $key => $value) {
                $this->{$key} = $value;
            }
        }
 
        require Config::get('PATH_VIEW') . '_templates/header.blank.php';
        require Config::get('PATH_VIEW') . $filename . '.php';
        require Config::get('PATH_VIEW') . '_templates/footer.blank.php';
    }
    
    public function renderAdmin($filename, $data = null)
    {
        if ($data) {
            foreach ($data as $key => $value) {
                $this->{$key} = $value;
            }
        }
 
        require Config::get('PATH_VIEW') . '_templates/header.admin.php';
/var/www/vhosts/rowse.co.uk/htdocs/application/controller/ServicesController.php
    public function view($slug = NULL)
    {
        if(Request::get('preview') == 'true') {
            $preview = true;
        } else {
            $preview = false;
        }
        if(isset($slug)) {
            $service = ServicesModel::getServiceBySlug($slug, $preview);
            if($service) {
                $data = array(
                    'meta_title' => $service->meta_title,
                    'meta_description' => $service->meta_description,
                    'meta_robots' => 'index, follow',
                    'canonical_url' => 'https://www.rowse.co.uk/services/view/' . $slug,
                    'service' => $service,
                    'manufacturers' => ServicesModel::getManufacturersByService($service->ID),
                    'blog_posts' => ServicesModel::getRecentBlogsByService($service->ID),
                );
                $this->View->render('services/view', $data);
            } else {
                require Config::get('PATH_CONTROLLER') . 'ErrorController.php';
                $this->controller = new ErrorController;
                $this->controller->error404();
            }
        } else {
            require Config::get('PATH_CONTROLLER') . 'ErrorController.php';
            $this->controller = new ErrorController;
            $this->controller->error404();
        }
    }
    
    public function submitServiceEnquiry($SID)
    {
        $ID = CoreModel::generateIDString(16);
        $service = ServicesModel::getServiceByID($SID);
        if(empty(Request::post('website'))) {
            if (Csrf::isTokenValid()) {
                if(Request::post('customer_company') != 'google') {
                    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
/var/www/vhosts/rowse.co.uk/htdocs/application/core/Application.php
        
        $this->createControllerAndActionNames();
        
        if ($this->redirectTarget != null) {
            if($this->redirectType == 301) {
                Redirect::permanent($this->redirectTarget);
            } elseif ($this->redirectType == 302) {
                Redirect::temporary($this->redirectTarget);
            }
        }
 
        if ($this->rewriteTargetPath != Request::get('url')) {
            if (file_exists(Config::get('PATH_CONTROLLER') . $this->controller_name . '.php')) {
 
                require Config::get('PATH_CONTROLLER') . $this->controller_name . '.php';
                $this->controller = new $this->controller_name();
 
                if (method_exists($this->controller, $this->action_name)) {
                    if (!empty($this->parameters)) {
                        call_user_func_array(array($this->controller, $this->action_name), $this->parameters);
                    } else {
                        $this->controller->{$this->action_name}();
                    }
                } else {
                    require Config::get('PATH_CONTROLLER') . 'ErrorController.php';
                    $this->controller = new ErrorController;
                    $this->controller->error404();
                }
            } else {
                require Config::get('PATH_CONTROLLER') . 'ErrorController.php';
                $this->controller = new ErrorController;
                $this->controller->error404();
            }
        } else {
            require Config::get('PATH_CONTROLLER') . 'ErrorController.php';
            $this->controller = new ErrorController;
            $this->controller->error404();
        }
    }
    
/var/www/vhosts/rowse.co.uk/htdocs/public/index.php
<?php
require '../vendor/autoload.php';
 
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
 
ini_set('session.cookie_domain', '.rowse.co.uk');
 
new Application();
 

Environment & details:

Key Value
url /services/view/electrical-wholesale
empty
empty
empty
Key Value
feedback_positive
feedback_negative
csrf_token ed62bcc6e96cbb34b84abf7236cd90fe
csrf_token_time 1747134188
Key Value
USER rowse
HOME /home/rowse
HTTP_IF_MODIFIED_SINCE Mon, 10 Feb 2025 20:26:49 GMT
HTTP_CF_IPCOUNTRY US
HTTP_CF_VISITOR {"scheme":"https"}
HTTP_X_FORWARDED_FOR 18.97.14.91
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
HTTP_X_FORWARDED_PROTO https
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_ENCODING gzip, br
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_CF_CONNECTING_IP 18.97.14.91
HTTP_CDN_LOOP cloudflare; loops=1
HTTP_CF_RAY 93f1aae85ba4f508-LHR
HTTP_HOST www.rowse.co.uk
REDIRECT_STATUS 200
SERVER_NAME www.rowse.co.uk
SERVER_PORT 443
SERVER_ADDR 165.232.39.242
REMOTE_PORT
REMOTE_ADDR 18.97.14.91
SERVER_SOFTWARE nginx/1.14.0
GATEWAY_INTERFACE CGI/1.1
HTTPS on
REQUEST_SCHEME https
SERVER_PROTOCOL HTTP/2.0
DOCUMENT_ROOT /var/www/vhosts/rowse.co.uk/htdocs/public
DOCUMENT_URI /index.php
REQUEST_URI /services/view/electrical-wholesale
SCRIPT_NAME /index.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING url=/services/view/electrical-wholesale&
SCRIPT_FILENAME /var/www/vhosts/rowse.co.uk/htdocs/public/index.php
PATH_INFO
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1747134188.9142
REQUEST_TIME 1747134188
empty
0. Whoops\Handler\PrettyPageHandler