Odoo Help


Demo and non-demo data

Eduardo BP
on 4/24/15, 10:16 PM 1,753 views


I'm following the 'Building a Website' tutorial in the Odoo developers official documentation, and I don't understand what it says about the difference between demo and non-demo data in demonstration files. I'm referring to this:

Data files can be used for demo and non-demo data. Demo data are only loaded in “demonstration mode” and can be used for flow testing and demonstration, non-demo data are always loaded and used as initial system setup.
In this case we’re using demonstration data because an actual user of the system would want to input or import their own teachers list, this list is only useful for testing.

In the module manifest (__openerp__.py), both data and demo key exist. What's the difference between including a demostration data filename as the value of the data key or demo key?.

Is there a collateral effect depending on where the demo data filename is included (in data or demo key)?.

'name': "academy",
   'category': 'Uncategorized',
'depends': ['base'], 
'data': [
'demo': [


Thank you for your answer Ahmed. I don't have enough karma to comment a post, so I have to edit the original one.

I understand that you told me, but I can't understand the real difference between non-demo and demo data, because the final result is the same in both cases, I suppose.

I mean, both non-demo and demo data files populate the database with the records contained in the XML file. Is this correct?.

For instance, the product module has a product_data.xml file and a product_demo.xml file. Each one has a different content. In the __openerp__.py file of this module, product_data.xml is a value of the data key and product_demo.xml is a value of the demo key.

What should a non-demo data file (like product_data.xml) contain?.

What should a demo data file (like product_demo.xml) contain?. 

Eduardo BP
On 4/25/15, 9:17 AM

Please, could somebody with enough karma delete this answer?. Thank you.

--Ahmed M.Elmubarak--

Ahmed M.Elmubarak
On 4/25/15, 2:49 AM


Non-demo data used as a default data when you're installing your module. e.g when you install a new database with sales & account modules you'll find some accounts, products categories, and pricelists. These are Non-demo data, and it will be included in the 'data' list in the __openerp__.py . usually its name not demo.xml but moduleName_data.xml , you can check 'product' module for example you'll find product_data.xml contains some categories and so on. 

Demo data will be loaded in the demonstration mode. If you create a new database you'll find "Load demonstration data:" option if you tick this option the demo data will be loaded for each module you'll install. for example if you installed the HR module you'll find a lot of employees, contracts, and so on . If you checked the product_demo.xml you'll find some categories such as Accessories, Software etc ... 

I hope this could help ...

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 4/24/15, 10:16 PM
Seen: 1753 times
Last updated: 4/25/15, 11:08 AM