Odoo Help

Welcome!

This community 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.

3

How can I add custom fields that calculate a combination of other fields? Like Sales Margin as a percentage? Without a module.

By
Ray Carnes
on 9/17/16, 8:04 PM 499 views

I know I can write code and create a module to add custom fields to Odoo.

I also know that custom fields can be added via the User Interface easily.  Is it possible to create a new field that gets it value automatically (by a calculation) from another set of fields?

5

Ray Carnes

--Ray Carnes--
15717
| 9 7 9
Greater Los Angeles, United States
--Ray Carnes--

Senior Odoo Analyst

OpenERP 6.1, 7.0 and Odoo 8.0, 9.0 (Since 2012)

Completed Functional and Technical Training.

Major Skills:

  • Needs Discovery and Requirements Analysis;

  • Function and Technical Specifications;

  • Project Planning;

  • Prototyping and Proof of concepts;

  • Data migration;

  • Configuration & Customization (UI and modules);

  • Integration - data, business logic and service levels;

  • Training and Knowledge transfer;

  • Go Live support;

  • Help desk;

  • Version Migration.

I have over 20 years of experience empowering and enabling users with enterprise information systems that make a real and measurable difference in their ability to proactively manage their businesses and organizations. 

Ray Carnes
On 9/17/16, 8:25 PM

1.  Enable the option to show Margins on Sales Orders:

       Sales --> Configuration --> Settings  

     


2.  Add the field via the User Interface:

      Settings --> Technical --> Database Structure --> Fields

      Create

      

The code for the Compute section is:

for record in self:
    if record['amount_total'] > 0: 
record['x_margin_percentage'] = record['margin'] / record['amount_total']


3. Add the field to the User Interface, by creating a view that inherits and overrides the Odoo Sales Order Form view that adds the margin field:

      Settings --> Technical --> User Interface --> Views

      Create

      

The XML for the Architecture field is:

<field name="margin" position="after">    
<field name="x_margin_percentage">
</field>


Finished Customization:


Note: You may also want to use amount_untaxed instead of amount_total if you don't want tax included in the margin calculation

Bista Solutions US, Ray Carnes
on 10/24/16, 10:11 PM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)

Stats

Asked: 9/17/16, 8:04 PM
Seen: 499 times
Last updated: 10/10/16, 9:06 AM