Odoo Help


Adding custom field to sales order product lines?

Clemens Kroell
on 1/17/14, 6:56 AM 2,262 views


i try to add a custom text field "detail" to the product lines in a sales order. i created a new module and added the following code:


import sales_order_detail_field


from openerp.osv import fields, osv

class sales_order_detail_field(osv.Model):
        _name = 'sale.order'
        _inherit = 'sale.order.line'
        _columns = {
                'detail': fields.text('Detail'),



<?xml version="1.0" encoding="utf-8"?>
   <record model="ir.ui.view" id="detail_field_in_view">
    <field name="name">New Sale Order field detail</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"/>
    <field name="arch" type="xml">
    <xpath expr="//field[@name='order_line']/form/notebook/page[@string='Order Line']//field[@name='product_uom_qty' ]" position="before">
        <field name="detail" />

but when i reload my openerp window, i jus tget the following error

raise except_orm('ValidateError', '\n'.join(error_msgs))
except_orm: ('ValidateError', u'Fehler w\xe4hrend der Pr\xfcfung des Feldes field(s) arch: Invalid XML for View Architecture!')

any advice what's wrong here? maybe the xml?

it work it now

Jhon Felipe Urrego Mejia
on 2/26/14, 4:32 AM

How you made it work?

Marcel Knüpfer
on 3/24/14, 5:46 PM

Timo Talvitie, Vizucom Oy

--Timo Talvitie, Vizucom Oy--
| 5 4 7
Tampere, Finland
--Timo Talvitie, Vizucom Oy--

Lead developer at Vizucom.

Timo Talvitie, Vizucom Oy
On 1/17/14, 7:48 AM

You should remove the _name = 'sale.order' line from your .py file. Defining the _name is not actually even necessary if you want to simply add new fields to an existing model. The current value is also referring to a different model (sale order instead of sale order line).

You can read more about the different inheritance types here: https://doc.openerp.com/trunk/server/03_module_dev_02/#object-inheritance-inherit

If there's still issues, double-check the xpath expression.

i removed the _name property, but it still doesn't work. changing the xpath to <xpath expr="//page[@string='Order Lines']/field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='tax_id']" position="after"> hasn o effect also…

Clemens Kroell
on 1/17/14, 8:42 AM

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

0 follower(s)


Asked: 1/17/14, 6:56 AM
Seen: 2262 times
Last updated: 3/16/15, 8:10 AM