Odoo Help

0

How can I add VAT (TIN) field from partner in customer Invoice tree view? Odoo v7

By
Santi
on 4/13/15, 7:16 AM 2,738 views

I need to make the VAT (TIN) field from res.partner available in account.invoice, so I can add it to the Invoice Tree View. How can I achieve this?



You have to customize one small module to make it visible to invoice, for more info contact@tidyway.in

TidyWay Software Solutions, TidyWay
on 4/24/15, 9:49 AM

I know how to create a module, I just need to know what to inherit exactly...in order to pass the field data from one model to another

Santi
on 5/4/15, 6:26 PM
2
Akhil P Sivan
On 5/5/15, 2:47 AM

Hi,

You can inherit account.invoice object and add a functional field.

Try like this:

in .py file:

from openerp.osv import fields, osv
class account_invoice(osv.osv):
 
    _inherit = "account.invoice"
    
    def _get_vat_num(self, cr, uid, ids,field_name, args, context=None):
        
        partner_pool = self.pool.get('res.partner')
        invoice_pool = self.pool.get('account.invoice')
        res = {}
        for inv_id in self.browse(cr, uid, ids, context=context):
            invoice = invoice_pool.browse(cr,uid, inv_id.id, context=None)
            partner = partner_pool.browse(cr, uid, invoice.partner_id.id, context=None)
            res[inv_id.id] = partner.vat
        
        return res 
    
    _columns = {
                
                'inv_vat': fields.function(_get_vat_num, string="VAT", type='char', method=True)  
                 }


in .xml file:

<openerp>
    <data>
        <record id="invoice_form_inherit" model="ir.ui.view">
    		<field name="name">invoice.form.inherit</field>
    		<field name="model">account.invoice</field>
    		<field name="inherit_id" ref="account.invoice_form"/>
    		<field name="arch" type="xml">
    		    <field name="partner_id" position="after">
    		    	
                                    <field name="inv_vat"/>
    		    </field>
    		</field>
		</record>
            
    </data>
</openerp>

Thanks Akhil! and sorry for my late response, I was busy and hadn't been able to try it till now. That's exactly what I was looking for, I just changed the view code to tree instead of form, and it worked. Thanks again for the detailed response.

Santi
on 5/10/15, 6:09 PM
3
Solanki Shamji
On 5/5/15, 2:41 AM

Hello,

May be this will help full to you.

Inherit account.account.

Add one functional field in account.account which fetch value from res.partner because partner_id is already present in account.account.

Thanks.

Shamji.

Thanks Solanki.

Santi
on 5/10/15, 6:10 PM
0

Function fields are deprecated in api v10, now should be

inv_vat = fields.Char(string="VAT", compute="_get_vat_num")
0
Alberto
On 4/3/17, 3:21 PM

Hi, Im trying to port this solution to odoo 10, but the module gives this error when installing, any ideas?:

AttributeError: 'module' object has no attribute 'function'

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.

Register

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

2 follower(s)

Stats

Asked: 4/13/15, 7:16 AM
Seen: 2738 times
Last updated: 7/20/17, 10:45 AM