Glossary of Terminology

Whilst we try to be as straight-forward as possible, using language and phrases that most people will be able to understand, there is no getting away from some important terms within the industry.

An API, or Application Programming Interface, enables developers to open their applications’ data and functionality to external third-party developers. This allows developers to build applications that leverage external APIs, adding functionality to their applications.

In Odoo, an Abstract Model is a generic model which defines fields and functions for any model which inherits from it.

Access Rights are the permissions granted to users to allow them or prevent them from performing certain actions. In Odoo, they consist of read, write, create, and delete.

In Odoo, activities are schedules tasks which are assigned to users so they can keep track of what needs to be done and can have a due date for when they need to be completed by.

The Activity view is used to display activities linked to the records. The data is displayed in a chart-style with the activity types as columns and the records as rows.

An Odoo app or application is a collection of modules. For example, the Sales application as made from a variety of much, such as Sales SMS, Sales Stock, Sales Timesheet, etc.

In Odoo, a Backend Theme is a module that changes the appearance of the backend in Odoo.

A Binary Field is a field in Odoo which stores a file.

A Boolean Field is a field in Odoo which is True of False.

For Odoo form views, Button Boxes are buttons which are located on the top bar of the displayed form. These buttons can navigate to other records which are linked to the current record (through relational fields). Examples can be seen on the Contacts app where there are buttons boxes for Meetings, Opportunities, Sales, etc.

Cascading Style Sheets are used to customise the look and feel of a website by controlling how HTML elements are displayed on screen. CSS allows multiple web pages to use the same style sheet, which not only makes the website easier to style but also creates consistency in styling.

The Calendar view is used to display records as events in a daily, weekly, monthly, or yearly calendar.

A Char Field is a field in Odoo which contains text but only on one line.

In Odoo, the Chatter is the communication tool used on most records, specifically the form view. It allows you to send emails to the customer directly from the form, log notes which can only be seen by internal users, schedule activities for users, attach files, and follow the record to receive notifications on updates.

The Cohort view is used to display and understand the way some data changes over a period of time. For example, if a business has a subscription service, the Cohort View can display the total subscriptions each month and can also see the rate at which customers decide to leave the subscription service.

In Odoo, a field can have a reference to a compute function which depends on other fields, from the same model or other models if they are linked. When any of the fields a compute function depends on are changed, the function will run in order to update the computed field.

In Odoo, there are Constrains which can be applied to a model to restrict it. For example, if a model had an Integer field for age, we would want to add a constraint to prevent it going below 0.

The Cron command-line utility, or Cron Job, is a job schedular. Odoo uses Cron Jobs to automatically run scheduled tasks, which is done by calling a Python function from a specific model. Odoo Cron Jobs can be customised in a variety of ways, such as changing the interval type (hours, minutes, etc.), changing the interval frequency (every 1 day, 2 weeks, etc.), specifying how many times it can be called, etc.

Applications in Odoo can be customised massively to integrate with the processes within a business as closely as possible. This can be done in a variety of ways, such as modifying the states of a model, changing the layout of a form view, decide what fields are read only in certain states, etc. The possibilities are essentially endless.

The Dashboard view is used to display aggregate data, as well as displaying sub views. This allows lots of information about data to be present on the same page, to give a more complete look on a given dataset.

A Date Field is a field in Odoo which store a date, containing the year, month, and day.

A Datetime Field is a field in Odoo which store the date and the time, containing the year, month, and day as well as the hour, minute, second, microsecond, and a time zone.

In Odoo, a Domain on a model is a way of filtering the records to match the filter criteria. For example, if we have a Company field and Company Contact field on a view. If we select a company, we only want to show the contacts for the company selected, not all the contacts in the database, so we can add a domain filter to achieve this.

Enterprise Resource Planning is a process used by companies to manage and integrate important processes businesses have. Additionally, lots of tasks can be automated to massively increase the efficiency of tasks.

Fields in Odoo are a way to determine how different types of data are stored. There are basic fields, such as numbers or text, and relational fields, which link models to each other.

A Float Field is a field in Odoo which represents a decimal number.

The Form view is used to display data for a single record. It often implements the use of the status bar, button boxes, a notebook, and chatter.

The Gantt view displays Gantt charts, which are used for project management to make sure deadlines are met and to see which tasks need to be completed before other ones can be started.

Git is software for tracking changes in a set of files, commonly used in teams of any size to help everyone collaborate with each other, and to build a history of changes over time.

A Git Repository is a directory where Git tracks the changes of the files inside.

The Graph view is used to visualise groups of data over a number of records or record groups, in a variety of different graph types (bar, line, pie).

Hyper Text Markup Language is a markup language and file format describing the structure of a web page with elements. Unlike XML, HTML provides many tools to allow programmer’s to completely customise the structure of a website.

A HTML Field is a field in Odoo which represents HTML code.

An IFrame (Inline Frame) is a HTML document embedded inside another HTML document on a website or web page.

An Image Field is a field in Odoo which stores an image.

An Inbound Email Server is an email server that processes incoming emails to a mail server, usually filtering any without a destination on the mail server, are spam, or viruses.

Inheritance is the procedure where a class (model in Odoo) inherits the fields and functions from another.

An Integer Field is a field in Odoo which represents a whole number.

JavaScript is an object-oriented computer programming language commonly used to create interactive effects within web-based applications.

The Kanban view is a Kanban board visualisation, where each record is displayed as a card. The cards can be grouped into columns for visualisation or to help with manipulation.

The List view displays a list of records and can have customisable columns. For example, a model could contain an ID, forename, and surname, as well as an address. The list view could display the ID, forename, and surname but not the address, making it completely customisable. Additionally, the colour of the text can be changed if certain records meet a criterion.

The manifest file serves to declare a Python package as an Odoo module and to specify the module metadata. The file itself contains a Python dictionary where each key and value specifies the module metadata.

A Many2many Field is a field in Odoo which allows linking of two different models, where many records from a model can reference many records from another model. For example, a product can have many tax codes, but a tax code can also be on many products, therefore many products can have many tax codes, making both the product and tax code models require Many2many fields.

A Many2one Field is a field in Odoo which allows linking of two different models, where many records from a model can reference a single record from another model. For example, if we have a Company and some Sales Orders, many Sales Orders can reference the same Company, so we choose a Many2one field on the Sales Order model.

The Map view allows records to be displayed on a world map, where each record is represented by a pin. Clicking on the pin brings up a pop up which allows you to view some of the other fields on the record.

A Model in Odoo is a way to define the logical structure of a database and specifies its fields and data types, to decide how to store it and how it can be used and manipulated.

An Odoo module is contained within an individual directory which can either extend the functionality of another module or introduce new functionality. Modules can contain a number of elements, such as models, views, data files, web controllers, and static web data.

A Monetary Field is a field in Odoo which stores currency symbol and a Float value for the amount.

A Notebook is a way to organise content in Odoo form views. It is a container for multiple tabs sections of a form, to keep less data on the page and to reduce clutter.

The Odoo Web Library, or OWL, is a UI framework intended to be the basis for the Odoo web client. Owl is written in TypeScript, taking the best ideas from the JavaScript library React, and the JavaScript framework Vue.

Odoo is an Open Source, all in one business management software containing tools to build and run a successful website as well as managing all internal business operations; all hosted on the cloud and accessible anywhere in the world with an internet connection. Because Odoo is Open Source, custom modules can also be created for it, making it extremely versatile.

In Odoo, there is a way to check when a model’s field is changed, this is done by using the Onchange decorator above a function.

A One2many Field is a field in Odoo which allows linking of two different models where a single record from a model can reference many records from another model. For example, if we have a Company and some Sales Orders, one Company can reference many Sales Orders, so we choose a One2many field on the Company model.

An Outbound Email Server is an email server that processes outgoing emails and sends them to recipients.

The Pivot view is used to visualise aggregations as a pivot table, by summarising and reorganising selected rows and columns of the data, which helps analysis of large amounts of data as it helps view the same data from many different perspectives.

PostgreSQL is a is a powerful, open-source object-relational database system that uses and extends the SQL language. Odoo uses PostgreSQL for its database system.

Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasises code readability with its use of indentation, as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

QWeb views are standard QWeb Templates. QWeb is the primary templating engine used by Odoo, in the form of XML documents, used to generate HTML fragments and pages.

A record, in database terms, is a collection of fields, each with their own name and datatypes. A model contains the ‘blueprint’ for the name and datatypes for each field and each record is an instance of that model.

A Relational Database is a collection of data items with pre-defined relationships between them. The database contains tables, where a table represents a model. Each table contains rows and columns, where the columns represent the different fields and what data types they are, and the rows represent each record in the table.

In Odoo, reports are generated from HTML/QWeb, like website views. Reports can be saved as a PDF file. A good example is to print an invoice from the Invoicing app.

SQL, or Structured Query Language, is a domain-specific language used for managing data held in relational database management systems.

Search views are not like the other views in Odoo – they do not display content, but they do apply to a specific model. Search views are used to filter and group records for another view, such as a List view.

A Selection Field is a field in Odoo which allows the user to choose between different, pre-defined, values, in the form of a drop-down menu.

In Odoo, a sequence is the standard document numbering system. Sequences are highly customizable, allowing you to change the prefix, suffix, increase the sequence size (how many numbers), and include a date in any format. For example, a sequence from a Sales Order has the sequence of S00001, in Inventory a Delivery Order has WH/OUT/00003, and another example could be LE/FEAT/2022/0001 for a feature request from our User Support Application.

A Specification Document is a document that specifies how an application should be built, which can include a list of user requirements, application features, and application design.

In Odoo, States define the different stages a record can be in throughout a business process. For example, for the Odoo Invoicing business process the states are Draft and Posted.

The Status Bar in Odoo shows all the of available states for the current record and highlights the current state of the record.

A Text Field is a field in Odoo which stores text, but can be on multiple lines, unlike a Char Field.

In Odoo, a Transient Model, is a model where the data is not stored in the database. Transient models are typically used on wizards.

User Groups are a way of standardising access rights in Odoo. This is done by creating a group which has access rights set; users can then bet set as this group and will inherit all of the access rights from that user group. Some examples of User Groups are Administrator, Manager, and User.

A web application is application software which runs on a web server, unlike computer-based applications which run locally on the computer. Web applications are accessed by using a web browser with an internet connection. Odoo is an example of a web application.

A Webhook in web development is a HTTP call-back, which is triggered when an event happens on the source website. The source site then makes a HTTP request to the configured URL, which can be listened for on the website being developed to perform an action once they receive the request.

In Odoo, a Website Theme is a module that contain pages, draggable elements and styling for your website.

The Odoo widget class is used in JavaScript and is the building block of the user interface. Essentially everything in the user interface is under the control of a widget.

A wireframe is a way to design the structure of an application or website in low detailed drawings to get a picture for the layout and how the application or website will flow. Wireframes are very important in the design stage of an application or website as they do not take long to create and can be changed quickly.

In Odoo, a Wizard is a pop-up view which extends the functionality of the application for a sub process and is used to input data to perform a specific action. For example, if you are on an Invoice in Odoo and the Invoice is posted, you can click the button to register a payment which brings up a wizard to allow you to create a payment on the selected journal to reconcile it to the Invoice.

eXtensible Markup Language is a markup language and file format for storing and transport data. XML’s focus is not to structure a page (like HTML) but to store the data in a way that is easy to transport and save in a database for example.