JA Sugite - шаблон joomla Оригами


It's not how many hours you put in with a client or on a project. It's the quantity and quality of your energy - your focus and force - that determine whether that time is valuable.

Software Applied

Ask Me Anything session by Fabien and Fabrice

An Excellent Youtube Live video Ask Me Anything session by Fabien and Fabrice


Odoo 11 : What would be good to have improvements in the Community and Enterprise Edition?

Odoo 11 is planned to be released on October 2017 and will come packed with many features. As per Fabien’s presentation at the Odoo Experience 2016 event the new version, will be focused on the following features

Odoo Community:

  • Usability
  • Speed
  • New Design (from current Odoo Enterprise)
  • Mobile

Odoo Enterprise:

  • Accounting
  • Localizations
  • Services Companies
  • Odoo Studio (make it even better)
  • Reporting & Dashboard (a more BI-like tool)
  • Improving on existing Enterprise Apps such as Helpdesk, Timesheets, Subsciptions
  • New Appointment Scheduling App
  • IOS App (May be)

What Would be good to have in Odoo 11?

The above mentioned items are part of the Roadmap of Odoo. BUt I am sure you guys also would like to voice your opinion nad mention some of the things you would like to see as part of this release. Feel free to leave out your comments, suggestions and updates.

Odoo Wordpress WooCommerce Connector

We had a customer who was using Wordpress and wanted to integrate their commerce with Odoo. We configured the WooCommerce plugin along with connector to Odoo. WooCommerce is business E-commerce tool which is basically used to provide platform for buying and selling anything. Woocommerce gives complete store owner and developer control. So we are using here odoo as backend engine for all business operations and at woo-coommerce having your online store then it will be very essential to integrate woocommerce store with odoo. Pragmatic offer connector module for Woo-commerce to manage and automates your vital business process and saves your time by instantly entering items and inventory from your Odoo instance into WooCommerce and automatically importing WooCommerce orders and customer data into Odoo. Here are the steps we followed to get this working.

Setup & Configure your WooCommerce Instance

After installation of this module, you will able to see the menu for WooCommerce Instance configuration on a following path.

Path: Connectors → Queue → Backend menu.

Here you can select preconfigured WooCommerce Instances from the list or if no any Instances configured, then you can click on link Create more Instance in order to create new one.

Following information we have to fill -

  • URL
  • Connector Key
  • Connector Secret
  • Version
After clicking on the check connection button, will get Successful connection message. Then we have following features.

1.Import Category

Woo-Commerce Product Category list:

Here we are importing the product categories from woocommerce in to Odoo.

Odoo Sync Product Category :

Once we click on the Import in background for import category, it will import from woocommerce into Odoo.
Below screenshot will show imported categories.

2. Import Product

Woo-Commerce Product List :

Here we are importing products from woocommerce into Odoo.

Odoo Sync Product list :

Once we click on the Import in background for import product, it will import from woocommerce into Odoo.
Below screenshot will show you the imported products.

3. Import Customer

Woo-Commerce Customer List :

Here we are importing customers from woocommerce into Odoo.

Odoo Sync Customers :

Once we click on the Import in background for import customers, it will import from woocommerce into Odoo.
Below screenshot will show you the imported customers.

4. Import Orders

Wo-Commerce Orders :

Here we are importing sale orders from woocommerce into Odoo.

Odoo Sync Order :

Once we click on the Import in background for import sale orders, it will import from woocommerce into Odoo.
Below screenshot will show you the imported sale orders which will be in the draft state.

Business Intelligence Tools Comparison 2017 Pentaho Vs Power BI Vs Tableau Vs QlickView Vs SAP BO Vs MSBI Vs IBM Cognos Vs Domo Vs DUNDAS Vs Microstrategy

There are many BI tools available in the market and it make it very difficult to choose the right option. Some tools are open source and free of cost and others are licensed. Some have ETL capabilities while others are purely Dashboarding and data visualization toolkits. We have compiled a comparison of some of these tools so that you can make an informed decision.

Parameters BI - Tools
Launching Year of Tools 2004 2014 2003 1993 2001 1990 2005 1969 2010 1992 1989
Available Versions Pentaho Community CE Pentaho Enterprise EE Power BI - Free Power BI Pro(Trial) Tableau Public - Free Tableau Desktop (14Days free Trial) Tableau Server (free Trial) Tableau Online(free Trial) QlikView Qlik Sense JasperSoft Community JasperSoft Enterprise Edition SAP - Business Object BIDS --SSIS , SSAS and SSRS comes as a package with SQL server IBM Cognos -business Object   DUNDAS BI  
Free Trials                      
Operating System Compatibility Windows, Mac, Linux Windows Only Windows and MAC (restricted) Windows and MAC Win/Mac/Linux Win/Mac/Linux Win/Mac/Linux Win/Mac/Linux Win/Mac/Linux Win/Mac/Linux Windows and MAC
Open Source                      
ETL Tool PDI (Penthao Data Integration) Inbuild - uses SSAS internally does not require ETL does not require ETL Jasper ETL BODS SSIS       Inbuild
Size of Organisations Any Size Any Size Any Size Any Size Any Size Enterprise Business Any Size Any Size Any Size Enterprise Business Any Size
Features Pentaho Features includes Data Visualization , Data Warehousing , ETL , Schema Workbench , weka , PRD report Designer, Hadoop Shims, Works really well with Big Data Power BI is Powred with features like Self Service Analytics, Data Refinement , Data Warehousing, Data Visualization Free versions of Tableau has limited Data Sources support but paid versions lets you connect to more data sources Dashboards are self service,more interactive ,lots of chart options to plot data and has best data visualization capabilities , Internal help to find the best chart as per data set. Faster Dashboard Delivery and Tableau Online to share Reports. Features like "Show me" is really helpful Excellent product that leads way in data discovery and visualisation Qlik View has more interactivity ,gives you lots of options to build charts from, Internal help to find the best chart as per data set. Faster Dashboard Delivery Analysis, Reporting , ETL, Dashboards,Cloud BI Solutions available. Takes care of All BI vertical full end to end software with wide presence and market Leader in fortune 100 companies Data Refinement , Data Warehousing, Data Visualization, CAS Sercurity , Active Directory Management,Cube Management Reporting, Dashboarding, Analysis , Data Integration, Visualization , Self service Data Analysis, Data Warehousing, Real Time data Analysis after free trial ,DOMO will take care of all the requirements , No development or platform details provided 45 Days Free Trial , after which DUNDAS will take care of all the requirements , No development or platform details provided.  
Category Free Open Source BI Free Cloud BI Proprietary BI Software Proprietary BI Software Free Open Source BI Proprietary BI Software Proprietary BI Software Proprietary BI Software Proprietary BI Software Proprietary BI Software Proprietary BI Software
Restrictions Enterprise functionalities missing in Community Edition: Scheduling of Reports, Active directory integrations, Ad Hoc reporting , Analyzer Grids, No Support facility Data Refresh: Daily,Data Capacity Limit : 1GB free Data Streaming : 10K rows/hour Power BI cannot be installed on AWS Server Does not works with Unix/Linux , Limited features in free version, Data that you will use for free version will be made public and Development cannot be done on MAC systems does not works with Unix/Linux Limited features in free version, Data that you will use for free version will be made public Enterprise functionalities missing :- Ad Hoc Reporting adding a new data source is really a big job in SAP BO and also you are fully dependent on SAP Team for implementation Cannot define color of your choice, poor UI Less chart to choose from, need skilled developers to develop the charts. Data Capacity : 1,00,000 Records or 500 MB not more than 50 columns      
Pros Free and Open Source, Support for all major data sources , No dependency and gels really well with all cloud systems , good ETL Capabilities, Good Connectivity with hadoop and has Data Mining tool weka Power BI gives Better Visualization ,Analytics capabilities , Faster Dashboard Delivery, Simple to use and can be adapted by business Users , Self Service BI is something many BI Users need. A large collection of data connectors and visualizations. Intuitive design, faster and better Analysis, does not require ETL for small scale implementation/ Tableau has pared with informatica for ETL capabilities Intuitive, easy to deploy, good at joining datasets together Open source Software with Reporting and Dashboarding Facilities. It provides all the required tool under one umbrella security and brand name are the biggest pros , company provide trainings and support to its customer,Good for big Enterprises ,Highly Scalable Software. Highly Secure as the data stays on premises , also strong active directory authentication both at report level and data Level.very well integrates with all Microsoft products like Office and Sql server     Faster and hassle free dashboard delivery without any ETL or Olap Analysis  
Cons Not Stable, Depends highly on community which is not active, Dashboard Building approach is fairly Technical and need knowledge of SQL, HTML and JScript, Self Service BI and Mobile BI are not a part of Community Edition, development time is more compared to other tools, Limited Charts Components,Pentaho Data Integration is often Slow when dealing with Larger Data Cannot let's you deal with Larger Data sets on free version, Need to learn DAX Queries to work with the tools, less data Sources to connect to in the free version Bit of a learning curve , does not gels well with all data sources on free versions but connects to all Data Sources in paid versions. Bit of Learning curve , does not gels well with all data sources on free versions ,comparatively costly Self Service BI only available in Enterprise Versions,reports are simple and less interactive Implementation Cost ,Adding new Data source is very messy ,SAP is not very flexible with UI cannot use it for predictive analysis." Confusing Licensing process, frequent support fee hikes Less Themes and Designs , vanila Dashboards with less interactivity.   they do not take projects less than $50,000 and less likely to negotiate    
pricing CE: FREE FREE(conditions apply) FREE(conditions apply) Trial Free Free Free Trial Free Trial Free Trial Free Trial Free Trial Free Trial
  EE: Negotiable depend on the components you want for EE visit: www.pentaho.com/contact Power BI pro : $9.99 /user/hour with 10GB /user ,refreshed hourly with 1M rows/hour https://www.tableau.com/pricing $1,350/user and concurrent users are $15,000 Purchase JasperSoft from www.jaspersoft.com Purchase SAP BO from www.sap.com/india/product/analytics/bi-platform Need to purchase the SQL server suite with BI capabilities   $50,000 minimum charge to get started and about $1500 per user after that.    
Final Analysis/Comments on free versions Good for companies trying BI for the first time ,Pentaho will help in adapting the whole concept of BI with Zero Cost to Software also Enterprises with internal Technical teams can use Pentaho by training internal team members and enjoying the flexibility of open source pentaho Software. Pentaho is quickly adapting new trends of Analytics which makes it one of the important contender in BI market. Came as a replacement to Excel by microsoft , for companies who need nearly real time and quick Dashboarding with interactive Visualization. Customers who are ready to pay for subscription charges can get the best in class visualization of Power BI though it needs a knowledge of DAX queries to get the max out of Power BI. Companies that are already working with Windows and looking for interactive Dashboards and Reports without ETL and without spending much time and money in ETL can use Tableau and can create self service BI, Tableau is a Market Leader in visualization and Supports almost all data sources. Does not uses any DAX which is an added advantage. Quite similar to Tableau and Power BI but very mature in terms of product as it is one of the oldest Data Visualization and BI Tool. but latest analysis shows it lacks few of the new visualization features that are there in Tableau. but it is as good as Tableau and other BI tools with quite high customer base. launched qlik sense with quite new features in analytics. Jaspersoft comes with a community edition that almost has all features like pentaho. Mature Player with good presence. but does not have Analytical Features of Predictive Analytics , forecasting which pentaho Has. good for normal enterprise level reporting A complete Products that takes care of everything. from Reporting to Analytics to Mining and OLAP. Costly in terms of implementation but nothing seems impossible in SAP BO space. qualified team which takes care of everything. Good for Companies who already uses Microsoft Products and are very very strict in terms of Security of Data. Can compromise with Look and feel but not the Data integrity , Do not need cloud and have self sufficient Infrastructure and In house technical team   Here both the companies Implements everything at their end and there softwares are not available to use freely. after trails you have to pay and get the custom BI.    


Odoo POS Product Loading Performance Improvement with AWS Lambda

Odoo POS works well and loads quickly if the number of products are reasonable. But if you are looking to load hundreds of products the Odoo POS can slow down and each session could take more than 15 mins to load first time. In order to solve this performance issue we have used power of the Amazon Cloud to make this loading faster. We use the AWS Lambda web Service along with Node.js. The following describes how we achieved better performance and load times using AWS Lambda
AWS Lambda is an event-driven, Serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a compute service that runs code in response to events and automatically manages the compute resources required by that code.
The purpose of Lambda, as compared to AWS EC2, is to simplify building smaller, on-demand applications that are responsive to events and new information. AWS targets starting a Lambda instance within milliseconds of an event. Node.js, Python, Java and C# through .NET Core are all officially supported as of 2016.

Basic Lambda Function Creation in AWS
Below are the steps and configuration which will be helpful for creating a basic lambda function:
  1. Select the Lambda service from the services listed in AWS service after login in AWS browser console.
  2. After selecting Lambda service you will redirected to lambda page. Here you can see all the lambda functions created using this aws account.
  3. Click on the “Create a Lambda function” button. You will be redirected to another page, where you will find the example lambda functions available by-default in it. Select “Blank Function”.
  4. After selecting “Blank function”, you will be redirected to another page. Click on “Next” button.
  5. After that you can see the lambda console where you have to write your code. First write the name of the lambda function. And then select the language in which you want to write the lambda function.
  6. After writing your code you have to configure your lambda function according to your requirement. Let the Handler value be same. Select the Role from dropdown.
  7. You can also configure the execution time and memory limit to be used for execution. And you can do this in “Advanced setting”. Set it as below:
  8. You can test your function and check the log in your lambda console.
AWS Lambda Connection to Postgres Database and Retrieving the Product file 

Our main purpose to use lambda function is to improve the performance of generating a dump data file from postgres database. I have written aws lambda function in NodeJs language. For this I have used the available postgres library to connect to postgres. Basically we don’t need any folder or other file to execute simple lambda function. But since we are using external NodeJs library. We have the following folder structure:
  • Create one folder in your system. And add keep all your files and module folder inside it.
  • Main file is index.js file for which lambda searches whenever we upload a zip folder in lambda console. This is a mandatory file in Lambda function.
  • Next is our connection file (connection.js). We have created this separate file for reusability, so that we can access this file from another files wherever we want a db connection.
  • Next we have node_modules folder. This folder is created when we use any NodeJs library.

To upload all this in lambda, zip all your custom files, folders and index.js file and upload that zip file in Lambda console.

Below is the main index.js file which lambda treat as a default file to be executed :
      var pool = require('./connection');
       var AWS = require('aws-sdk');

AWS.config.update({accessKeyId: "yOURaCCESSkEYiD",secretAccessKey: yOURaCCESSsECRETkEY'});
var s3bucket = new AWS.S3({params: {Bucket: 'BucketName'}});

 exports.handler = (event, context, callback) => {
              pool.connect(function(err, client, done)  {
                 if(err) {
           callback('error fetching client from pool' + err, null);
client.query('SELECT * FROM product_product ORDER BY id', function(err, result) {
                     { callback(err, null);
             }else {
           var params = {
       Key: 'sbarro_5.json',
       Body: JSON.stringify(result.rows)

          s3bucket.upload(params, function (err, res) {
             callback("Error in uploading file on s3 due to " + err, null);
            callback(null, "File successfully uploaded.");
         client.end(function (err)
 { if (err) callback("Error in uploading file on s3 due to " + err, null);

In the above code, I have written code to execute our query which we want to run in postgres database and to generate a file after reading data from database.

Code breakdown description is as below:
  • In the first line, I have included the connection file which we have written in NodeJs to connect with our postgres db.
  • In the second line, I have included aws-sdk. This library is pre-installed in lambda environment. I have used it to use AWS S3 bucket, where we will store our generated file.
  • After that, I have provided the S3 bucket credentials to connect.
  • “pool.query('SELECT * FROM product_product ORDER BY id', function (err, result) “ is the important function to run a query to fetch data from database.
  • After fetching data from database in variable result.rows, I have converted it into Json format and passed data to json file which I have stored in S3 Bucket.
  • Using “s3bucket.upload(params, function (err, res)” function to upload the json file in S3bucket.
  • Finally, after completing the execution, we use client.end(function (err) {} function to end the PostGres Connection and exit our Lambda function execution.

const pg = require('pg');
     var config = {
      database: DBname,
        user: Username,
        password: ‘Password’,
        host: 'IP', port: 'XXXX',
        idleTimeoutMillis: 1500000,

        const pool = new pg.Pool(config);
               pool.on('error', function (err, client) {
                console.error('idle client error', err.message, err.stack);

       module.exports.query = function (text, values, callback) {
                               return pool.query(text, values, callback);

        module.exports.connect = function (callback) {
                      return pool.connect(callback);

Code breakdown description is as below:
  • In first line, I have included the “pg” library to connect postgres from NodeJs.
  • In variable config, I have mentioned all the credentials which we need to change for our POS database connection.
  • And rest code is to connect with database and it will throw an error if we have any issue in connection.

NOTE: For connecting Postgres in NodeJs, we don’t need to make any changes in Postgres database. We just need the above mentioned credentials to connect it.

We can use lambda function in different application by integrating Lambda function with another AWS microservice API GATEWAY. By integrating it with API gateway, we can use our single lambda function into multiple application where we need same functionality as our written lambda function. To integrate lambda function with API gateway, you can follow the below steps:
  1. Select the API gateway service from the services listed in AWS.
  2. After that click on “Create API” button. You will get a page where you have to name your API. After that click on “Create API” button
  3. Select “Create Method” option from Action dropdown. Then select “Get method” from dropdown in blue color. You will see the below screen.After that Keep “Integration Type” as Lambda Function. Select your Lambda region from dropdown, then you will get option to select your lambda function name. Then Save your Get method.
  4. After saving GET method, you will see the below screen. After that select the “Deploy API” option from the ACTION dropdown in the top. Once you will click on “Deploy API” option, you will see the popup. Create a deployment stage.
  5. Once you will deploy your API, you will get the URL through which you can access your lambda function.
NOTE: Now we can use our lambda function in any application as an API.


We have prepared a lambda function to read the Postgres database data and generate a json file of that data. To use this functionality in odoo we can replace the code (reading data from postgres, converting data to json and generating json file) with our API. Further to enhance the functionality, we can use xmlrpc connection to implement validations and to use odoo methods in lambda function.

Shipworks integration with Odoo Using Generic Module

Shipworks integration with openerp (Odoo) using generic module. It is used to generate the tracking number and label for the delivery order. Here we are exporting delivery orders (move lines) from openerp and importing into the shipworks. Once tracking number and label generated from shipworks, we are updating this information into the openerp again.

Configuration of Shipworks
Integration of shipwork with openerp has been achieved by the following Three steps.
Use php script as a generic module

Step 1: Configuration of store/company with shipwork.
After opening the shipworks software first time, it will ask to configure the store. One wizard will open called “Add Store Wizard”.

1.1) For the First time while opening the shipwork , if there is no store configured it will open the wizard, Select the third party software from the selection Menu, by using it we want to integrate opernerp (Odoo) with shipwork , In our case we select Generic Module from the list.

1.2) Once click on the next button it will ask for the credentials for the generic module script and Module URL.

1.3) After clicking on next button it will ask you to fill the Store information. Please refer below screenshot.

1.4) After clicking on next button, it will ask you to fill contact information. Please refer below screenshot.

1.5) Now it will ask you to configure how shipworks will work with your store.

Here you can set the online order status to “Transferred”, so that after generating the label to the shipment, the status of order will be “Transferred”.

1.6) Once you click on next button, it will say your setup has been completed and it’s ready.

1.7) After clicking on the finish button, shipworks will open its homepage with no data first time.

Step 2: Downloading Orders In Shipwork from Openerp (Odoo). ShipWorks supports two methodologies for downloading orders from Generic Stores – By Modified Time and By Order Number. Below screenshot will show you the downloading process.

2.1) After completion of download system will show the order list into shipworks. Please refer below screenshot.

Step 3: Assign Tracking Number to Order in Shipwork and Updating to Openerp.

3.1) After selecting order you will have to select the shipping method like UPS, USPS, Others, etc. and asked us to enter tracking number.

3.2) After assigning the tracking number and clicking on the create label button, the order status will be change to Transferred state.

3.3) After the Transferred status, this delivery order will sync with openerp and will update the tracking number. Please refer below screenshot.


Odoo Restaurant Management App - Online Restaurant Table Booking App

1] Floor and Table Configuration:

Configure floors and tables of your restaurant under ‘Point of Sale->Configuration->Floor Plans’ menu.

2] Access your website and select reservation menu.
3] Select tables which you want to book.
4] Click on ‘Reserve Now’ button and fill up reservation form and click on ‘Submit’ button.
5] Login with admin access you will find table reservation entry under ‘Point of Sale -> Orders -> Table Reservation’

Pragmatic Odoo Hotel PMS Vs Odoo Community Hotel PMS

Feature Pragmatic Odoo Hotel Management Odoo Community Hotel Management
Different type of reservation can be handled In our product we can handle different type of reservations like reservation at desk, through web, through gds ×
Agent commision against reservation Full flow is available for the same ×
Advance payment can be taken against reservation ×
Facility to take identification details of customer in reservation form and same is passed to folio. or directly take data in folio form ×
Facility to take pickup details if applicable Full flow is available for transportation Not available
In Folio also can take advance payment ×
Foreign Exchange details available
Hotel bill are linked normal and Restaurant POS Available not working for 9 Available not working
Reservation Dashboard (One Quick Overview of All Rooms Reservation Status) Available in deatils, facility to filter data based on date range, reservation status, shop, room type Available with date range only and it works only if Folio is confirmed once.
Restaurant Table booking in case of reservation Available with various validation Available without validation
Table booking order amount computation and invoice linking with Reservation if applicable Available, computed well and linked with Reservation Available, not computed well but linked with Reservation
Order amount computation and invoice linking with Reservation if applicable Available, computed well and linked with Reservation Available, not computed well but linked with Reservation
KOT, BOT process flow for Restauran Process Both available only KOT is available
Laundry system flow Full flow is available ×
Hotel Housekeeping
Request for Repair / Replacement flow for housekeeping ×
Issue Material flow for housekeeping ×
Reporting for Room Reservation,Restaurant, POS Available working fine Available but not correct data is coming
Restaurant Banquet Hall enquiry and booking flow ×
Agent Commision flow ×
GDS Integration ×
Web Booking Engine ×

VOIP Integration with OpenERP

Outgoing Call -

To make a outgoing call from openerp, just go the customer menu, open any partner form there you will see the “Dial” option in front of Phone number.
We used soft phone (Magic App) for the outgoing call.

Incoming Call Existing Partner -

For any incoming call, system will popup one notification. Where it will show the customer name (if exist in the system) and phone number. When user clicks on it system will open dashboard with all customer details.

Customer Details (Global Search) -

After clicking on the incoming call popup notification for existing partner, system will open dashboard with customer details. System will show the sales order, partners, customer invoices, delivery orders, customer payments, customer refunds, etc.

Incoming Call (Unknown Number) -

For any incoming call, system will popup one notification. Where it will show the Unknown (if customer is not exists in the system) and phone number. When user clicks on it system will open the Leads page.

Leads Page -

In case of unknown incoming call, if user clicks on notification popup then system will open the leads page.

Missed Call -

If user unable to received an incoming call then system will show this call as a missed call. Here user will have two open, whether he can discard it by clicking on “Cancel” button or he can click “Ok” button to see the details of it.


Odoo 9 – Import Vendor Bills from Post-Finance

Now a days every one emphasise on digital transactions than keeping hardcopy of documents. Postfinance is a financial institution which allows their customer to upload / Download e-invoices. This offers safest way to send / receive e-inovices.

We have come up with a module to import all vendor bills in Odoo from Post – Finance portal.

This module works with all bank account types i.e. BVR, IBAN, Normal Bank acocunt etc. It will pull all the invoices pdf's as an attachments in Vendor bills created in odoo

Build IoT Applications in the Cloud on fast-track with AWS IoT: AWS IoT using Seeeduno Cloud and Groove IoT kit Overview

AWS IoT is a managed cloud platform that enables you to connect IoT devices to AWS Services and other devices and provides a secure data access and interactions to process and act upon device data in both offline and online states.

AWS IoT can connect billions of devices and send trillions of messages, and can process and route those messages to AWS endpoints and to other devices in a reliable and secure manner. With AWS IoT, your applications can communicate with all your devices, all the time. AWS IoT makes it super easy to use AWS services such as DynamoDB, RDS, Lambda, Kinesis, S3, and Machine Learning, o build IoT applications that gather, process, analyze and act on data generated by connected devices completely in the cloud.

Components of AWS IOT

AWS IoT Device SDK

AWS IoT Device Software Development Kit enables your devices to connect, authenticate, and exchange messages with AWS IoT using the HTTP/MQTT protocols. The SDK supports C, JavaScript, and Arduino.

Device Gateway

All connected devices communicate to the Device Gateway - HTTP or MQTT Protocol
  • Highly Fault Tolerant Protocol for intermittent connectivity
  • Light footprint
  • Low n/w bandwidth requirement
  • Exchange messages using a publication/subscription model
  • One-to-one and one-to-many communications (Broadcast)
  • Support over a billion devices without provisioning infrastructure

Authentication and Authorization

  • Connectivity over TLS (Transport Layer Security successor to SSL) TLS Certificates are easily created
  • Supports the AWS method of authentication (called ‘SigV4’) as well as X.509 certificate based authentication.
  • Connections using HTTP can use either of these methods, while connections using MQTT use certificate based authentication.
  • Those device certificates can be provisioned, activated and associated with the relevant policies that are configured using AWS IAM.


  • Establishes an identity for devices and tracks metadata such as the devices’ attributes and capabilities.
  • Assigns a unique identity to each device that is consistently formatted regardless of the type of device or how it connects.
  • Does not expire as long as you access or update your registry entry at least once every 7 years

Device Shadows

  • Creates a persistent, virtual version, or “shadow,” of each device that includes the device’s latest state.
  • The Device Shadows persist the last reported state and desired future state of each device even when the device is offline.
  • Device Shadows make it easier to build applications that interact with your devices by providing always available REST APIs.
  • Device Shadows let you store the state of your devices for up to a year for free.

Rules Engine

  • The Rules Engine makes it possible to build IoT applications that gather, process, analyze and act on data generated by connected devices at global scale without having to manage any infrastructure.
  • The Rules Engine evaluates inbound messages published into AWS IoT and transforms and delivers them to another device or a cloud service, based on business rules you define.
  • The Rules Engine can also route messages to AWS endpoints including AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, and Amazon DynamoDB. External endpoints can be reached using AWS Lambda, Amazon Kinesis, and Amazon Simple Notification Service (SNS).
  • You can create your own rules within the management console or write rules using a SQL-like syntax. Rules can be authored to behave differently depending upon the content of the message.
  • Rule Engine provides dozens of available functions that can be used to transform your data, and it’s possible to create infinitely more via AWS Lambda.

Geo Fencing in Odoo

Using Geo-Fencing API of Google, a module named google_map_fencing is built in Odoo 9 which stores the locations in warehouses by defining a region. It identifies whether a particular pin (location pointed on google map) falls in the defined region or not. Just click on the map over a specific area and you will get a fence over that region, which is defined by a polygon on the google map and can be updated just by dragging the polygon points. The region can be saved per location according to the address and can be viewed or changed as you want. Following are the screen shots related to google map fencing:
  • 1. Consider a google map of a particular region
  • 2. Click around a region example Pune, to get a fence around it. This way you can define a region. The white dots indicate the polygon points, by dragging which you can expand the region
  • 3. Save the changes to again view the defined region on map.
  • 4. Once the fencing is done, drop of pin at any location gets you to know whether that pin falls in the fence or out of it.
  • 5. Option to reset is also provided to clear all the changes
  • 6. Geo-Fencing in Odoo can be used for storing warehouse or contact locations in case of multiple warehouses
  • 7. Easy to implement and understand.

Odoo ERP for Magento 1.x / 2.0

Magento is a very popular e-commerce platform and provides a turnkey solution for running any business online. Magento 2 brings in better performance, flexible architecture and improved administration and reporting. But it still lacks the ERP capability which is required to run a business. Magento can be complemented by Odoo which is a leading open source business suite of application. There is ready bridge between Magento and Odoo which allows to sync data between systems. Odoo has integrated suite of applications for managing Sales, Purchase, Inventory, Accounting, CRM, HRM Shipping and many more applications required to run an e-commerce business.

Magento Dashboard

Odoo Dashboard

Odoo has a very robust warehouse and inventory Management application integrated to Accounting. Additionally if you are running a physical store and an online store, inventories can be utilized between them.Odoo also provides a POS application which can be used in a physical stores. Since Odoo is open source thier are more than 4000 modules available to use.

Odoo 9 : Rolled-up cost for Manufacturing products

It has been always a challenge to know exact cost of the manufacturing nature product in Odoo.

Pragmatic Techsoft Pvt. Ltd. has come up with a new module “pragmatic_rolledup cost” to compute the same.

This module works on BOM defined for the product. Cost of every product defined in a BOM is passed on the main product. It considers quantity as well as price of a product used in BOM.

It works with multilevel BOM as well.

If a product has multiple variants then the cost price of the product shall be updated on individual variants.


Hubspot Integration With Odoo

Hubspot integration module acts as a connector between the hubspot system and odoo system. The contacts and the companies created in hubspot, get created in odoo system as well and vice versa.

A. Contact Creation from Odoo to Hubspot:
  • Once, you create a contact in Odoo, it will be automatically synced in hubspot.
  • Following fields related to contact are synced to hubspot:
      1.Contact Name
      2.Job Position
      7. Company
  • Any change in the contact fields are also updated to the contact in hubspot.
B.Contact Creation from Hubspot to Odoo:
  • When a contact is created in hubspot, it gets synced in Odoo.
  • A scheduler is triggered once a day(configurable), after which the contact gets created.
  • Any change in the contact is updated to the corresponding contact in Odoo.
C. Assign Company to a contact in Odoo
  • Assigning a company to a contact from odoo will add the corresponding contact to that company in hubspot.
  • Similarly, when a company is assigned from hubspot to a contact, it gets reflected in the contact in Odoo after the scheduler is triggered.
  • Following configurations are required to integrate with hubspot:
The timestamp for Modified date for Contact and Company are set to current timestamp by default.

Advanced Printscreen for Odoo 8(Printing Report Analysis)

Printscreen has been and is an attractive feature of Odoo which enables the user to take the printout of the tree view of the selected records.

We have a new module which enables users to take the printout of the selected records in the tree view. After installing the module, a new dropdown will be available in the header of each tree view. No configuration is required, jut installing the module is enough.

The main features of this module are:
  • Ability to export view in both PDF as well as in Excel.
  • Ability to export analytic views in to PDF and Excel including group totals.
  • Hierarchical view of the groups.

The module can be installed as a normal Odoo module. The only python dependency that is need for the module is python-xlwt which is needed to export to xls file. This can be installed using the comment "sudo apt-get install python-xlwt" for Ubuntu. After installing the module, you can see two anchor buttons called "Export to PDF" and "Export to Excel" on the right side of the OpenERP web client as shown

These buttons will only appear if the active view is a tree view. This button wont be visible in any of the other view types. When the button "Export to PDF" is clicked, the report will be exported to PDF or if "Export to Excel", the report will be printed in "Excel". The heading and the totals will be printed in Bold. A sample screenshot of the excel and PDF report is shown below:
The module also allows to print analytic reports in to CSV of excel. The screenshot below shows an analytic view:
You can also print Graph View as PDF format which will be more useful for analysis part

Magento 2 Basic Theme Development

Magento 2 Theme development and customization can be categorised in different level depending on the different developer’s skills. Different level of customisation are:
  • If a developer just wants to change the colour, images or other small changes on his website, then it can be achieved only with the knowledge of CSS. Developer can use Magento default CSS and make his required changes in it.
  • If a developer wants to make some more changes other than CSS, like some changes in the HTML generated through PHTML file. Then the developer can achieve it if he has a little knowledge of PHP and HTML.
  • If a developer wants to make changes in the website structure, like: placing one block to another place, adding new block or completing moving a block to a different page. This can be achieved if the developer also have the knowledge of XML.
  • Finally, if the developer have complete knowledge as mentioned in above three points, then developer can design his own theme.

Pre requisites

  • Previous Magento coding experience
  • Some knowledge of Magento 2
  • Magento 2 fully installed and running smoothly, access to the frontend & admin.

Theme Development:

Similar to the Magento 1, themes are stored inside app/design/frontend directory. Inside this we need to create Vendor directory with your Vendor_name and inside vendor directory we need to create a new directory which your Theme_name. Both name should not have space between them. So after this the structure will be:
Now your structure is in place, you need to declare your theme so that Magento knows it exists and you can set it as an active theme in the admin. Create a theme.xml file within the theme folder, on the root. You can use the code inside of the Blank or Luma theme folders. You can also use the code below. Just insert the name of your theme in the <title> tags. You can also specify a parent theme for fallback purposes.
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<title>INSERT THEME NAME</title>
This is the minimum code you need, but you can also declare a theme image. This is a thumbnail image which shows in the admin on your theme page so you can see a preview of what your theme looks like. To add one of these, add the code below in-between the XML nodes, underneath the theme declaration.
<media> <preview_image>media/theme-screenshot.jpg </preview_image> </media>
Change the name of the thumbnail image to that of your filename. Place the image in the following location:
If you don’t have this file in the correct location when you visit your theme page in the admin, you’ll get an error – so make sure your image is in the right place and named correctly.

Theme Registration File:

The last part in declaring your theme is to add a registration.php file to your theme’s root.
Add below code in your registration file:

* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.

Theme Basic Structure:

In a design, there are many static files such as javascript, css, images and fonts. They are stored in separate directories in web of theme package. In Magneto 2, there is no skin directory as Magento 1. So all this static files are kept in web folder inside theme root directory. Here are the structure
├── etc/view.xml
├── web/
│ ├── css/
│ │ ├── source/
│ ├── fonts/
│ ├── images/
│ ├── js/
The etc/view.xml file is where you can configure the Magento Catalog image sizes and other things. Copy the etc/view.xml file from one of the default theme’s and edit as necessary.

The last thing you can do before activating your theme, is to add you logo and declare it. The image file can be added to the web/images folder which you created not long ago. This can be whatever file type you like, in this case I’ve used an svg. So to actually tell the theme to use your logo, you create the Magento_Theme/layout folders and add the following code to a default.xml file. Edit to match your requirements.
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<referenceBlock name="logo">
<argument name="logo_file" xsi:type="string">images/logo.svg <argument name="logo_img_width" xsi:type="number">300 <argument name="logo_img_height" xsi:type="number">300 </arguments>

Composer File:

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

To distribute your theme as a package, add a composer.json file to the theme directory and register the package on a packaging server. { "name": "vendor_name/theme_nameultimate",
"description": "N/A",
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"magento/theme-frontend-blank": "100.0.*",
"magento/framework": "100.0.*"
"type": "magento2-theme",
"version": "100.0.1",
"license": [
"autoload": {
"files": [

Activate your Theme

Now everything is in place for you to activate your theme. Browse to the admin of your Magento 2 store, and go to Content > Design > Themes. Make sure your theme appears in this list – if it doesn’t, it hasn’t been declared correctly.
When you can see your theme in the path above, browse to Stores > Configuration > Design. Select the right store scope and then change the theme to your newly created theme.

Odoo 8 – Email Reminders To Vendors

Pragmatic Techsoft Pvt. Ltd. has comeup with new module “pragmatic_email_reminders” to send reminder emails to vendor. There are following email notifications categories involved :
  • Delayed Quotation Submission Against RFQ
  • Delayed Incoming Shipments
  • Partial Incoming Shipments
All above mentioned are the reminder emails to the vendors.

This modules has follwoing configuration available

1. Configurations in Odoo is available in Purchase section :

  • This will allow user to set initital delay to shoot email reminders to vendors for delayed quotes submission.
  • Initial delay is considered from the date of Order itself
  • User can setup frequency schedular with interval unit and type
  • max. no. of reminders for vendor per RFQ can be set up

2. RFQ Reminder Configuration

  • This will allow user to set initital delay to shoot email reminders to vendors for delayed quotes submission from a date of order

3. Delay Incoming Shipments

  • This email reminder is used to notify vendor if none of the product received on a scheduled dated in PO. The initial delay considered for this is on and above on the “Scheduled Date” mentioned for a Shipment.
  • User can update new expected date of shipment in Picking if conveyed by vendor.

4. Partial Incoming Shipments

  • This email reminder is used to notify vendor if full quantities in picking are not received.

Magento 2 Module Development

Here we are going to learn, how to develop a simple module in magento 2 and what are the pre requirements to develop a module. Here, we assume that you have successfully installed Magento 2 in your development environment.

After you have successfully installed Magento 2.0 in your development environment and it functions properly, there are two things which we recommend you to do:

Disable the System Cache:
  • Login to Magento admin section.
  • Goto System > Cache Management.
  • Select all types of caches available there.
  • Select Disable option from the dropdown on top left corner of table.
  • Click on submit button. It will disable all the cache in magento system.

Switch your Magento to Developer Mode:
  • Open your development environment terminal.
  • Move to the root location of your magento instance.
  • Run this command: php bin/magento deploy:mode:set developer.

All this information will help you to understand the new structure more easily. Now we will start to learn the module development step by step.

STEP 1: Create a module folder and necessary files to register the module.
In Magento 1.x, we have learned that module folder is created inside one of the code pools inside app/code/(community, core or local). But in Magento 2, no more code pools are available. Now , the module folder will be:


The Pragmatic folder is the module’s namespace, and Helloworld is the module’s name.
Note: If you don’t have the code folder in your app directory, create it manually.
After module folder we will create module.xml file inside app/code/Pragmatic/Helloworld/etc folder.

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<module name="Pragmatic_Helloworld" setup_version="1.0.0">

And now we will create a registration.php file to register our module in Magento:


Now, Open your terminal and go to the Magento 2 root. Run the following command from terminal:

php bin/magento setup:upgrade

Now if you want to confirm that your module is registered in magento or not, login to magento admin and move to Stores → Configuration → Advanced → Advanced. Here you can see the list of all enabled module in Magento. One more place where you can check that your module is registered or not is app/etc/config.php. Check the array for the ‘Inchoo_Helloworld’ key, whose value should be set to 1.

STEP 2 : Create Router & Controller
Firstly we will define router by creating a routes.xml file inside app/code/Pragmatic/Helloworld/etc/frontend folder with following code:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<router id="standard">
<route id="hello" frontName="helloworld">
<module name="Pragmatic_Helloworld" />

Here we’re defining our frontend router and route with an id “helloworld”.The frontName attribute is going to be the first part of our URL.
In Magento 2 URL’s are constructed this way:


So in our example, the final URL will look like this: helloworld/index/index

Create index.php controller file inside app/code/Pragmatic/Helloworld/Controller/Index folder with following code:

namespace Pragmatic\Helloworld\Controller\Index;
use Magento\Framework\App\Action\Context;
class Index extends \Magento\Framework\App\Action\Action
protected $_resultPageFactory;
public function __construct(Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory)
$this->_resultPageFactory = $resultPageFactory;
public function execute()
$resultPage = $this->_resultPageFactory->create();
return $resultPage;

In Magento 1 each controller can have multiple actions, but in Magento 2 this is not the case. In Magento 2 every action has its own class which implements the execute() method.

STEP 3 : Create BlockHere, we will create a simple Helloworld.php block file inside
app/code/Pragmatic/Helloworld/Block folderwith following code:

namespace Pragmatic\Helloworld\Block;
class Helloworld extends \Magento\Framework\View\Element\Template
public function getMessage()
return 'Hello World!';

In this block file, we have created a getMassage() method which will return a message ‘Hello World!’.

STEP 4 : Create Layout and Template file
We have seen in Magento 1.x layout file and template files are placed in a separate app/design/ folder, but in Magento 2 it is placed inside a new view folder which is placed in module folder only. Inside this we can have three folders namely: adminhtml, base or frontend.

The adminhtml folder is used for admin, the frontend folder is used for frontend and the base folder is used for both, admin & frontend files.

Here we will first create a helloworld_index_index.xml layout file inside app/code/Pragmatic/Helloworld/view/frontend/layout folder with following code:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd" layout="1column">
<referenceContainer name="content">
<block class="Pragmatic\Helloworld\Block\Helloworld"
name="helloworld" template="helloworld.phtml" />

In our layout file, we have created a block inside content container and set the template file as helloworld.phtml file. Now we will create a template file inside
app/code/Pragmatic/Helloworld/view/frontend/template folder with following code:

<h1><?php echo $this->getMessage(); ?></h1>

$this variable is referencing our block class and we are calling the method getMessage() which is returning the string ‘Hello world!’.

Now, open your browser. Hit your yourdomain.com/helloworld/index/index. You can see the message as below:


Magento 2 Improvements over Magento 1

Magento is one of the top leading Open-Source Digital Commerce Platform for an online store. Magento is used by both small scale industries and large scale industries to open their online store and handle their store. Magento is the best Content Management System(CMS) to develop an ecommerce website and manage their store. Magento is getting improved day by day, because of the hard work and high level analysis of magento team and thousands of developers who are showing their interest in it and developing more functional & innovative extensions and themes to make magento more easy to use.

Now, magento has released a complete new version which they named as Magento 2. Magento 2 is totally different from magento in terms of new features, structure flow, coding, view and many more. In magento 2, team has tried to improve all the complaints of developers who are facing issues in magento previous version. The Key features that are improved in magento 2 are:

Improved Performance:

Performance was the major issue which a developer faces when it comes time to deploy a heavy ecommerce website using magento. Because the performance of magento (till 1.9.x) was slow. But in Magento 2 they have worked a lot in it and improved the performance of Magento 2 by an average of 20%. Additions on Magento 2:
  • Magento 2 fully supports PHP 5.6 and PHP 7. PHP 7 is now released with completely new performance and much faster executions.
  • Nginx has been developed with three core principles in mind: high performance, high concurrency, and low usage of memory. Thus, it significantly increases the speed, and Magento 2 will fully support it.
  • Redis is an advanced key-value cache which provides top notch performance and offers other features. It incorporates several use cases for in-memory datasets, which are the reason of high performance results.
  • Full page caching is so powerful due to the ability to store the full page output in a cache. As a result, subsequent page loads do not require much server load. Thus, full page caching is mandatory for high-traffic websites, and Magento 2 will fully support it.

User-friendly Checkout:

Checkout is one of the most important part of an ecommerce website. If the checkout process is not good then the stores have more chances to move their products to abandon cart which reduces the store’s sales. Instead of an accordion layout that’s used in older versions of Magento, the steps are now located across the top. The overall design is much clearer and concise, and easier to navigate through. Customers need to have a stress-free and efficient checkout experience, and Magento 2 provides just that.
  • Reduced the number of checkout steps and also reduce the information details to be filled by customers.
  • Integration with popular payment gateways (PayPal, Braintree, Authorize.net, WorldPay (Enterprise Edition), CyberSource (Enterprise Edition)) that weren’t previously supported. Variety of payment options provide better checkout UX for your customers.
  • Automatic guest checkout.
  • Order summary with thumbnail.
  • Receiving shipping rates once information is provided.

User-friendly Administration Panel:

The main administration panel has been redesigned and is now displayed vertically on the left hand side of the admin. The menu icons are very prominent and this is because the entire navigation is touch friendly and responsive. This improvement should be welcomed and should definitely help those merchants who spend their days running around with an iPad in hand. Changes in administration panel are:

  • UI enhancements providing responsive and touch friendly navigation. Let the good times roll for merchants who works with CMS via iPads or tablet.
  • Features are well categorised and managed under the menu in comparison to previous magento version.
  • Grid view is made configurable, so that admin can select the attributes to be shown in it. Before, we need to hard to add any new column in grid.

  • Addition of new menu element “Marketing”. All the marketing related features are listed inside this menu.

Easy Product Creation and Configuration:

In previous magento version, product creation was a long process specially for configurable products. Now, product creation becomes more easier and more customizable from one place.Enhancement are:
  • The product creation process in Magento 2 has been streamlined and it becomes more easier to create any type of product.
  • Product attribute set has been modified. We can choose an attribute set while creating product and we can change it on from the same place.
  • Now, you can add video as product images and in description.

  • We can show the configurable options with its value. Eg: we can show the actual color in place of dropdown.

Quarterly Platform Updates:

Magento 2 will release new features for both Community and Enterprise Editions every three months.


Magento 2 maintains the flexibility for which magento is known in ecommerce development. Businesses will move from magento 1 to magento 2 and from other ecommerce platform to magento 2, because of all the improvements which are mentioned above and other improvements. Experts believes that business will grow more with all the additional and improved functionalities of Magento 2 like: better performance, small and streamlined checkout process which make customers to come back to your store.

Magento 1 will be officially supported for the next 3 years from Magento 2 launching (Dec 2015), so you may take your time to migrate your Magento store to Magento 2. If you have a middle-sized store don’t hurry up to update. Just wait while the usual extensions for payment gateways and delivery options are being tested on larger scale retailers.

Although Magento 2 have better UI experience for customers & admin and have many advantages and disadvantages, but it definitely will be expensive to setup and need more expertise to setup this platform.

If you need any kind of assistance or development for Magento 2, We have a team of Magento developers. Contact us with your requirements. >>>

InstaPics - Instagram Magento Extension

InstaPics is a magento extension to showcase instagram images in your online store. It will help you to fetch instagram images to your online by using #hashtag or by #UserDetails.

Social commerce is one of the biggest commerce trends from last few years. Nowadays, social media is the biggest part of everyone's day-to-day life. And Instagram is one of the most popular social media among all age groups especially among the youngster. One can increase the market value of their products by advertising the use of their products by their customers. This will surely increase the customer’s interest for your products and in some ways it will also help your customers to learn more about the ways to use the products.

Instagram images can be displayed anywhere throughout the website in a complete responsive layout. Images can be shown in either of the two fashions. They are:
  • Grid Layout: In this layout you can configure the number of images to show in a grid, size of the grid, how to fetch the images(Either by #hashtag or by #UserDetails), etc.
    Product_slider Grid View.jpg
  • Slider Layout: In this layout you can configure the complete slider - no. of images, blocks to show in one slide, pagination, movement, margin, how to fetch the images (Either by #hashtag or by #UserDetails), etc.

One can insert their instagram images in any block or section or page of the their website. It will be fully responsive and can be mould in required size according to its container. It can be inserted in either ways:


Pragmatic has provided a connection with the social feeds of Facebook and Twitter In Odoo

With Odoo 9 Social Feed module, Pragmatic has provided a connection with the social feeds of Facebook and Twitter. The feeds from both the sites are combined and made available to the user in chronological order. Also, there is a facility of custom odoo posts which can be added to them.
  • Before starting with this module, the user needs to specify the account names in the configuration from which the feeds are to be fetched.
  • Feeds from multiple accounts can also be fetched.
  • The feeds related to the specified accounts of both facebook and twitter are fetched and then arranged in the ascending order of time elapsed and displayed to the user.
Facebook Feeds
  • To identify that a particular post is from facebook, a facebook icon is shown on top of that post.
  • Name of the account from which that post is fetched is also shown beside the icon. This can be helpful in case multiple accounts are specified.
Twitter Feeds
  • Similarly, to identify that a particular post is from twitter, a twitter icon is shown on top of that post.
  • Name of the account from which that post is fetched is also shown beside the icon. This can be helpful in case multiple accounts are specified.
Custom Feeds
  • There is also a facility to send custom feeds (posted by the odoo users).
  • The users can post the company related feeds, best wishes, or any other newsfeeds internally which will be available to other odoo users.
  • Internal posts are to be written in the textbox given at the bottom of the page.
  • Also, you can attach an image to the text message, which will be describing your message.
  • The image icon beside the textbox allows you to select the images available on your local machine.
  • User has to upload the image, which will then get added in the textbox.
  • After the message is completed, click on the Post button.
  • Once, clicked on the Post button, the message will be posted above along with the time ago tag.
Source page of the feed
  • Complete feed of facebook and twitter are not displayed here as it may occupy lots of space. Hence, the 'read more..' option is provided.
  • The 'read more..' option is given at the end of every feed for viewing the it in detail.
  • On click of the link the user will be redirected to the source page of that feed.

Odoo 10 Community Edition on AWS Marketplace

Pragmatic has launched Odoo 10 on the Amazon Cloud Marketptace, With a click on a button you can launch an instance of Odoo 10 Community Edition

Odoo 10 Community Edition Features


  • Event Barcode
  • Email Schedule : Easy to Followup



  • HR Attendance (Kiosk Mode)
  • Print Employee Badge
  • Sign In/Out authenticate using Pin
  • Timesheet Apps : usability Improvement


  • POS Serial Number
  • POS Default Cash Control
  • POS Restaurant : Transfer order from one table to another


  • Option in Payment Gateway to auto confirm SO
  • Out of stock warning in option
  • Delivery : choose the package when clicking on put in pack
  • Inventory : Can apply Quality control on picking
  • Serial Number Upstream Tracebility
  • Delivery Order : Add margin in % to cover lost
  • Picking : Up/Down Tracebility

Website/ Ecommerce:

  • B2B/B2C
  • New checkout design for address selection
  • Ecommerce : Add multiple images of products
  • Improved Portal Frotend view
  • Easy to set website Favicon
  • Ecommerce insight: Save, manage, and reuse credit cards. Authorize amount at checkout and capture at shipping.
  • Ecommerce user can pay through stored card
  • Easy to trace Website Orders, Invoices

Expense :

  • Accountant can direct pay the Expense
  • Email Alias to direct record Expense (based on expense internal reference, system identify product and create expense accordingly)

General / Discuss :

  • history of chatter clickable (source document)
  • The debug mode does not split the web assets by default
  • Keyboard shortcuts detailed on the top right menu from the home page
  • Easy to maintain user access (set default access to default user)
  • Search date ranges quickly with the new in-between operator.
  • Canned responses and /commands in discuss
  • Create in one click
  • Company setting of apps moved to Apps > Setting
  • Any HTML type report easily edit in app view => https://drive.google.com/file/d/0B21cUNlAdZ6gWHl5NUE4b0lqc0k/view?usp=drivesdk


  • Easy to Create new Apps
  • Easy to add new field in either form view or tree view
  • Channge string, help message, views, reports,....

Purchase :

  • Editable PO: Easy to edit confirmed PO
  • Purchase Teander : Blanket order Type


  • Project : project dashboard is now based on user's favorite
  • Project : Easy to maintain Sub-Task
  • Forecast : Grid : By User, By Project


  • Subscription dashboard by company, Tag, Contract
  • Subscription : New Cohort Analysis

Helpdesk Management:

Easy to assign tickets by different Assignation Method
  • Randomly
  • Manually
  • Balanced
Generate Tickets
  • Email Alias
  • Live Chat
  • Ticket Form
  • External API
  • SLA Pollicies
  • Rating
  • Canned Response
  • Forum- Help Center
  • Slides- eLearning


  • PLM
  • MPS
  • Maintenance
  • Quality
  • Easy to know "Overall Equipement Effectivness"
  • Unbuild Order , Scrap Products

Odoo 10 Helpdesk Management

Helpdesk is new module introduced with release of Odoo 10. This module help maintaining helpdesk of the company with various features listed below.

Create ticket using multiple channels
  • User can create tickets manually or configure it so that incoming email create tickets or using web site form to create tickets. Third party application can also be conneted via API and tickets can be created using web srevice.

Ticket status can be tracked by new, in progress, solved or cancelled stages.

Priority is assigned to tickets such as low priority, high priority and urgent.
Assign ticket to user
  • Help desk team to be configured to handle tickets generated. User can define helpdesk team members and assign tickets to them by manually, randomly and balanced methods.

SLAs (Service Level Agreements)
  • Configure service level agreements and automate related checks and actions by SLA policies such as time required for urgent tickets.

Dashboard is showing various statistics for helpdesk such as average open hours, SLA complied or not, priority of tickets, performance (actual vs trageted.) and success rate.

Odoo 10 Manufacturing MRP Enterprise Edition v/s Odoo 10 Manufacturing MRP Community Edition Features Comparison

Features / AppsOdoo 10 CommunityOdoo 10 Enterprise
Manufacturing Orders
Work Orders
Plant Floor Dashboard×
Work Center Planning×
Master Production Schedule×
Preventive and Corrective Maintenance ×
Barcode Interface×
Tablet and Mobile Support×
KPIs Statistics and Dashboards×
http://invaconsult.com.ua/ http://invaconsult.com.ua/