SlideShare a Scribd company logo
• Software Engineer, RD Dummies Team Leader
Or how to implement a plant nursery in a few
minutes.
EXPERIENCE
2018
Odoo Experience 2018 - Develop an App with the Odoo Framework
The use case:
— Classy Cool Dev
Thanks Classy Cool Dev!
● Three-tier
client/server/database
● Webclient in Javascript
● Server and backend modules
in Python
○ MVC framework
○ ORM to interact with
database
● Manage a plant nursery:
○ List of plants
○ Manage orders
○ Keep a customers list
● You will learn:
○ Structure of a module
○ Definition of data models
○ Definition of views and menus
Structure of an
● A manifest file
● Python code (models, logic)
● Data files, XML and CSV (base data, views, menus)
● Frontend resources (Javascript, CSS)
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Plant Nursery',
'version': '1.0',
'category': 'Tools',
'summary': 'Plants and customers management',
'depends': ['web'],
'data': [
'security/ir.model.access.csv',
'data/data.xml',
'views/views.xml',
],
'demo': [
'data/demo.xml',
],
'css': [],
'installable': True,
'auto_install': False,
'application': True,
}
The manifest file __manifest__.py
plant_nursery/models.py
from odoo import fields, models
class Plants(models.Model):
_name = 'nursery.plant'
name = fields.Char("Plant Name")
price = fields.Float()
class Customer(models.Model):
_name = 'nursery.customer'
name = fields.Char("Customer Name", required=True)
email = fields.Char(help="To receive the newsletter")
https://www.odoo.com/documentation/10.0/reference/orm.html#fields
plant_nursery/security/ir.model.access.csv
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_nursery_plant,access_nursery_plant,plant_nursery.model_nursery_plant,base.group_user,1,1,1,1
access_nursery_customer,access_nursery_customer,plant_nursery.model_nursery_customer,base.group_user,1
,1,1,1
plant_nursery/views/nursery_views.xml
https://www.odoo.com/documentation/10.0/reference/orm.html#fields
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record model="ir.actions.act_window" id="action_nursery_plant">
<field name="name">Plants</field>
<field name="res_model">nursery.plant</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem name="Plant Nursery" id="nursery_root_menu"
web_icon="plant_nursery,static/description/icon.png"/>
<menuitem name="Plants" id="nursery_plant_menu"
parent="nursery_root_menu"
action="action_nursery_plant"
sequence="1"/>
</odoo>
Auto generated views
https://www.odoo.com/documentation/10.0/reference/orm.html#fields
Odoo Experience 2018 - Develop an App with the Odoo Framework
plant_nursery/views/nursery_views.xml
<record model="ir.ui.view" id="nursery_plant_view_form">
<field name="name">nursery.plant.view.form</field>
<field name="model">nursery.plant</field>
<field name="arch" type="xml">
<form string="Plant">
<sheet>
<h1>
<field name="name" placeholder="Plant Name"/>
</h1>
<notebook>
<page string="Shop">
<group>
<field name="price"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
Odoo Experience 2018 - Develop an App with the Odoo Framework
Odoo Experience 2018 - Develop an App with the Odoo Framework
● Many2one
● One2many
● Many2many
class Order(models.Model):
_name = 'nursery.order'
plant_id = fields.Many2one("nursery.plant", required=True)
customer_id = fields.Many2one("nursery.customer")
class Plants(models.Model):
_name = 'nursery.plant'
order_ids = fields.One2many("nursery.order", "plant_id", string="Orders")
Odoo Experience 2018 - Develop an App with the Odoo Framework
Odoo Experience 2018 - Develop an App with the Odoo Framework
● Read
● Write
● Create
● Unlink
● Search
class Order(models.Model):
_name = 'nursery.order'
name = fields.Datetime(default=fields.Datetime.now)
plant_id = fields.Many2one("nursery.plant", required=True)
customer_id = fields.Many2one("nursery.customer")
state = fields.Selection([
('draft', 'Draft'),
('confirm', 'Confirmed'),
('cancel', 'Canceled')
], default='draft')
last_modification = fields.Datetime(readonly=True)
class Order(model.Models):
_name = 'nursery.order'
def write(self, values):
# helper to "YYYY-MM-DD"
values['last_modification'] = fields.Datetime.now()
return super(Order, self).write(values)
def unlink(self):
# self is a recordset
for order in self:
if order.state == 'confirm':
raise UserError("You can not delete confirmed orders")
return super(Order, self).unlink()
<record model="ir.ui.view" id="nursery_order_form">
<field name="name">Order Form View</field>
<field name="model">nursery.order</field>
<field name="arch" type="xml">
<form string="Plant Order">
<header>
<field name="state" widget="statusbar" options="{'clickable': '1'}"/>
</header>
<sheet>
<group col="4">
<group colspan="2">
<field name="plant_id" />
<field name="customer_id" />
</group>
<group colspan="2">
<field name="last_modification" />
</group>
</group>
</sheet>
</form>
</field>
</record>
Odoo Experience 2018 - Develop an App with the Odoo Framework
— Classy Cool Dev
Thanks Classy Cool Dev!
● For complex values
● Trigger for recompute
● Stored or not in database
class Plants(models.Model):
_name = 'nursery.plant'
order_count = fields.Integer(compute='_compute_order_count',
store=True,
string="Total sold")
@api.depends('order_ids')
def _compute_order_count(self):
for plant in self:
plant.order_count = len(plant.order_ids)
● Triggered after every creation or
modification
● Instead of overriding create & write
class Plants(models.Model):
_name = 'nursery.plant'
number_in_stock = fields.Integer()
@api.constrains('order_count', 'number_in_stock')
def _check_available_in_stock(self):
for plant in self:
if plant.number_in_stock and 
plant.order_count > plant.number_in_stock:
raise UserError("There is only %s %s in stock but %s were sold"
% (plant.number_in_stock, plant.name, plant.order_count))
● Display information in a tile
● Add a picture of the plant
● Aggregated view to visualize the
flow (will need a search view)
class Plants(models.Model):
_name = 'nursery.plant'
image = fields.Binary("Plant Image", attachment=True)
<record model="ir.actions.act_window" id="action_nursery_order">
<field name="name">Orders</field>
<field name="res_model">nursery.order</field>
<field name="view_mode">kanban,tree,form</field>
</record>
<record id="nursery_plant_view_kanban" model="ir.ui.view">
<field name="name">nursery.plant.view.kanban</field>
<field name="model">nursery.plant</field>
<field name="arch" type="xml">
<kanban>
<field name="id"/>
<field name="image"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="o_kanban_image">
<img t-att-src="kanban_image('nursery.plant', 'image', record.id.raw_value)"/>
</div>
<div class="oe_kanban_details">
<strong class="o_kanban_record_title"><field name="name"/></strong>
<ul><li><strong>Price: <field name="price"></field></strong></li</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
Odoo Experience 2018 - Develop an App with the Odoo Framework
Odoo Experience 2018 - Develop an App with the Odoo Framework
<record id="nursery_order_view_search" model="ir.ui.view">
<field name="name">nursery.order.view.search</field>
<field name="model">nursery.order</field>
<field name="arch" type="xml">
<search string="Search Orders">
<field name="plant_id" string="Plant"/>
<field name="customer_id" string="Customer"/>
<field name="state"/>
<filter string="Confirmed" name="confirmed"
domain="[('state', '=', 'confirm')]"/>
<separator />
<group expand="0" string="Group By">
<filter string="State" name="group_by_state"
domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
class Order(models.Model):
_name = 'nursery.order'
state = fields.Selection([
('draft', 'Draft'),
('confirm', 'Confirmed'),
('cancel', 'Canceled')
], default='draft', group_expand="_expand_states")
def _expand_states(self, states, domain, order):
return [key for key, val in type(self).state.selection]
<record model="ir.actions.act_window" id="action_nursery_order">
<field name="name">Orders</field>
<field name="res_model">nursery.order</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{'search_default_group_by_state': 1}</field>
</record>
Odoo Experience 2018 - Develop an App with the Odoo Framework
#odooexperience
Based on work from Thibault DELAVALLEE and Martin TRIGAUX, that was based on work from Damien BOUVY
https://github.com/tivisse/odoodays-2018
EXPERIENCE
2018
Ad

More Related Content

What's hot (20)

Web controls
Web controlsWeb controls
Web controls
Sarthak Varshney
 
Grep - A powerful search utility
Grep - A powerful search utilityGrep - A powerful search utility
Grep - A powerful search utility
Nirajan Pant
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
baabtra.com - No. 1 supplier of quality freshers
 
Android Intent.pptx
Android Intent.pptxAndroid Intent.pptx
Android Intent.pptx
vishal choudhary
 
Javascript essentials
Javascript essentialsJavascript essentials
Javascript essentials
Bedis ElAchèche
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using Java
Glenn Guden
 
React
ReactReact
React
manii kanta
 
File Handling in Python
File Handling in PythonFile Handling in Python
File Handling in Python
International Institute of Information Technology (I²IT)
 
Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
Sangharsh agarwal
 
Lists
ListsLists
Lists
Lakshmi Sarvani Videla
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
Ra'Fat Al-Msie'deen
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
Rishi Kothari
 
Json
JsonJson
Json
Anand Kumar Rajana
 
Javascript dom event
Javascript dom eventJavascript dom event
Javascript dom event
Bunlong Van
 
Document object model(dom)
Document object model(dom)Document object model(dom)
Document object model(dom)
rahul kundu
 
Python cgi programming
Python cgi programmingPython cgi programming
Python cgi programming
Smt. Indira Gandhi College of Engineering, Navi Mumbai, Mumbai
 
How to develop automated tests
How to develop automated testsHow to develop automated tests
How to develop automated tests
Odoo
 
Angular 2.0 Pipes
Angular 2.0 PipesAngular 2.0 Pipes
Angular 2.0 Pipes
Eyal Vardi
 
Open Source Ajax Solution @OSDC.tw 2009
Open Source Ajax  Solution @OSDC.tw 2009Open Source Ajax  Solution @OSDC.tw 2009
Open Source Ajax Solution @OSDC.tw 2009
Robbie Cheng
 
Asp.net state management
Asp.net state managementAsp.net state management
Asp.net state management
priya Nithya
 

Similar to Odoo Experience 2018 - Develop an App with the Odoo Framework (20)

Develop an App with the Odoo Framework
Develop an App with the Odoo FrameworkDevelop an App with the Odoo Framework
Develop an App with the Odoo Framework
Odoo
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
Tieturi Oy
 
Odoo Experience 2018 - From a Web Controller to a Full CMS
Odoo Experience 2018 - From a Web Controller to a Full CMSOdoo Experience 2018 - From a Web Controller to a Full CMS
Odoo Experience 2018 - From a Web Controller to a Full CMS
ElínAnna Jónasdóttir
 
Web internship Yii Framework
Web internship  Yii FrameworkWeb internship  Yii Framework
Web internship Yii Framework
Noveo
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Engine Yard
 
ASP.Net Presentation Part3
ASP.Net Presentation Part3ASP.Net Presentation Part3
ASP.Net Presentation Part3
Neeraj Mathur
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
Fermin Galan
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3
masahiroookubo
 
Кирилл Латыш "ERP on Websockets"
Кирилл Латыш "ERP on Websockets"Кирилл Латыш "ERP on Websockets"
Кирилл Латыш "ERP on Websockets"
Fwdays
 
How to add Many2Many fields in odoo website form.pptx
How to add Many2Many fields in odoo website form.pptxHow to add Many2Many fields in odoo website form.pptx
How to add Many2Many fields in odoo website form.pptx
Celine George
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
ColdFusionConference
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
www.netgains.org
 
Spca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_librariesSpca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
 
Sql Portfolio
Sql PortfolioSql Portfolio
Sql Portfolio
Shelli Ciaschini
 
Stripes Framework
Stripes FrameworkStripes Framework
Stripes Framework
Johannes Carlén
 
How to Add Sort Option in Website Portal Odoo 17
How to Add Sort Option in Website Portal Odoo 17How to Add Sort Option in Website Portal Odoo 17
How to Add Sort Option in Website Portal Odoo 17
Celine George
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
Jennifer Bourey
 
Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
Stefane Fermigier
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
crokitta
 
Develop an App with the Odoo Framework
Develop an App with the Odoo FrameworkDevelop an App with the Odoo Framework
Develop an App with the Odoo Framework
Odoo
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
Tieturi Oy
 
Odoo Experience 2018 - From a Web Controller to a Full CMS
Odoo Experience 2018 - From a Web Controller to a Full CMSOdoo Experience 2018 - From a Web Controller to a Full CMS
Odoo Experience 2018 - From a Web Controller to a Full CMS
ElínAnna Jónasdóttir
 
Web internship Yii Framework
Web internship  Yii FrameworkWeb internship  Yii Framework
Web internship Yii Framework
Noveo
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Engine Yard
 
ASP.Net Presentation Part3
ASP.Net Presentation Part3ASP.Net Presentation Part3
ASP.Net Presentation Part3
Neeraj Mathur
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
Fermin Galan
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3
masahiroookubo
 
Кирилл Латыш "ERP on Websockets"
Кирилл Латыш "ERP on Websockets"Кирилл Латыш "ERP on Websockets"
Кирилл Латыш "ERP on Websockets"
Fwdays
 
How to add Many2Many fields in odoo website form.pptx
How to add Many2Many fields in odoo website form.pptxHow to add Many2Many fields in odoo website form.pptx
How to add Many2Many fields in odoo website form.pptx
Celine George
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
ColdFusionConference
 
Spca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_librariesSpca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
 
How to Add Sort Option in Website Portal Odoo 17
How to Add Sort Option in Website Portal Odoo 17How to Add Sort Option in Website Portal Odoo 17
How to Add Sort Option in Website Portal Odoo 17
Celine George
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
Jennifer Bourey
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
crokitta
 
Ad

More from ElínAnna Jónasdóttir (20)

Odoo Experience 2018 - Connect Your PoS to Hardware
Odoo Experience 2018 - Connect Your PoS to HardwareOdoo Experience 2018 - Connect Your PoS to Hardware
Odoo Experience 2018 - Connect Your PoS to Hardware
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Odoo Studio as a Prototyping Tool
Odoo Experience 2018 - Odoo Studio as a Prototyping ToolOdoo Experience 2018 - Odoo Studio as a Prototyping Tool
Odoo Experience 2018 - Odoo Studio as a Prototyping Tool
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Odoo Studio: A Functional Approach
Odoo Experience 2018 - Odoo Studio: A Functional ApproachOdoo Experience 2018 - Odoo Studio: A Functional Approach
Odoo Experience 2018 - Odoo Studio: A Functional Approach
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
Odoo Experience 2018 - GDPR: How Odoo Can Help You with ComplieanceOdoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
Odoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Multi-Channel Sales: The Future of Retail
Odoo Experience 2018 - Multi-Channel Sales: The Future of RetailOdoo Experience 2018 - Multi-Channel Sales: The Future of Retail
Odoo Experience 2018 - Multi-Channel Sales: The Future of Retail
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-UpsOdoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with OdooOdoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Organize Your Operations in a Startup Environment
Odoo Experience 2018 - Organize Your Operations in a Startup EnvironmentOdoo Experience 2018 - Organize Your Operations in a Startup Environment
Odoo Experience 2018 - Organize Your Operations in a Startup Environment
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Best Practices to Close Deals
Odoo Experience 2018 - Best Practices to Close DealsOdoo Experience 2018 - Best Practices to Close Deals
Odoo Experience 2018 - Best Practices to Close Deals
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Customer Success Team: How Do We Work?
Odoo Experience 2018 - Customer Success Team: How Do We Work?Odoo Experience 2018 - Customer Success Team: How Do We Work?
Odoo Experience 2018 - Customer Success Team: How Do We Work?
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Customer Success Team: Meet our Experts
Odoo Experience 2018 - Customer Success Team: Meet our ExpertsOdoo Experience 2018 - Customer Success Team: Meet our Experts
Odoo Experience 2018 - Customer Success Team: Meet our Experts
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How a Feedback Loop Helps to Fine-Tune Your Manufactu...
Odoo Experience 2018 -  How a Feedback Loop Helps to Fine-Tune Your Manufactu...Odoo Experience 2018 -  How a Feedback Loop Helps to Fine-Tune Your Manufactu...
Odoo Experience 2018 - How a Feedback Loop Helps to Fine-Tune Your Manufactu...
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
Odoo Experience 2018 - Successful Import of Big Data with an Efficient ToolOdoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
Odoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
Odoo Experience 2018 - Inventory: Advanced Flow with the New BarcodeOdoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
Odoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Easypost: New Shipping Connector
Odoo Experience 2018 - Easypost: New Shipping Connector Odoo Experience 2018 - Easypost: New Shipping Connector
Odoo Experience 2018 - Easypost: New Shipping Connector
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Project Methodology: The Editor Stance
Odoo Experience 2018 - Project Methodology: The Editor StanceOdoo Experience 2018 - Project Methodology: The Editor Stance
Odoo Experience 2018 - Project Methodology: The Editor Stance
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Grow Your Business with In-App Purchases
Odoo Experience 2018 -  Grow Your Business with In-App PurchasesOdoo Experience 2018 -  Grow Your Business with In-App Purchases
Odoo Experience 2018 - Grow Your Business with In-App Purchases
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - All You Need to Know About Odoo's Partnership
Odoo Experience 2018 - All You Need to Know About Odoo's PartnershipOdoo Experience 2018 - All You Need to Know About Odoo's Partnership
Odoo Experience 2018 - All You Need to Know About Odoo's Partnership
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Connect Your PoS to Hardware
Odoo Experience 2018 - Connect Your PoS to HardwareOdoo Experience 2018 - Connect Your PoS to Hardware
Odoo Experience 2018 - Connect Your PoS to Hardware
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Odoo Studio as a Prototyping Tool
Odoo Experience 2018 - Odoo Studio as a Prototyping ToolOdoo Experience 2018 - Odoo Studio as a Prototyping Tool
Odoo Experience 2018 - Odoo Studio as a Prototyping Tool
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Odoo Studio: A Functional Approach
Odoo Experience 2018 - Odoo Studio: A Functional ApproachOdoo Experience 2018 - Odoo Studio: A Functional Approach
Odoo Experience 2018 - Odoo Studio: A Functional Approach
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
Odoo Experience 2018 - GDPR: How Odoo Can Help You with ComplieanceOdoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
Odoo Experience 2018 - GDPR: How Odoo Can Help You with Complieance
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Multi-Channel Sales: The Future of Retail
Odoo Experience 2018 - Multi-Channel Sales: The Future of RetailOdoo Experience 2018 - Multi-Channel Sales: The Future of Retail
Odoo Experience 2018 - Multi-Channel Sales: The Future of Retail
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-UpsOdoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
Odoo Experience 2018 - Speed Up Credit Collection with Automated Follow-Ups
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with OdooOdoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
Odoo Experience 2018 - Improve Your Visibility and Prospect Better with Odoo
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Organize Your Operations in a Startup Environment
Odoo Experience 2018 - Organize Your Operations in a Startup EnvironmentOdoo Experience 2018 - Organize Your Operations in a Startup Environment
Odoo Experience 2018 - Organize Your Operations in a Startup Environment
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Best Practices to Close Deals
Odoo Experience 2018 - Best Practices to Close DealsOdoo Experience 2018 - Best Practices to Close Deals
Odoo Experience 2018 - Best Practices to Close Deals
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Customer Success Team: How Do We Work?
Odoo Experience 2018 - Customer Success Team: How Do We Work?Odoo Experience 2018 - Customer Success Team: How Do We Work?
Odoo Experience 2018 - Customer Success Team: How Do We Work?
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Customer Success Team: Meet our Experts
Odoo Experience 2018 - Customer Success Team: Meet our ExpertsOdoo Experience 2018 - Customer Success Team: Meet our Experts
Odoo Experience 2018 - Customer Success Team: Meet our Experts
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How a Feedback Loop Helps to Fine-Tune Your Manufactu...
Odoo Experience 2018 -  How a Feedback Loop Helps to Fine-Tune Your Manufactu...Odoo Experience 2018 -  How a Feedback Loop Helps to Fine-Tune Your Manufactu...
Odoo Experience 2018 - How a Feedback Loop Helps to Fine-Tune Your Manufactu...
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
Odoo Experience 2018 - Successful Import of Big Data with an Efficient ToolOdoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
Odoo Experience 2018 - Successful Import of Big Data with an Efficient Tool
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
Odoo Experience 2018 - Inventory: Advanced Flow with the New BarcodeOdoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
Odoo Experience 2018 - Inventory: Advanced Flow with the New Barcode
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Easypost: New Shipping Connector
Odoo Experience 2018 - Easypost: New Shipping Connector Odoo Experience 2018 - Easypost: New Shipping Connector
Odoo Experience 2018 - Easypost: New Shipping Connector
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Project Methodology: The Editor Stance
Odoo Experience 2018 - Project Methodology: The Editor StanceOdoo Experience 2018 - Project Methodology: The Editor Stance
Odoo Experience 2018 - Project Methodology: The Editor Stance
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - Grow Your Business with In-App Purchases
Odoo Experience 2018 -  Grow Your Business with In-App PurchasesOdoo Experience 2018 -  Grow Your Business with In-App Purchases
Odoo Experience 2018 - Grow Your Business with In-App Purchases
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - All You Need to Know About Odoo's Partnership
Odoo Experience 2018 - All You Need to Know About Odoo's PartnershipOdoo Experience 2018 - All You Need to Know About Odoo's Partnership
Odoo Experience 2018 - All You Need to Know About Odoo's Partnership
ElínAnna Jónasdóttir
 
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
Odoo Experience 2018 - How to Manage Accounting Firms with Odoo?
ElínAnna Jónasdóttir
 
Ad

Recently uploaded (20)

Wood Age and Trees of life - talk at Newcastle City Library
Wood Age and Trees of life - talk at Newcastle City LibraryWood Age and Trees of life - talk at Newcastle City Library
Wood Age and Trees of life - talk at Newcastle City Library
Woods for the Trees
 
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
ASHISHKUMAR504404
 
816111728-IELTS-WRITING test óft-PPT.pptx
816111728-IELTS-WRITING test óft-PPT.pptx816111728-IELTS-WRITING test óft-PPT.pptx
816111728-IELTS-WRITING test óft-PPT.pptx
787mianahmad
 
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
patricialago3459
 
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdfMicrosoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
MinniePfeiffer
 
Speech 3-A Vision for Tomorrow for GE2025
Speech 3-A Vision for Tomorrow for GE2025Speech 3-A Vision for Tomorrow for GE2025
Speech 3-A Vision for Tomorrow for GE2025
Noraini Yunus
 
Profit Growth Drivers for Small Business.pdf
Profit Growth Drivers for Small Business.pdfProfit Growth Drivers for Small Business.pdf
Profit Growth Drivers for Small Business.pdf
TheodoreHawkins
 
2. Asexual propagation of fruit crops and .pptx
2. Asexual propagation of fruit crops and .pptx2. Asexual propagation of fruit crops and .pptx
2. Asexual propagation of fruit crops and .pptx
aschenakidawit1
 
kurtlewin theory of motivation -181226082203.pptx
kurtlewin theory of motivation -181226082203.pptxkurtlewin theory of motivation -181226082203.pptx
kurtlewin theory of motivation -181226082203.pptx
TayyabaSiddiqui12
 
NASIG ISSN 2025 updated for the_4-30meeting.pptx
NASIG ISSN 2025 updated for the_4-30meeting.pptxNASIG ISSN 2025 updated for the_4-30meeting.pptx
NASIG ISSN 2025 updated for the_4-30meeting.pptx
reine1
 
The Business Dynamics of Quick Commerce.pdf
The Business Dynamics of Quick Commerce.pdfThe Business Dynamics of Quick Commerce.pdf
The Business Dynamics of Quick Commerce.pdf
RDinuRao
 
Bloom Where You Are Planted 05.04.2025.pptx
Bloom Where You Are Planted 05.04.2025.pptxBloom Where You Are Planted 05.04.2025.pptx
Bloom Where You Are Planted 05.04.2025.pptx
FamilyWorshipCenterD
 
Speech 2-Unity in Diversity, Strength in Solidarity
Speech 2-Unity in Diversity, Strength in SolidaritySpeech 2-Unity in Diversity, Strength in Solidarity
Speech 2-Unity in Diversity, Strength in Solidarity
Noraini Yunus
 
Approach to diabetes Mellitus, diagnosis
Approach to diabetes Mellitus,  diagnosisApproach to diabetes Mellitus,  diagnosis
Approach to diabetes Mellitus, diagnosis
Mohammed Ahmed Bamashmos
 
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvvBasic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
hkthmrz42n
 
Reflections on an ngo peace conference in zimbabwe
Reflections on an ngo peace conference in zimbabweReflections on an ngo peace conference in zimbabwe
Reflections on an ngo peace conference in zimbabwe
jujuaw05
 
Setup & Implementation of OutSystems Cloud Connector ODC
Setup & Implementation of OutSystems Cloud Connector ODCSetup & Implementation of OutSystems Cloud Connector ODC
Setup & Implementation of OutSystems Cloud Connector ODC
outsystemspuneusergr
 
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptxLec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
TayyabaSiddiqui12
 
Effects of physical activity, exercise and sedentary behaviors to
Effects of physical activity, exercise and sedentary behaviors toEffects of physical activity, exercise and sedentary behaviors to
Effects of physical activity, exercise and sedentary behaviors to
DancanNyabuto
 
Bidding World Conference 2027 - NSGF Mexico.pdf
Bidding World Conference 2027 - NSGF Mexico.pdfBidding World Conference 2027 - NSGF Mexico.pdf
Bidding World Conference 2027 - NSGF Mexico.pdf
ISGF - International Scout and Guide Fellowship
 
Wood Age and Trees of life - talk at Newcastle City Library
Wood Age and Trees of life - talk at Newcastle City LibraryWood Age and Trees of life - talk at Newcastle City Library
Wood Age and Trees of life - talk at Newcastle City Library
Woods for the Trees
 
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...
ASHISHKUMAR504404
 
816111728-IELTS-WRITING test óft-PPT.pptx
816111728-IELTS-WRITING test óft-PPT.pptx816111728-IELTS-WRITING test óft-PPT.pptx
816111728-IELTS-WRITING test óft-PPT.pptx
787mianahmad
 
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...
patricialago3459
 
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdfMicrosoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdf
MinniePfeiffer
 
Speech 3-A Vision for Tomorrow for GE2025
Speech 3-A Vision for Tomorrow for GE2025Speech 3-A Vision for Tomorrow for GE2025
Speech 3-A Vision for Tomorrow for GE2025
Noraini Yunus
 
Profit Growth Drivers for Small Business.pdf
Profit Growth Drivers for Small Business.pdfProfit Growth Drivers for Small Business.pdf
Profit Growth Drivers for Small Business.pdf
TheodoreHawkins
 
2. Asexual propagation of fruit crops and .pptx
2. Asexual propagation of fruit crops and .pptx2. Asexual propagation of fruit crops and .pptx
2. Asexual propagation of fruit crops and .pptx
aschenakidawit1
 
kurtlewin theory of motivation -181226082203.pptx
kurtlewin theory of motivation -181226082203.pptxkurtlewin theory of motivation -181226082203.pptx
kurtlewin theory of motivation -181226082203.pptx
TayyabaSiddiqui12
 
NASIG ISSN 2025 updated for the_4-30meeting.pptx
NASIG ISSN 2025 updated for the_4-30meeting.pptxNASIG ISSN 2025 updated for the_4-30meeting.pptx
NASIG ISSN 2025 updated for the_4-30meeting.pptx
reine1
 
The Business Dynamics of Quick Commerce.pdf
The Business Dynamics of Quick Commerce.pdfThe Business Dynamics of Quick Commerce.pdf
The Business Dynamics of Quick Commerce.pdf
RDinuRao
 
Bloom Where You Are Planted 05.04.2025.pptx
Bloom Where You Are Planted 05.04.2025.pptxBloom Where You Are Planted 05.04.2025.pptx
Bloom Where You Are Planted 05.04.2025.pptx
FamilyWorshipCenterD
 
Speech 2-Unity in Diversity, Strength in Solidarity
Speech 2-Unity in Diversity, Strength in SolidaritySpeech 2-Unity in Diversity, Strength in Solidarity
Speech 2-Unity in Diversity, Strength in Solidarity
Noraini Yunus
 
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvvBasic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
Basic.pptxsksdjsdjdvkfvfvfvfvfvfvfvfvfvvvv
hkthmrz42n
 
Reflections on an ngo peace conference in zimbabwe
Reflections on an ngo peace conference in zimbabweReflections on an ngo peace conference in zimbabwe
Reflections on an ngo peace conference in zimbabwe
jujuaw05
 
Setup & Implementation of OutSystems Cloud Connector ODC
Setup & Implementation of OutSystems Cloud Connector ODCSetup & Implementation of OutSystems Cloud Connector ODC
Setup & Implementation of OutSystems Cloud Connector ODC
outsystemspuneusergr
 
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptxLec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
Lec 3 - Chapter 2 Carl Jung’s Theory of Personality.pptx
TayyabaSiddiqui12
 
Effects of physical activity, exercise and sedentary behaviors to
Effects of physical activity, exercise and sedentary behaviors toEffects of physical activity, exercise and sedentary behaviors to
Effects of physical activity, exercise and sedentary behaviors to
DancanNyabuto
 

Odoo Experience 2018 - Develop an App with the Odoo Framework