{"id":59730,"date":"2016-09-21T06:06:56","date_gmt":"2016-09-21T06:06:56","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=59730"},"modified":"2025-11-06T13:19:05","modified_gmt":"2025-11-06T13:19:05","slug":"beginner-guide-odoo-clicommand-line-interface","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/","title":{"rendered":"A Beginner Guide For Odoo CLI (Command Line Interface)"},"content":{"rendered":"<p>This article gives an overview of how we as a developer work with Odoo Command-Line.<br \/>\nIn order to explain it, we have already installed the Odoo v9 series GitHub repository and created a custom configuration file (at \/opt\/odoo9.conf) with minimal configuration.<\/p>\n<p>Latest version <a href=\"https:\/\/webkul.com\/blog\/odoo-19-whats-coming-in-the-2025-release\/\">Odoo 19<\/a> is here now, learn more about what new features it brings to this enterprise management software.<\/p>\n<div id=\"wkid0\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Philosophy of\u00a0 Odoo scripts<\/h3>\n<\/div>\n<div class=\"panel-body\" style=\"text-align: left;\">\n<p>There are 3 three script file available of command line access.<\/p>\n<ol>\n<li>odoo.py(python scripts)<\/li>\n<li>openerp-server(bash scripts)<\/li>\n<li>openerp-gevent(bash scripts for gevent environment )<\/li>\n<\/ol>\n<p>All these scripts file finally run:<\/p>\n<pre class=\"brush:py\">import openerp\nopenerp.cli.main()\n<\/pre>\n<p>So basically the execution of the scripts call the main method of <strong>openerp.cli<\/strong> which is responsible of running the <strong>openerp.service.server.start\u00a0<\/strong>using the the configuration parameter (from <strong>openerp.tools.config<\/strong>)<\/p>\n<\/div>\n<\/div>\n<div id=\"wkid1\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Let\u2019s start with odoo.py<\/h3>\n<\/div>\n<div class=\"panel-body\" style=\"text-align: left;\">\n<p>We can get access of Odoo command line interface by running the odoo.py \u00a0script file \u00a0located at the parent directory of our Odoo folder.<br \/>\nodoo.py is nothing but python script just like other bash\u00a0<strong>scripts openerp-server<\/strong> and <strong>openerp-gevent<\/strong>.<\/p>\n<p>As while running the .\/odoo.py \u00a0i have yet not associated any custom configuration file\/parameters,that why\u00a0the Odoo is running with these default configuration (~\/.openerp_serverrc) as below:<\/p>\n<pre class=\"brush:py\">{'addons_path': '\/opt\/odoo9\/openerp\/addons,\/opt\/odoo9\/addons',\n 'admin_passwd': 'admin',\n 'config': None,\n 'csv_internal_sep': ',',\n 'data_dir': '\/opt\/odoo9\/.local\/share\/Odoo',\n 'db_host': False,\n 'db_maxconn': 64,\n 'db_name': False,\n 'db_password': False,\n 'db_port': False,\n 'db_template': 'template1',\n 'db_user': False,\n 'dbfilter': '.*',\n 'debug_mode': False,\n 'demo': {},\n 'dev_mode': False,\n 'email_from': False,\n 'geoip_database': '\/usr\/share\/GeoIP\/GeoLiteCity.dat',\n 'import_partial': '',\n 'init': {},\n 'language': None,\n 'limit_memory_hard': 2684354560,\n 'limit_memory_soft': 2147483648,\n 'limit_request': 8192,\n 'limit_time_cpu': 60,\n 'limit_time_real': 120,\n 'list_db': True,\n 'load_language': None,\n 'log_db': False,\n 'log_db_level': 'warning',\n 'log_handler': [':INFO'],\n 'log_level': 'info',\n 'logfile': None,\n 'logrotate': False,\n 'longpolling_port': 8072,\n 'max_cron_threads': 2,\n 'osv_memory_age_limit': 1.0,\n 'osv_memory_count_limit': False,\n 'overwrite_existing_translations': False,\n 'pg_path': None,\n 'pidfile': None,\n 'proxy_mode': False,\n 'publisher_warranty_url': 'http:\/\/services.openerp.com\/publisher-warranty\/',\n 'reportgz': False,\n 'root_path': '\/opt\/odoo9\/openerp',\n 'save': None,\n 'server_wide_modules': None,\n 'smtp_password': False,\n 'smtp_port': 25,\n 'smtp_server': 'localhost',\n 'smtp_ssl': False,\n 'smtp_user': False,\n 'stop_after_init': False,\n 'syslog': False,\n 'test_commit': False,\n 'test_enable': False,\n 'test_file': False,\n 'test_report_directory': False,\n 'translate_in': None,\n 'translate_modules': ['all'],\n 'translate_out': None,\n 'unaccent': False,\n 'update': {},\n 'without_demo': False,\n 'workers': 0,\n 'xmlrpc': True,\n 'xmlrpc_interface': '',\n 'xmlrpc_port': 8069}\n\n\n\n\n<\/pre>\n<p><strong>Note:<\/strong> Odoo store the configuration data at <strong>openerp.tools.config.options<\/strong> in <strong>dict<\/strong> format,where keys represent the configuration parameters and values represent value of parameter.<br \/>\nThe default configuration is store in <strong>openerp_serverrc <\/strong>placed at<strong>\u00a0$HOME\/. openerp_serverrc<\/strong><br \/>\nWe can override all \u00a0above mention default parameters manually from command line.<\/p>\n<p>For getting the list of available parameters just use <strong>&#8211;help<\/strong> option \u00a0after .\/odoo.py as below:<\/p>\n<pre class=\"brush:powershell\"> .\/odoo.py --h\n\n<\/pre>\n<div>\n<div id=\"wkid2\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\"><strong>xmlrpc\u00a0<\/strong>port &amp; addons path<\/h3>\n<\/div>\n<\/div>\n<div><\/div>\n<div class=\"panel panel-primary\">\n<div>For changing the default port we can use <strong>&#8211;xmlrpc-port<\/strong> &lt;port&gt;<br \/>\nand for changing\/adding the another addons path use <strong>&#8211;addons-path<\/strong> &lt;directories&gt;<\/p>\n<pre class=\"brush:shell\">.\/odoo.py --xmlrpc-port 9069 --addons-path \/opt\/odoo9\/openerp\/addons,\/opt\/odoo9\/addons,\/opt\/odoo9\/customs\n\n\n<\/pre>\n<\/div>\n<\/div>\n<div id=\"wkid3\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Module installation using CLI<\/h3>\n<\/div>\n<p>Odoo CLI also provide the commands <strong>-i &lt;modules&gt;, &#8211;init &lt;modules&gt;<\/strong>\u00a0\u00a0for module installation as.<\/p>\n<p><strong>For installing the sale :<\/strong><\/p>\n<pre class=\"brush:shell\">.\/odoo.py -d odoo9db -i sale<\/pre>\n<p>We can also install multiple module at once by placing the module name in comma separated<\/p>\n<pre class=\"brush:shell\">.\/odoo.py -d odoo9db -i sale , product<\/pre>\n<\/div>\n<\/div>\n<div id=\"wkid4\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Module updation using CLI<\/h3>\n<\/div>\n<p>For module updation we can use <strong>-u &lt;modules&gt;, &#8211;update &lt;modules&gt;<\/strong> as. In case you are planning to upgrade your existing Odoo platform to version 19, make sure to check out <a href=\"https:\/\/webkul.com\/odoo-migration-services\/\" target=\"_blank\" rel=\"noopener\">Odoo Data Migration<\/a> services.<br \/>\n<strong>For update\u00a0the sale :<\/strong><\/p>\n<pre class=\"brush:shell\">.\/odoo.py -d odoo9db -u website_sale<\/pre>\n<\/div>\n<div id=\"wkid5\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Using a custom configuration<\/h3>\n<\/div>\n<p>Instead of passing the <strong>&#8211;xmlrpc-port<\/strong> and <strong>&#8211;addons-path<\/strong> \u00a0manually each time \u00a0while<br \/>\nrunning the Odoo we can save the most common setting in config file and directly associated the configuration file \u00a0using <strong>\u00a0-c &lt;config&gt;, &#8211;config &lt;config&gt;<\/strong> as below:<\/p>\n<pre class=\"brush:shell\">.\/odoo.py -c \/etc\/odoo9.conf<\/pre>\n<p>Here is my odoo9.conf file:<\/p>\n<pre class=\"brush:shell\">addons_path = \/opt\/odoo9\/openerp\/addons,\/opt\/odoo9\/addons,\/opt\/odoo9\/custom\n#add one another addons path('\/opt\/odoo9\/custom')\nadmin_passwd= webkul,\n#change my admin_passwd to webkul\ndb_user = odoo9\n#associate my odoo9 db_user\nxmlrpc_port = 9069\n#change  xmlrpc_port to 9069\nlogfile=  \/var\/log\/odoo\/odoo9-server.log\n#add a separate logfile\nlogrotate = True\n#enabled log-rotation<\/pre>\n<p>So here we don(t) need to pass the generic parameter manually each time , in case if it(s) need we can again pass specif parameters as per our requirement<\/p>\n<\/div>\n<div id=\"wkid6\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Module testing using CLI<\/h3>\n<\/div>\n<p>Odoo provide mainly two type of parameters\u00a0for test driven development.<\/p>\n<ol>\n<li>&#8211;test-enable (for all module tests)<\/li>\n<li>&#8211;test-file(for particular module tests)<\/li>\n<\/ol>\n<p><strong>For testing all module in a database(<\/strong>odoo9db<strong>):<\/strong><\/p>\n<pre class=\"brush:shell\">\/odoo.py -c \/etc\/odoo9.conf -d odoo9db --test-enable<\/pre>\n<p>Here we have pass our custom config file path using <strong>-c <\/strong>and database name using<strong> -d.<br \/>\n<\/strong><br \/>\n<strong>For testing particular module(sale) in a database(<\/strong>odoo9db<strong>):<\/strong><\/p>\n<pre class=\"brush:shell\">.\/odoo.py -c \/etc\/odoo9.conf -d odoo9db -u sale --test-file \/opt\/odoo9\/addons\/sale\/tests<\/pre>\n<p>Here we have pass our custom config file path using <strong>-c <\/strong>and database name using<strong> -d <\/strong>and tests file of sale using<strong> &#8211;test-file\u00a0.<\/strong><\/p>\n<p><strong>NOTE<\/strong>\u00a0: we don&#8217;t need to pass &#8211;test-enable if you have used &#8211;test-file and also don&#8217;t forget to use <strong>-i\/-u<\/strong> while running test of particular module.<\/p>\n<\/div>\n<\/div>\n<div id=\"wkid7\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Other USEFUL Command<\/h3>\n<\/div>\n<ul>\n<li>&#8211;stop-after-init<\/li>\n<li>&#8211;db-filter<\/li>\n<li>-save<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\"><strong>&#8211;stop-after-init<\/strong> :it(s) a helper parameter which stop the running Odoo server just after prior parameters(like installation,updation,testing) execution\u00a0.<\/p>\n<pre class=\"brush:shell\" style=\"padding-left: 60px;\">.\/odoo.py -d odoo9db -u bus,fleet --stop-after-init\n# stop the server after bus,fleet module updatation \n.\/odoo.py -d odoo9db -i website_sale --stop-after-init\n# stop the server after website_sale module updatation\n.\/odoo.py -c \/etc\/odoo9.conf -d odoo9db --test-enable  --stop-after-init\n# stop the server after running the tests cases of Odoo modules\n.\/odoo.py -c \/etc\/odoo9.conf -d odoo9db --test-file \/opt\/odoo9\/addons\/sale\/tests --stop-after-init\n# stop the server after running the tests of  sale module \n<\/pre>\n<p style=\"padding-left: 30px;\"><strong>&#8211;db-filter<\/strong> :it parameter which can use for hides databases that do not match regular expression \u00a0.<\/p>\n<pre class=\"brush:shell\" style=\"padding-left: 60px;\">.\/odoo.py -c \/etc\/odoo9.conf --db-filter webkul.*\n# filter the database  name start with webkul like webkuldemo,webkuldb etx.<\/pre>\n<p style=\"padding-left: 30px;\"><strong>-save<\/strong> :We can save our current terminal config using &#8211;save.<\/p>\n<pre class=\"brush:shell\" style=\"padding-left: 90px;\">.\/odoo.py --xmlrpc-port 9069 --addons-path \/opt\/odoo9\/openerp\/addons,\/opt\/odoo9\/addons,\/opt\/odoo9\/customs --db-filter webkul.* -save\n# now currently  used  parameters entry will save in the default config file($HOME\/. openerp_serverrc) for permanent .\n\/odoo.py -c \/etc\/odoo9.conf --db-filter webkul.* -save\n# now currently used  parameters will save in the mention config file for permanent .<\/pre>\n<\/div>\n<div id=\"wkid8\" class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<h3 class=\"panel-title\">Let&#8217;s Play with Odoo Shell<\/h3>\n<\/div>\n<p style=\"text-align: left; padding-left: 30px;\">As other framework Odoo also provide\u00a0\u00a0shell interface for db access and data manipulation. I always love to use shell for database management instead of using GUI, odoo shell interface is too fast which save my priceless time. For accessing the shell interface of Odoo we should run\u00a0.<strong>\/odoo.py shell \u00a0<\/strong>as below.<\/p>\n<pre class=\"brush:shell\" style=\"padding-left: 30px;\">.\/odoo.py shell<\/pre>\n<pre class=\"brush:py\" style=\"padding-left: 30px;\">dir()\n#['__builtins__', 'openerp']\n<\/pre>\n<p style=\"text-align: left; padding-left: 30px;\">This will provide us the openerp package \u00a0 for shell.<\/p>\n<p style=\"text-align: left; padding-left: 30px;\">Below i am posting a example of \u00a0db \u00a0service access using shell.<\/p>\n<pre class=\"brush:py\" style=\"padding-left: 30px;\">from openerp.service import db\n#help(db)\ndb.list_dbs()\n#Prove list of avalibale db\ndb.exp_drop('dbname')\n#Drop an existing db\ndb.exp_duplicate_database('olddb','newdb')\n#Duplicate an  existing db\ndb.exp_create_database('dbname',None,'en_US','username','password')\n#Create a new  db\n<\/pre>\n<p style=\"text-align: left; padding-left: 30px;\">In case of manipulating \u00a0the Odoo data you must pass db name with shell like:<\/p>\n<pre class=\"brush:shell\" style=\"padding-left: 30px;\">.\/odoo.py shell -d dbname<\/pre>\n<pre class=\"brush:py\" style=\"padding-left: 30px;\">dir()\n#['__builtins__', 'env', 'openerp', 'self']\n<\/pre>\n<p style=\"text-align: left; padding-left: 30px;\">Now as <strong>self<\/strong> and <strong>environment\u00a0<\/strong> is available so we can access the odoo models data as below:<\/p>\n<pre class=\"brush:py\" style=\"padding-left: 30px;\">model = self.env['res.partner']\ndomain=[]\nmodel.search(domain)\n#res.partner(1, 7, 6, 4, 29, 8)\nvals = dict(name='demouser', email='demo')\nmodel.partner(vals)\n#res.partner(30,)\n<\/pre>\n<p style=\"text-align: left;\">Hope you enjoyed this post, I\u2019d be very grateful if you\u2019d write your opinions, comments and suggestions to keep the page updated and interesting.<\/p>\n<p style=\"text-align: left;\">You also like our post on<a href=\"http:\/\/webkul.com\/blog\/exploring-external-dependencies-pre-and-post-init-hook-in-odoo\/\"> external dependencies and Odoo hook<\/a>.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This article gives an overview of how we as a developer work with Odoo Command-Line. In order to explain it, we have already installed the Odoo v9 series GitHub repository and created a custom configuration file (at \/opt\/odoo9.conf) with minimal configuration. Latest version Odoo 19 is here now, learn more about what new features it <a href=\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":86,"featured_media":45511,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2007,10,1],"tags":[1267,3651,3652,3650],"class_list":["post-59730","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odoo","category-ubuntu","category-uncategorized","tag-odoo","tag-odoo-cli","tag-odoo-cmdline","tag-odoo-command"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"This article gives an overview of how we as a developer work with Odoo Command-Line. In order to explain it, we have already installed the Odoo v9 series GitHub repository and created a custom configuration file (at \/opt\/odoo9.conf) with minimal configuration. Latest version Odoo 19 is here now, learn more about what new features it [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-21T06:06:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-06T13:19:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Prakash Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prakash Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\"},\"author\":{\"name\":\"Prakash Kumar\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/8b41d806aa1c7ec81f958437fac62e5b\"},\"headline\":\"A Beginner Guide For Odoo CLI (Command Line Interface)\",\"datePublished\":\"2016-09-21T06:06:56+00:00\",\"dateModified\":\"2025-11-06T13:19:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\"},\"wordCount\":787,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png\",\"keywords\":[\"odoo\",\"odoo cli\",\"odoo cmdline\",\"odoo command\"],\"articleSection\":[\"Odoo\",\"Ubuntu\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\",\"url\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\",\"name\":\"A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png\",\"datePublished\":\"2016-09-21T06:06:56+00:00\",\"dateModified\":\"2025-11-06T13:19:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Beginner Guide For Odoo CLI (Command Line Interface)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/8b41d806aa1c7ec81f958437fac62e5b\",\"name\":\"Prakash Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0423ba8e78c94fb466768b44982d402aec0a1bb0ea274e7907672f740c41d776?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0423ba8e78c94fb466768b44982d402aec0a1bb0ea274e7907672f740c41d776?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Prakash Kumar\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/prakash-kumar163\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/","og_locale":"en_US","og_type":"article","og_title":"A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog","og_description":"This article gives an overview of how we as a developer work with Odoo Command-Line. In order to explain it, we have already installed the Odoo v9 series GitHub repository and created a custom configuration file (at \/opt\/odoo9.conf) with minimal configuration. Latest version Odoo 19 is here now, learn more about what new features it [...]","og_url":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2016-09-21T06:06:56+00:00","article_modified_time":"2025-11-06T13:19:05+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png","type":"image\/png"}],"author":"Prakash Kumar","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Prakash Kumar","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/"},"author":{"name":"Prakash Kumar","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/8b41d806aa1c7ec81f958437fac62e5b"},"headline":"A Beginner Guide For Odoo CLI (Command Line Interface)","datePublished":"2016-09-21T06:06:56+00:00","dateModified":"2025-11-06T13:19:05+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/"},"wordCount":787,"commentCount":4,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png","keywords":["odoo","odoo cli","odoo cmdline","odoo command"],"articleSection":["Odoo","Ubuntu"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/","url":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/","name":"A Beginner Guide For Odoo CLI (Command Line Interface) - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png","datePublished":"2016-09-21T06:06:56+00:00","dateModified":"2025-11-06T13:19:05+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/04\/Odoo-Code-Snippet-banner.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/beginner-guide-odoo-clicommand-line-interface\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A Beginner Guide For Odoo CLI (Command Line Interface)"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/8b41d806aa1c7ec81f958437fac62e5b","name":"Prakash Kumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0423ba8e78c94fb466768b44982d402aec0a1bb0ea274e7907672f740c41d776?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0423ba8e78c94fb466768b44982d402aec0a1bb0ea274e7907672f740c41d776?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Prakash Kumar"},"url":"https:\/\/webkul.com\/blog\/author\/prakash-kumar163\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/59730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=59730"}],"version-history":[{"count":62,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/59730\/revisions"}],"predecessor-version":[{"id":512621,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/59730\/revisions\/512621"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/45511"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=59730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=59730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=59730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}