title: Odoo Module Development error: AssertionError: Element openerp has extra content: data
body: <p>I am a newbie in developing Modules for Odoo. I started developing a demo module according to documentation. But its giving error. I will provide you all the files &amp; codes here. someone please help ..</p>
  
  <p>My <strong>openerp</strong>.py file</p>
  
  <pre><code># -*- coding: utf-8 -*-
  {
      'name': "Daily Transaction Manager",
  
      'summary': """
          Used For Managing entrys of our daily transactions.""",
  
      'description': """
          Used For Managing entrys of our daily transactions
      """,
  
      'author': "Peniel Technology LLC",
      'website': "http://www.penieltech.com.com",
  
      # Categories can be used to filter modules in modules listing
      # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
      # for the full list
      'category': 'manager',
      'version': '1.0',
  
      # any module necessary for this one to work correctly
      'depends': [],
  
      # always loaded
      'data': [
          # 'security/ir.model.access.csv',
          'daily_transaction_view.xml',
  
      ],
      # only loaded in demonstration mode
      'demo': [],
      'installable': True,
      'auto_install':False,
  }
  </code></pre>
  
  <p>My <strong>init</strong>.py file :-</p>
  
  <pre><code>import daily_transaction
  </code></pre>
  
  <p>My daily_transaction.py File</p>
  
  <pre><code>from openerp import fields,osv
  
  
  class daily_transaction(osv.osv):
      _name= "daily_transaction"
      _description= "Daily Transaction"
  
      _coloums = {
          'subject': fields.char('Subject',size=128,required=True),
          'date' : fields.date('Date',required=True),
          'note' : fields.text('Notes'),
          'amount' : fields.float('Amount',required=True),
          'type' : fields.selection([
              ('transport','Transport'),
              ('household','Household'),
              ('personal','Personal'),
              ], 'Type',required=True),
  
      }
  </code></pre>
  
  <p>My daily_transaction_view.xml is like:-</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;openerp&gt;
      &lt;data&gt;
  &lt;!-- Action --&gt;
  &lt;record id="action_daily_transaction" model="ir.actions.act_window"&gt;
      &lt;field name="name"&gt;Daily Transaction &lt;/field&gt;
      &lt;field name="res_model"&gt;daily.transaction&lt;/field&gt;
      &lt;field name="view_type"&gt;form&lt;/field&gt;
      &lt;field name="view_mode"&gt;tree,form&lt;/field&gt;
      &lt;field name="search_view_id" eval="False"/&gt;
      &lt;field name="context"&gt;{}&lt;/field&gt;
      &lt;field name="help"&gt;Create new daily trasaction&lt;/field&gt;
  &lt;/record&gt;   
  
  &lt;!-- Menu Code here --&gt;
   &lt;menuitem name="Daily Transaction" id="base.daily_transaction_roof" sequence="60"/&gt;
  
   &lt;menuitem id="menu_daily_transaction_roof" name="Daily Transaction" parent="base.daily_transaction_roof" sequence="1"/&gt;
  
   &lt;menuitem action="action_daily_transaction" id="menu_action_daily_transaction" parent="menu_daily_transaction_roof" sequence="20"/&gt;
  
   &lt;!-- Tree--&gt; 
  &lt;record id="view_daily_transaction_tree" model="ir.ui.view"&gt;
      &lt;field name="name"&gt;daily.transaction.tree&lt;/field&gt;
      &lt;field name="model"&gt;daily.transaction&lt;/field&gt;
      &lt;field name="arch" type="xml"&gt;
          &lt;tree string="Daily Transaction"&gt;
              &lt;field name="name"/&gt;
              &lt;field name="date"/&gt;
              &lt;field name="type"/&gt;
              &lt;field name="amount"/&gt;
  
  
          &lt;/tree&gt; 
  
      &lt;/field&gt;    
  
  
  
  &lt;/record&gt;
  
  &lt;!--Form --&gt;
  
  &lt;record id="view_daily_transaction_form" module="ir.ui.view"&gt;
      &lt;field name="name"&gt;daily.transaction.form.view&lt;/field&gt;
      &lt;field name="model"&gt;daily.transaction&lt;/field&gt;
      &lt;field name="arch" type="xml"&gt;
          &lt;form string="Daily Transaction" &gt;
              &lt;group&gt;
                  &lt;field name="name"/&gt;
                  &lt;field name="date"/&gt;
                  &lt;field name="type"/&gt;
                  &lt;field name="amount"/&gt;
                  &lt;field name="note"/&gt;
  
              &lt;/group&gt;    
  
          &lt;/form&gt; 
  
      &lt;/field&gt;    
  
  
  &lt;/record&gt;   
  
  
      &lt;/data&gt;
  
  &lt;/openerp&gt;
  </code></pre>
  
  <p>When I tried to install ,Iam getting the error:</p>
  
  <pre><code>Odoo Server Error
  Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 643, in _handle_exception
      return super(JsonRequest, self)._handle_exception(exception)
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 680, in dispatch
      result = self._call_function(**self.params)
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function
      return checked_call(self.db, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
      return f(dbname, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call
      result = self.endpoint(*a, **kw)
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 959, in __call__
      return self.method(*args, **kw)
    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 509, in response_wrap
      response = f(*args, **kw)
    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 896, in call_button
      action = self._call_kw(model, method, args, {})
    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw
      return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
      return old_api(self, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 459, in button_immediate_install
      return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
      return old_api(self, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 533, in _button_immediate_function
      registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
    File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 386, in new
      openerp.modules.load_modules(registry._db, force_demo, status, update_module)
    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 338, in load_modules
      loaded_modules, update_module)
    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 237, in load_marked_modules
      loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 156, in load_module_graph
      _load_data(cr, module_name, idref, mode, kind='data')
    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 98, in _load_data
      tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 851, in convert_file
      convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 925, in convert_xml_import
      relaxng.assert_(doc)
    File "lxml.etree.pyx", line 3373, in lxml.etree._Validator.assert_ (src/lxml/lxml.etree.c:166352)
  AssertionError: Element openerp has extra content: data, line 3
  </code></pre>