عربى
View Our Products

To Avail special discount place your order at 24493824 or customercare@ndcoman.com

About NDC

About NDC

The National Detergent Company SAOG (NDC) is one of the leading manufacturing companies in the Sultanate of Oman. NDC manufactures and distributes a wide range of highly reputed and successful brands covering various segments like detergents powders, liquid detergents, soaps, shampoos, allied laundry aids and other household cleaners. It also has a Sulphonation division engaged in the business of manufacturing and selling LABSA. The I&I division caters to mainly the Oil & Gas and Construction industry.

NDC began manufacturing and marketing of detergent since 1981

NDC has five manufacturing units located in Sohar, Ghala and Rusayl Industrial area.

NDC believes in giving the best value for money to its consumers. Over the years, this very philosophy has helped the company build an expanding customer base and strong brand equity.

Learn More
..
Our Vision

Bring value to consumers by making NDC the best regional supplier of branded home and personal care products in the middle east and north Africa.

..
Our Mission

Manufacture, market and distribute branded products in an environmentally sustainable way while providing benefits to all our stakeholders.

..
Quality Policy

The National Detergent Co. s.a.o.g. is committed to providing products and services of superior quality and value that improve the lives of consumers. As part of this, NDC strives to improve the environmental quality of our products, packaging and operations in the GCC.


..
ISO/GMP Certified

We are an ISO/GMP certified organization and we take stringent measures to maintain high quality standards and ensure that we meet the needs of customers and stakeholders while maintaining statutory and regulatory requirements related to all our products.

Know More About Our Brands

NDC products have made a name for themselves in every household by making brands which not only have the safest ingredients but also promote the essence of Arabia.

Bahar, NDC’s flagship brand, is also the highest selling one in the Sultanate of Oman.

Lets Go
Featured Products
0

Brands

0

Retailers

0

Employees

0

Manufacturing Plants

In The News

In The News

Stay informed with our most up-to-date news and offers so you can get the most out of our products.

What Clients Say?

What Clients Say?

See what our trusted partners and consumers have to say about our products.

Play Video
Management Team

Management Team

The management plays a critical role in shaping the course of the company and shaping its growth for the future.

Our Brands



More
Lets Work Together

Business Enquiries

Please use the following form for your business enquiries. We will be more than pleased to answer your queries.


Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(): Only 0 of 177 bytes written, possibly out of free disk space ErrorException thrown with message "file_put_contents(): Only 0 of 177 bytes written, possibly out of free disk space" Stacktrace: #7 ErrorException in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Session/Store.php:129 #3 Illuminate\Session\Store:save in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /home/ndcoman/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /home/ndcoman/public_html/index.php:60
7
ErrorException
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
6
file_put_contents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
5
Illuminate
\
Filesystem
\
Filesystem
put
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
83
4
Illuminate
\
Session
\
FileSessionHandler
write
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
129
3
Illuminate
\
Session
\
Store
save
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
87
2
Illuminate
\
Session
\
Middleware
\
StartSession
terminate
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
218
1
Illuminate
\
Foundation
\
Http
\
Kernel
terminateMiddleware
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
189
0
Illuminate
\
Foundation
\
Http
\
Kernel
terminate
/
index.php
60
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Write the contents of a file, replacing it atomically if it already exists.
     *
     * @param  string  $path
     * @param  string  $content
     * @return void
     */
    public function replace($path, $content)
    {
        // If the path already exists and is a symlink, get the real path...
        clearstatcache(true, $path);
 
        $path = realpath($path) ?: $path;
 
        $tempPath = tempnam(dirname($path), basename($path));
 
        // Fix permissions of tempPath because `tempnam()` creates it with permissions set to 0600...
        chmod($tempPath, 0777 - umask());
Arguments
  1. "file_put_contents(): Only 0 of 177 bytes written, possibly out of free disk space"
    
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Write the contents of a file, replacing it atomically if it already exists.
     *
     * @param  string  $path
     * @param  string  $content
     * @return void
     */
    public function replace($path, $content)
    {
        // If the path already exists and is a symlink, get the real path...
        clearstatcache(true, $path);
 
        $path = realpath($path) ?: $path;
 
        $tempPath = tempnam(dirname($path), basename($path));
 
        // Fix permissions of tempPath because `tempnam()` creates it with permissions set to 0600...
        chmod($tempPath, 0777 - umask());
Arguments
  1. "/home/ndcoman/public_html/storage/framework/sessions/pslgg5poSPwblMjCQUewZjFJcbsH8YyaygH5XN5o"
    
  2. "a:3:{s:6:"_token";s:40:"nXJAnLE3T5LH3dAcUTF0D7vYY6WXKVJeSb5M39Sy";s:9:"_previous";a:1:{s:3:"url";s:19:"https://ndcoman.com";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->isFile($path = $this->path.'/'.$sessionId)) {
            if ($this->files->lastModified($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->sharedGet($path);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/home/ndcoman/public_html/storage/framework/sessions/pslgg5poSPwblMjCQUewZjFJcbsH8YyaygH5XN5o"
    
  2. "a:3:{s:6:"_token";s:40:"nXJAnLE3T5LH3dAcUTF0D7vYY6WXKVJeSb5M39Sy";s:9:"_previous";a:1:{s:3:"url";s:19:"https://ndcoman.com";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "pslgg5poSPwblMjCQUewZjFJcbsH8YyaygH5XN5o"
    
  2. "a:3:{s:6:"_token";s:40:"nXJAnLE3T5LH3dAcUTF0D7vYY6WXKVJeSb5M39Sy";s:9:"_previous";a:1:{s:3:"url";s:19:"https://ndcoman.com";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            [$name] = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#608 …6}
      #routeResolver: Closure() {#606 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/"
      #requestUri: "/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#313}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#193}
    
/
home
/
ndcoman
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#608 …6}
      #routeResolver: Closure() {#606 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/"
      #requestUri: "/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#313}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#193}
    
/
home
/
ndcoman
/
public_html
/
index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#608 …6}
      #routeResolver: Closure() {#606 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/"
      #requestUri: "/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#313}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#193}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
PATH
"/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin"
TZ
"Asia/Muscat"
HTTP_CONNECTION
"close"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/2.0"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"46016"
SCRIPT_FILENAME
"/home/ndcoman/public_html/index.php"
SERVER_ADMIN
"webmaster@ndcoman.com"
CONTEXT_DOCUMENT_ROOT
"/home/ndcoman/public_html"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/home/ndcoman/public_html"
REMOTE_ADDR
"18.97.14.81"
SERVER_PORT
"443"
SERVER_ADDR
"67.43.12.195"
SERVER_NAME
"ndcoman.com"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
HTTP_X_HTTPS
"1"
HTTP_HOST
"ndcoman.com"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_IF_MODIFIED_SINCE
"Mon, 06 Oct 2025 11:03:07 GMT"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
H2_STREAM_TAG
"188021-438-3"
H2_STREAM_ID
"3"
H2_PUSHED_ON
""
H2_PUSHED
""
H2_PUSH
"on"
H2PUSH
"on"
HTTP2
"on"
SSL_TLS_SNI
"ndcoman.com"
HTTPS
"on"
SCRIPT_URI
"https://ndcoman.com/"
SCRIPT_URL
"/"
UNIQUE_ID
"aQ_qjLdEVmTX2oyR6RykKQABkBc"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1762650764.0657
REQUEST_TIME
1762650764
argv
[]
argc
0
APP_NAME
"The National Detergent Company SAOG"
APP_ENV
"production"
APP_KEY
"base64:QtPa3G7iaT+HL8UXpn6CjWYuMzfnHZKtSMhacLBy5jA="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://ndcoman.com/"
APP_ASSETS
"http://ndcoman.com/storage"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"ndcoman_new"
DB_USERNAME
"ndcoman_ndcuser"
DB_PASSWORD
"iTec88088*"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.gmail.com"
MAIL_PORT
"587"
MAIL_USERNAME
"ndc.oman19@gmail.com"
MAIL_PASSWORD
"itec88088*"
MAIL_ENCRYPTION
"tls"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_NAME
"The National Detergent Company SAOG"
APP_ENV
"production"
APP_KEY
"base64:QtPa3G7iaT+HL8UXpn6CjWYuMzfnHZKtSMhacLBy5jA="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://ndcoman.com/"
APP_ASSETS
"http://ndcoman.com/storage"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"ndcoman_new"
DB_USERNAME
"ndcoman_ndcuser"
DB_PASSWORD
"iTec88088*"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.gmail.com"
MAIL_PORT
"587"
MAIL_USERNAME
"ndc.oman19@gmail.com"
MAIL_PASSWORD
"itec88088*"
MAIL_ENCRYPTION
"tls"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler