Odoo Online Book¶
This book is dedicated for entrepreneur who wants to implement all-in-one business application out-of-the box for their business.
Odoo Book is an online book written based on Community and Enterprise Edition. This book covers best implementation practice for most used applications such as Sales, Purchase, Inventory, Financial Accounting and Manufacturing. This is a fork of https://github.com/mga-odoo/odoobooks
Note
Please comment on the page below, if you have any question related to that topic. You can also send an email to mail@mantavyagajjar.in to propose new topics you would like to have on the book.
About Odoo Online Book¶
Odoo online book is dedicated for functional consultants or entrepreneur who wants to implement or use odoo online all-in-one business application out-of-the box. This is an online book written based on Odoo Community and Enterprise Edition. This book covers best implementation approach for most used applications such as Sales, Purchase, Inventory, Financial Accounting and Manufacturing.
Why this book?¶
After writing Odoo 10 Implementation Cookbook, I realized that it is too difficult to have the latest and up-to-date printed book of each version for the fast evolving business application. Odoo release its stable version every 12 to 15 months. The aim of this book is to guide you through step-by-step configuration for business problems.
Credits¶
Thanks to all the contributors of Odoo Official Documentation project as many pages/topics of this book was actually taken from https://www.odoo.com/documentation.
License¶
All the pages, images and videos of Odoo Books are free to use modify and reuse on blog, forum, support platform, etc. They are provided under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please credits to https://odoobooks.com when using page(s) from Odoo Online Book.
Creative Commons License
Odoo Book is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
About the Author¶
Mantavya Gajjar has 12+ years’ experience in Odoo, starting from TinyERP and OpenERP. He started his career as a developer, he developed many new features in TinyERP, OpenERP and Odoo. He has graduate and postgraduate degrees in Computer Applications from Gujarat Vidyapith. In June 2006, he started working for Axelor and TinyERP at Ahmadabad. He has initiated web client for TinyERP and mobile application project for Odoo.
He was the first international employee appointed to establish a branch of TinyERP in India (Ahmadabad, Gujarat). He has done everything from registering a legal company to setting up the physical office and recruitment at India. He has interviewed more than eight thousand candidates in the last 12 years, and he has selected and trained more than three hundred employees for the Indian branch. Most professionals working on Odoo in India are trained by him. As a result, today India (Ahmadabad, Gujarat) is called the Hub of Odoo Developers, and over a thousand Odoo developers are available only in Gujarat.
Mantavya is actively engaged with many universities in preparing and reviewing the syllabus for the Computer Applications and Computer Science courses. He has reviewed thousands of academic student projects. As an alumnus of the Gujarat Vidyapith Computer Science Alumni Association, he contributes his free time to various social activities. He also plays the role of a trustee member and treasurer at Gujarat Vidyapith Computer Science Alumni Association.
About the Reviewer¶
Nikunj Jani earned a masters degree in computer applications from Gujarat, India. He began his career in 2007 as a software engineer with an MNC called SATYAM COMPUTERS. In 2009, he joined TinyERP, a division of Odoo, S.A. in India as a team lead. During his tenure of 8+ years with Odoo, he has worked with several versions, including 5.0, 6.0, 6.1, 7.0, 8.0, 9.0, 10.0, and 11.0. He has worked as a functional consultant (business analyst), training manager, and project manager.
Currently, he is the product owner and heads a usability and testing team at Odoo (India) for the upcoming versions. Nikunj is an open source enthusiast who has given 35+ international functional trainings/consultancies to Odoo partners, prospects, and end customers.
Nikunj has a total of 10 years of IT experience, and his specialties include training, consultancy, analysis, project management, usability, and testing new features of Odoo.
Preface¶
The Odoo online book covers the implementation best practices and approach to configure the business applications out-of-the-box. With this approach you can configure your Odoo online instance or Odoo.sh or locally installed Odoo on your server.
Page structure¶
Each single page on this book have the real time business case and how that business can be configure with Odoo standard features. The page divides in the specific sections, each sections give you enough information to solve the business problem. The major sections as below.
Problem statement¶
The page has a single line problem statement such as “Create my first quotation”, give you brief information about the business situation, where it uses and which business requires to deal with such situation. Most of the problem statement are “how to ..” questions.
Business case¶
This section gives you a real-life business case.
Configuration¶
this sections give you a step-by-step configuration, that help you to fit the real-life business problem in Odoo using the standard features. Some of the page give you steps to configure the options.
Video¶
This section gives you a link on the PDF or embedded videos on the online book, that shows you the detailed configuration steps and the steps to execute the business case. You can get access to all the videos used in this book at Youtube.
See also¶
This section has the useful links to the related business cases.
Conventions¶
There are different text styles, that used to differentiate the informations, like Bold text used to name any screen label, menus, or static information available on the screen while Italic text always represents the value.
Images are used to illustrate the confirmation or result, you can understand the topics explain about the which business features and configuration.
Start with Odoo Online¶
Introduction¶
Odoo (On Demand Open Object) is an open source suite of business applications; it became the world’s most downloaded and used business application software, with more than 5 million users worldwide. According to Wikipedia, Odoo is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications. The Odoo solution is ideal for SMEs, but fits both small and large companies alike. Odoo is an all-in-one business software capable of covering all business needs, including CRM, website/e-commerce, billing, accounting, manufacturing, warehouse, project management, and inventory, all seamlessly integrated.
Tip
In 2005, Fabien Pinckaers, the Founder and CEO of Odoo, started to develop his first software product, TinyERP. Later in the beginning of 2009 it was renamed to OpenERP, in May 2014, the company was renamed Odoo, a name that has no restrictions and can allow the company to grow in whichever direction.
Odoo offers two different versions of the solution; Odoo Enterprise and Odoo Community Edition. The community edition is free to download and can be used anywhere. The Enterprise edition comes with many out of the box applications, unlimited support software support, migration service. The Enterprise edition can be available as Odoo Online SaaS (Software as a Service) or on Odoo.sh or you can install on your private server too.
The Odoo Online version is hosted on a cloud, and the first app is offered for free for unlimited users. After the first app, there is a fixed monthly subscription fee for the number of apps installed and the number of users. The Community version is the open source version and available for free to use on your own server.
Today, more and more companies are choosing to host their business application on an Odoo online cloud platform, it is too costly for the companies to host their business application on local hardware. This approach requires not only a lot of capital to buy hardware and software licenses, but also creates a lot of responsibilities and risk in backing up data and ensuring stability of the business application.
Let’s see, how to implement the most useful business application with step-by-step configurations on Odoo online platform or your own server.
Manage Instance¶
Create first Odoo instance¶
Accessing the Odoo online SaaS version could be very simple across all its different platform available. To start using the Odoo online version you need web browser.
Tip
Odoo is a web based business application designed to run on various modern web browsers. Supported web browsers included
- Google Chrome (recommended)
- Firefox
- Safari
Signup at odoo.com¶
Make sure that before create a new instance, you have an account at odoo.com, if not please create an account, visit https://www.odoo.com/web/signup to create a new account.

Create an instance¶
You can start with one application, the first application you start is free for unlimited users or you can continue the additional applications on the monthly subscription basics.
Login into odoo.com, open the link https://accounts.odoo.com/trial and choose your first application you would like to start with, I choose CRM application to start with.

You will be asked to enter your name, email and phone number, the company name decide what will be your sub-domain on odoo.com. I have entered My Company, the subdomin allocated me is my-company.odoo.com, however you can change the subdomain by clicking on it.

Activate an instance¶
The first screen you will get on successful instance creation is your home screen. The list of apps will be installed and appeared based on first selected app.

The instance has to be activated with in 4 hours to keep it running forever, else it will be expired in next 4 hours and you may lose changes made to an instance.
Tip
You may lose the data and instance, if you have not activated within 4 hours. If you not receive an email, click on Activate by email
link to resend the activation email.
Video¶
Let’s see how to get start with the first free application, activate it and start using the Odoo online instance. Access the video at https://www.youtube.com/watch?v=fAi-NGirE44
Duplicate an Odoo instance¶
It is advisable to make a duplicate copy of the production database before you change the configuration or try to implement the new feature. You can be sure that production environment will remain stable while working with the test instance. On Odoo online you can create as many as test instance you want. You can create a test instance:
- Before you change anything using Studio App
- To get a test drive for the new features
- To Test the complex configuration
- To test the user acceptance, before you push new feature into production
Danger
Make sure that you verify the url on your browser before you change any configuration of your instance.
Let’s see how you can create a test instance before to change any configuration on your production instance. Access the video at https://www.youtube.com/watch?v=IxILl8z5I7w
Video¶
Mobile¶
Access Odoo on your mobile phone or tablet¶
The first Odoo mobile application was launched with the release on Odoo 10. Beginning of the Odoo 9, Odoo have started to adapt the mobile compatible design which will perfect for the desktop and mobile view, different types of views and menus are designed to flow and format properly on mobiles and tablets.
Odoo has also released an iOS mobile application along with the release of Odoo version 11. Today Odoo support mobile application for Android and iOS both mobile based operating systems. You can download the Odoo official mobile application from their respective apps stores for Android download it form Google Play store and for iOS download it form Apple apps store.
Warning
Odoo mobile application is not support with the Odoo community version. Only Odoo Enterprise and Odoo Online versions are compatible with Android and iOS mobile applications.
Let’s see the installation of mobile application on Android based mobile, connect it with the Odoo online platform or locally hosted instance and get an access to all the Odoo applications on your mobile.
User and Features¶
Manage users and access rights¶
You have an opportunity to invite your colleagues to signup on the instance during the activation process, you may see the below screen during the signup.

Enter the Name and Email address of your colleagues and click on the Send Invitation button.

Create user¶
You can create an user manually or import the list of users (email address) to signup. You can create an unlimited users as soon as you are using single application.
You need name and email address to send the signup invitation email. The email will be sent automatically with signup link, when you create a new user.

Tip
Make sure that you assign correct access rights before you create the new user. Either user have a full access or user may not be able to access certain features when access rights are not configured properly.
All the users with status NEVER CONNECTED
shows that, they did not sign up, verify the Email address is correct incase, if they did not receive signup email.
Change access rights¶
Odoo assign full (manager for all the applications) access rights to all users created through invitation during activation, you may review their access rights on the user form and change if needed.

You can set custom access rights for new users from General Settings
.

Click on the Default Access Rights
like you will see Default User Template
user. Access rights for the new users will be copied from this user.
Tip
The additional the rights can be given later from the user configuration before or after user signup.
Let’s see how to invite new users to signup and start using the features on Odoo online instance.
Access system settings using developer mode¶
Odoo application can be viewed in different modes, the default is normal mode suitable for normal users, it designed for great user experience. Odoo runs in three different modes:
- Normal mode: The default mode; most users are in this mode during production use.
- Developer mode: The name itself suggests something related to technical stuff. You can enter into the configuration of the application and Odoo’s internal system, as well.
- Developer mode with assets: In addition to the developer mode, this loads all the resources separately such as JavaScript, CSS files, and images, instead of loading them in a bundle.
Warning
Developer mode with assets mode may be slower than all the other modes, you developer! you are welcome to this mode.
Enter into Debug mode¶
You can enter into debug mode by adding debug
argument in the URL, i.e. Change https://my-company.odoo.com/web?#home
to https://my-company.odoo.com/web?debug=#home
.
The second easy way is to enter into Settings
, click on the Activate the developer mode
link below the version information.

You will be able to see the Technical
menu under the Settings
application on successful activation of the debug mode, you can access all the system settings there.
Video¶
Let’s see how to activate the developer mode and debug the assets.
How to test upcoming features?¶
Odoo offers a platform where you can test latest stable version of the Odoo software or you can also test the upcoming features from development version.
Odoo Online Demo¶
Odoo instant demonstration can be found at https://demo.odoo.com. Online demo is perfect fit for the visitors who wanted to test the latest stable Odoo software without installing or creating an online instance, demo instance will be refreshed every 24 hours automatically so all the data created by you will be erased automatically.

Tip
Don’t worry if your URL will be changed form https://demo.odoo.com to https://demo1.odoo.com, https://demo2.odoo.com or https://demo3.odoo.com, Odoo started many demo instance, you will be redirected to the instance having low traffic.
Test upcoming features¶
Odoo Runbot is automated test platform user for the continuous integration designed and developed by Odoo SA. It is integrated with github.com to test each and every committee made by the Odoo developers. Odoo Employees worldwide use this platform for the internal testing before merging any feature into the master branch.

Background colours of committee represents the status of the committee, Green represents successfully tested without any ERROR while Red represents ERROR in the code, either code is not clean or there is any test-case failed. You can not connect the committee which are in Blue color as there are currently being tested by the runbot.
Most of the features under development can be found under odoo-dev/odoo
or odoo-dev/enterprise
menu, branche name started with master- are the features under development while 10-xxx-xxx
or 11-xxx-xxx
are the fixes for the respective versions.
Connect to the test instance¶
You can connect and test every single committee on the development branch, click on the Sign in to this build
icon.
Tip
The default username will be admin and password will be admin too for all the instance, if may not able to connect in case some visitor has changed the password.
You can perform the test on two different databases:
- Installed all the applications with demo data
- Installed only base application without demo data - you have to install additional applications you want to test.
Danger
Online Demo and Runbot is not suitable platform to prepare the demo as no guarantee to get the same data all the time, because several users using those instances so data may change without notifications.
Customer Relationship Management¶
Organize the pipeline¶
Get organized by planning activities¶
Planning activities is the perfect way to keep on track with your work. Get reminded of what needs to be done and schedule the next activities to undertake.
Your activities are available wherever you are in Odoo. It is easy to manage your priorities.

Track activities¶
Activities can be trakced on every single document, Here is an example for opportunities:

Schedule next activity¶
Activities can be planned and managed from the chatters or in the kanban views.

Set your activity types¶
A number of generic activities types are available by default in Odoo (e.g. call, email, meeting, etc.). If you would like to set new ones, go to Settings / General settings / Activity types
.
Schedule meetings¶
Activities are planned for specific days. If you need to set hours, go with the Meeting activity type. When scheduling one, the calendar will simply open to let you select a time slot.
Video¶
Access the video at https://www.youtube.com/watch?v=zO5u0EjzlkY
Manage lost opportunities¶
While working with your opportunities, you might lose some of them. You will want to keep track of the reasons you lost them and also which ways Odoo can help you recover them in the future.
Mark a lead as lost¶
While in your pipeline, select any opportunity you want and you will see a Mark Lost button.
You can then select an existing Lost Reason or create a new one right there.

Tip
You will find your Lost Reasons under
. You can select & rename any of them as well as create a new one from there.Retrieve lost opportunities¶
To retrieve lost opportunities and do actions on them (send an email, make a feedback call, etc.), select the Lost filter in the search bar.

You will then see all your lost opportunities. If you want to refine them further, you can add a filter on the Lost Reason.
For Example, Too Expensive.

Restore lost opportunities¶
From the Kanban view with the filter(s) in place, you can select any opportunity you wish and work on it as usual. You can also restore it by clicking on Archived.

See also
Manage multiple sales teams¶
In Odoo, you can manage several sales teams, departments or channels with specific sales processes. To do so, we use the concept of Sales Channel.
Create a new sales channel¶
To create a new Sales Channel, go to
.There you can set an email alias to it. Every message sent to that email address will create a lead/opportunity.

Add members to your sales channel¶
You can add members to any channel; that way those members will see the pipeline structure of the sales channel when opening it. Any lead/opportunity assigned to them will link to the sales channel. Therefore, you can only be a member of one channel.
This will ease the process review of the team manager.

If you now filter on this specific channel in your pipeline, you will find all of its opportunities.

Sales channel dashboard¶
To see the operations and results of any sales channel at a glance, the sales manager also has access to the Sales Channel Dashboard under Reporting.

It is shared with the whole ecosystem so every revenue stream is included in it: Sales, eCommerce, PoS, etc.
Acquire leads¶
Convert leads into opportunities¶
The system can generate leads instead of opportunities, in order to add a qualification step before converting a Lead into an Opportunity and assigning to the right sales people. You can activate this mode from the CRM Settings. It applies to all your sales channels by default. But you can make it specific for specific channels from their configuration form.
Configuration¶
For this feature to work, go to CRM / Configuration / Settings
and activate the Leads feature.

You will now have a new submenu Leads under Pipeline where they will aggregate.
Convert a lead into an opportunity¶
When you click on a Lead you will have the option to convert it to an opportunity and decide if it should still be assigned to the same channel/person and if you need to create a new customer.
If you already have an opportunity with that customer Odoo will automatically offer you to merge with that opportunity. In the same manner, Odoo will automatically offer you to link to an existing customer if that customer already exists.
Generate leads/opportunities from emails¶
Automating the lead/opportunity generation will considerably improve your efficiency. By default, any email sent to sales@mycompany.com will create an opportunity in the pipeline of the default sales channel.

Configure email aliases¶
Each sales channel can have its own email alias, to generate leads/opportunities automatically assigned to it. It is useful if you manage several sales teams with specific business processes. You will find the configuration of sales channels under Configuration ‣ Sales Channels.

Generate leads/opportunities from your website contact page¶
Automating the lead/opportunity generation will considerably improve your efficiency. Any visitor using the contact form on your website will create a lead/opportunity in the pipeline.
Use the contact us on your website¶
You should first go to your website app.
With the CRM app installed, you benefit from ready-to-use contact form on your Odoo website that will generate leads/opportunities automatically.

To change to a specific sales channel, go to Website ‣ Configuration ‣ Settings under Communication you will find the Contact Form info and where to change the Sales Channel or Salesperson.

Note
If the same visitors uses the contact form twice, the second information will be added to the first lead/opportunity in the chatter.
Video¶
Access the video at https://www.youtube.com/watch?v=Q4FujRKnUHM
Generate leads instead of opportunities¶
When using a contact form, it is advised to use a qualification step before assigning to the right sales people. To do so, activate Leads in CRM settings and refer to Convert leads into opportunities.
Sales & Invoicing¶
Introduction¶
Sales Quotation¶
Create your first quotation¶
Quotations are documents sent to prospects to offer an estimated price for a particular set of products or services. The prospects can accept the quotation, in which case the seller will have to issue a sales order, or refuse it.
Business case¶
For example, My Company sells electronic products and a client John Deo showed interest in buying 3 iPads to facilitate their operations. I would like to send them a quotation for those iPads with a sales price of 320 USD per iPad with a 5% discount.
Configuration¶
Install the Sales Management application. In order to be able to issue quotation, you’ll need to install the Sales Management application from the Apps in the Odoo backend.
Discounts on sales order line¶
Allowing discounts on quotations is a common sales practice to improve the chances to convert the prospect into a customer.
In our business case, we want to grant 5% discount to our customer John Deo on the sale price. To enable the feature, go into the Sales application, select Configuration / Settings and, under Pricing section, select it and APPLY to allow manual discounts on order lines.
Create your quotation¶
To create your first quotation, go to Sales / Quotations and click on CREATE. Then, complete your quotation as follows:
Customer and Products¶
The basic elements to add to any quotation are the prospects or customer (the person you will send your quotation to) and the products you want to sell.
From the quotation view, choose the prospect from the Customer drop-down list and under Order Lines, click on Add an item and select your product. Do not forget to manually add the number of items under Ordered Quantity and the Discount if applicable.
To apply 5% discount enter 5 in the Discount (%). The discount should be entered between 0 to 100, it computes discount in percentage.
If you don’t have any customer or product created before on your Odoo instance yet, you can create them on the fly directly from your quotations:
- To add a new customer, click on the Customer drop-down menu and
- click on Create and edit. In this new window, you will be able to record all the customer details, such as the address, website, phone number and person of contact.
- To add a new product, under Order Line, click on Add an item,
- click on Create and Edit on the drop-down list of Product field. You will be able to record your product information (product type, cost, sale price, invoicing policy, etc.) along with a picture.
Taxes¶
To parameter taxes, simply go on the Taxes field of the order line and click on Create and Edit. Fill in the details (for example if you are subject to a 15% taxe on your sales, simply fill in the right amount in percentage) and save.
Terms and conditions¶
You can select the expiration date of your quotation and add your company’s terms and conditions directly in your quotation (see picture below).
Preview quotation¶
You can check the quotation before you send to the customer by email, click on the PRINT button (upper left corner). You will see the popup window that ask for company master details such as address, contact, email, VAT number, and report layout you want to set for your company.
Click on the SAVE button to apply the settings, now you are ready to print your first quotation. Click on the PRINT button again, you will get the printable PDF version of your quotation.
Tip
Update your company’s details (address, website, logo, etc) can be changed later by clicking on the link Change Document Template under the Settings / General Settings.
Video¶
Access the video at https://www.youtube.com/watch?v=N0kcHM2msHE
Send quotation by email¶
Quotations are documents sent to customers to offer an estimated price for a particular set of goods or services. The customer can accept the quotation, in which case the seller will have to issue a sales order, or refuse it.
In traditional business process people use to send the quotation by courier, it is not efficient way as it delays the negotiation and quotation confirmation process, Odoo allows you to send the quotation by email and real-time discuss through email on the quotation.
Business case¶
Let’s send your first quotation by email, so that customer can view and start negotiation on the quotation.
Configuration¶
You don’t need any configuration when you are using Odoo online. Email feature is already configure and working out-of-the-box on Odoo online platform.
You need to configure the external email server, if you are not using Odoo online platform, to be precise you need to configure an incoming and outgoing mail servers.
Tip: If you configure only Outgoing Email Servers you will be able to send the quotation but not receive any feedback from prospects through email
Email address on customer¶
Make sure you have entered the correct email address in the Email field, when you create a new customer.
Send by mail¶
Assumed that the quotation is prepared and ready to be shared with prospect, click on the SEND BY EMAIL button to send the quotation by email, automatic email will be prepared based on the predefined template which prepare the beautiful email with content and attachment on the email, review the email content, you can also add the content if you wish and send by clicking on the SEND button.
Enter email address¶
You may be asked to enter the email address before send an email, if you have not entered the email at the time of creating the customer.
Enter the valid email address and you are ready to send the quotation by email.
Chatter¶
All the communication made to this quotation can be tracked in chatter, messages send to customer or received from the customer are available below quotation. All the communication history will be preserved and available when quotation gets converted to sales order.
Video¶
Access the video at https://www.youtube.com/watch?v=TUcNeJ4CSVg
Change your quotation layout¶
All the legal documents such as sales order or invoice required to be printed on the company letterhead with header and footer. You can choose a document layout from 4 different layouts available in Odoo according to your need.
Business case¶
Let’s switch to the beautiful layout. So, not only quotation but all the legal document will be printed with the same layout.
Configuration¶
The quotation layout can be changed from the Settings / General Settings under the Document Template section you can change the document layout.
Enter the company information such as name, address, currency and logo. Bottom of the popup windows you can choose the layout for all your legal document which will be printed with header and footer.
Tip
Do not forget to select the company logo, you can click on Preview link to check how it looks before you choose.
Choose the appropriate layout and apply the setting.
Print quotation¶
The default layout will be switched to the selected one on the
configuration, now your quotation will be printed with the new layout.
Set default terms and condition on quotation¶
Every quotation issued to the prospect need to have terms and conditions, those terms and conditions are accepted by the customer at the time of accepting the quotation.
The most common terms and conditions includes the payment terms, delivery date, and tax clarification, there are many other points as below can be included in the terms and conditions:
- Acceptance
- Payment Terms
- Taxes
- Warranty
- Claims
- Returns
- Shipment
- Security Interest
- Cancellation
- Indemnification
- Governing Law
Business case¶
Let’s take an example of the trading company, they need to define the terms and conditions required by their nature of business, the terms and conditions should be applied to all the quotation created by any salesman. They want to set the below point as a default terms and conditions:
- Delivery of the goods will take 10 working days
- Other taxes such as octroi will be charges extra
- 100% payment should be released at the time of confirmation
Configuration¶
Assumed that the Sales Management application is already installed.
Default terms and conditions¶
Let’s go to Sales / Configuration / Settings, enable the default terms and conditions and enter all the conditions those required to be set by default on all the quotation.
Click on SAVE to apply the settings.
Create a quotation¶
Goto Sales / Orders / Quotations and create a new quotation, you will notice that quotation is empty but the default terms and conditions are set on it.
The salesman can make the changes as per the requirement but you can be sure that salesman will never forget to add the default terms and conditions.
Tip
The payment terms will be added automatically at the end of every quotation as a part of the terms and conditions in the printed quotation if any.
Video¶
Access the video at https://www.youtube.com/watch?v=hqY5eZxgfRs
Apply default taxes on products or sales order¶
Taxes applied in your country are installed automatically for most localizations. Default taxes set in orders and invoices come from each product’s Invoicing tab. Such taxes are used when you sell to companies that are in the same country/state than you.
Business case¶
Let’s set the default sales and purchase tax to Tax 15.00%.
Configuration¶
All the new products created in the Odoo take the default tax set in the Accounting/Invoicing settings. To change the default taxes set for any new product created, goto Invoicing / Configuration / Settings.
Create new product¶
Let’s create a new product, the default tax which was applied should be applied on this product.
Create sales order¶
Let’s create a new order and select the same product on the order line, the tax which was set on the products should be applied on the sales order line tax field.
Now, your salesman do not have to remember that what taxes to be applied on which product.
Video¶
Access the video at https://www.youtube.com/watch?v=tq3e17Ccjxk
Sections on sales orders, sort products in sections with subtotals and page-breaks¶
Some business who delivers products and services, they need to prepare a quotation that differentiate the products based on Service and Material part. This section will help customer to understand what the total cost of the Material and Service separately.
Business case¶
Let’s take an example of the trading and service company who wants to send the quotation for Air-condition, related material to install it and Installation service.
Configuration¶
Assumed Sales Management application is installed.
Sections on sales orders¶
Goto Sales / Configuration / Settings and enable Sections on Sales Orders feature that allows to create sections, sort products in sections with subtotals and page-breaks.
Configure the sections¶
The two sections Service and Material are available by default, you can configure those sections from Sales / Configuration / Report Layout Categories.
There are 4 parameters available which can configure each section, that decided how section will be printed on reports.
- Name - name of the section to be displayed on the report
- Add subtotal - if selected, the subtotal will be displayed for
- section
- Add pagebreak - if selected, once this section print on page, the
- next section will be printed on the next page. Uncheck Add pagebreak in Service section, if you would like to see all the section on single page.
- Sequence - decided the order of the section to be printed on the
- report
Create a sales order¶
Create a sales order, select customer and products such as Split Air Conditioner - 1.5T, Copper pipe and Installation Service, beside each product you have to select this product comes into which section.
Print sales order¶
You are ready to print your sales order by sections with subtotals for each sections.
Video¶
Access the video at https://www.youtube.com/watch?v=BKiUsvBpkUg
Quotation Template¶
Create quick quotation using quotation template¶
If you often sell the same products or services, you can save a lot of time by creating standard quotation templates. By using a quotation template you can send a complete quotation in no time.
Business case¶
The service company who is selling the offshore projects to their customers with standard set of service products such as Project manager days, Developer days, and Project setup fee. The developers days are minimum to 20 days and project manager are one third of the developer days.
Configuration¶
Assumed that Sales Management application is installed.
Quotation template¶
Quotation template is a great feature that allows user to create offers with group of products those are sold together.
Create a products¶
Create the list of products that you are going to sale together, in our business case the list of products of type service are as below:
- Offshore Project Setup Fee
- Project Manager Consulting Days
- Developer Days
Create your quotation template¶
The quotation templates can be found under Sales / Configuration / Quotation Template, create or edit an existing template. Enter the appropriate name of the template and select the list of product(s) and their quantity as well as the expiration time for the quotation.
Tip
You can also specify discount,if discount option is activated in the Sales settings.
You can edit the customer interface of the template that they see to accept or pay the quotation. This lets you describe your company, services and products. When you click on Edit Template you will be brought to the quotation template editor.
The quotation template editor lets you edit the description content thanks to drag & drop of building blocks. To describe your products add a content block in the zone dedicated to each product.
Note
The description set for the products will be used in all quotations templates containing those products.
Create a quotation¶
When creating a quotation, you have to select a template, product in that template will be added to your quotation.
Tip
You can select a template to be suggested by default in the Sales settings.
Send quotation by email¶
You have to send the quotation by email, so that the quotation can be viewed, accept or reject or paid online by the customer.
Quotation viewed by customer¶
As a salesman you can start the follow-up on the quotation as soon as you see that a quotation viewed by customer. Everytime customer open the quotation preview you will have a message in chatter, this features of the quotation template help salesman to understand the customer interest on quotation.
Tip
Please remove the attached pdf quotation at the time sending quotation by mail, if you want customer open the quotation preview.
Video¶
Access the video at https://www.youtube.com/watch?v=2b7QcMnA3EA
Increase your sales with suggested products¶
The use of suggested products is an attempt to offer related and useful products to your client. For instance, a client purchasing a cell phone could be shown accessories like a protective case, a screen cover, and a headset.
Business case¶
The consulting company want to add the suggested product such as Software training program on the quotation when they make a quotation for Offshore Projects.
Configuration¶
Assumed that the Sales Management application is installed and quotation template is configured well for the Offshore Project.
Suggested products¶
Open the Offshore Project quotation template, add the product(s) under the Suggested Product tab on quotation template. In our case let’s add the Software training program as a service product.
Send the quotation¶
Prepare and send the quotation to customer by email. Customer can see the quotation a full product or service detailed specification along with the quoted price, and suggested products at the end. If customer find valuable products or service in suggested products they can directly add them in to quotation by themself before they approve and pay quotation online.
Online customer approval on quotation¶
Sending an online quotation can speed up the negotiation process, customer can negotiate and approve the quotation online, this can boost up your sales process and minimise the sales cycle.
Business case¶
The service company who is selling the Support pack which is service offered at fixed price. As soon as customer accept the proposal, customer can start sending the support requests. The company wants to get the online signature from the customer and customer can release the payment based on the payment terms.
Configuration¶
Assumed that you have installed Sales Management application, configure the quotation template for the support packs.
Online signature¶
The Confirmation Mode on the quotation template available on the Confirmation tab is set to Online Signature by default. The customer can confirm the quotation by themselves by signing the quotation. Keep it as it is when you just want the online signature form customer.
Create and send quotation by email¶
Create a quotation select customer, select quotation template. Before you send the quotation to customer make sure that Confirmation Mode is set to Online signature on quotation under the Other Information tab.
Tip
You can change the Confirmation Mode for each quotation regardless of the configuration on quotation template.
Accept quotation¶
Customer can review the quotation online, once it suits his/her need than he/she can accept the quotation by clicking on the Accept Order and signing the quotation online.
The quotation accepted and signed by the customer will be confirmed and converted to sales order in backend. It will automatically triggers the next business process in backend such as creating a delivery order, manufacturing order or create a task or project in the project management depending on your configuration.
Tip
Customer can accept and sign online quotation which are not expired yet. The expiration date will be computed on quotation based on the number of days defined on quotation template in Quotation expires after field. However the specific Expiration Date can be set on the quotation manually before you send the quotation by email.
Reject quotation¶
The quotation will be set to Cancelled state in the backend once it has been rejected by the customer online, however it can be reset to draft modified and send it back to the customer when you are in negotiation process.
Video¶
Access the video at https://www.youtube.com/watch?v=NBfqS4LlKQc
Online customer approval and payment on quotation¶
Sending an online quotation can speed up the negotiation process, customer can negotiate and approve the quotation online, this can boost up your sales process and minimise the sales cycle.
Getting online approval on quotation is good but getting paid online is great, it will be really cool to get online payment from the customer along with the approval of quotation.
Business case¶
The service company who is selling the Support pack which is service offered at fixed price. As soon as customer make the online payment, they can start getting the support by sending support request. The company wants to get the online payment instead of signature from the customer to start the support service.
Configuration¶
Assumed that you have installed Sales Management application, configure the quotation template for the support packs.
Online payment¶
The Confirmation Mode on the quotation template available on the Configuration tab is set to Online Signature by default, change it to Online Payment. The customer have to pay online to confirm the quotation by themselves.
Accept online payment¶
Installing the Sales Management application also installed the Invoicing application, the payment acquire needs to be activated from the list of payment acquires (payment gateways) available in Odoo. All the payment acquires can be found and activated from Invoicing / Configuration / Payment Acquirers.Install and configure the payment acquirer, which suits your requirement.
I have installed and configure the Authorised.net payment acquirer.
Tip
Do not forget to Publish configured payment acquire to force customer to pay by that and unpublish other acquire such as Wire Transfer.
I have also made change to Payment Flow from Redirect to the acquirer website to Payment from Odoo as i want to process the payment directly from Odoo without redirecting to acquirer website. You can switch to Production as soon as everything configured and working properly.
Create and send quotation by email¶
Create a quotation select customer, select quotation template. Before you send the quotation to customer make sure that Confirmation Mode is set to Online Payment on quotation under the Other Information tab.
Tip
You can change the Confirmation Mode for each quotation regardless of the configuration on quotation template.
Accept and pay online¶
Customer can review the quotation online, once it suite their need that can accept the quotation by clicking on the Accept Order and make the online payment on the quotation.
The quotation accepted and paid by the customer online will convert quotation to sales order in backend.
Warning
Make sure that customer has correct contract details before they process for the online payment. Some payment acquirer required complete customer details.
Tip
Customer can accept and pay online quotation which are not expired yet. The expiration date will be computed on quotation based on the number of days defined on quotation template in Quotation expires after field. However the specific Expiration Date can be set on the quotation manually before you send the quotation by email.
The quotation converted to sales order and It will automatically triggers the next business process in backend such as creating a delivery order, manufacturing order or create a task or project in the project management depending on your configuration.
The Transaction is attached to the confirmed sales order, you can click on the transaction and get the status and reference about the online payment made by customer. It is set to Done and Acquirer Reference number is available on the transaction when payment was successfully processed.
Reject quotation¶
The quotation will be set to Cancelled state in the backend once it has been rejected by the customer online, however it can be reset to draft modified and send it back to the customer when you are in negotiation process.
Video¶
Access the video at https://www.youtube.com/watch?v=MJZevBuebyM
Product and Pricing¶
Apply discount on quotation¶
Allowing discounts on quotations is a common sales practice to improve the chances to convert the prospect into a customer, adding discounts on the quotation encourage the prospect to close the deal quickly.
Business case¶
My company would like to send a quotation for an iPad Mini at a sales price of 320 USD per iPad at a 5% discounted price.
Configuration¶
Assumed that the Sales Management application installed.
Discounts¶
In this business case, we would like to offer 5% discount to our customer on the sale price.
Discounts feature can be activated from Configuration / Settings , under the Pricing section.
Create a quotation¶
Quotation can be created from Sales / Order / Quotations, click on CREATE button to create a new quotation, select customer and add product iPad Mini on the quotation, the default price you will see is 320$.
Apply discount¶
By default the discount will not be applied as we choose to apply manual discount, to apply 5% discount enter 5 in the Discount (%) field for iPad Mini product in the sales order line.
Tip
The discount should be entered between 0 to 100, it computes discount in percentage. The price will change automatically when you enter the discount.
Printing quotation¶
Discount column will be appeared on the quotation when you have applied discount on any of the product on quotation. Don’t be surprised if you don’t see the discount column on the quotation, which means that you have not applied discount on any of the product on quotation as you don’t want to offer discount to your customer.
Tip
All the taxes applicable on the product will be computed on the discounted product price (i.e. Taxes will be computed on Subtotal)
Video¶
Access the video at https://www.youtube.com/watch?v=tq3e17Ccjxk
Adapt product price based on customer segment (e.g. Retailer or Distributor)¶
Sales and distribution business works on the margin basics, the percentage of margin are fixed for the distributors based on their turnover. The MRP of the product is decided included the margins for the retailers, stockist, distributors. In this section you will see how pricelist can help you to achieve to define the product price based on the customer type (retailer and distributors).
Business case¶
The My Company sells the electronic products such as Computers, Laptops, and Printers, they want to set up the pricing rules for their Retailer and Distributors. The price they would like to offer are as below:
Product | Sales Price (MRP) | Distributors (Price) | Retailer (Price) |
---|---|---|---|
Laptops | 1099 | 900 | 999 |
Desktop | 999 | 740 | 799 |
Printer | 499 | 330 | 399 |
Tablet | 799 | 620 | 699 |
Configuration¶
Assumed that the Sales Management application installed, let’s see what are the other configuration you have to do before you execute the business case.
Pricelist¶
To setup the customer segment specific price you have to enable the feature called Multiple Sales Prices per Product available under the Sales / Configuration / Settings. Keep the default option selected Multiple prices per product (e.g. customer segments, currencies) under the Sales Pricelist option, using that you can define the customer segment specific pricelist.
Product¶
Let’s create the products you are selling, to create the products go to Sales / Catalog / Products, create a product, enter the Name, set Image and Sales Price, the customer specific price you can define under the Sales tab.
Create a pricelist if not created before, enter the name of the pricelist (i.e. Retailer Pricelist) and click on Create “Retailer Pricelist” link, enter the Price and Min. Quantity, keep the Min. Quantity to 1 by default if you don’t want to put the constraint on the minimum order quantity.
You can create a multiple lines for the same pricelist (i.e. Distributor Pricelist) in case you want to offer a special price to the distributor, when they buy more than 1 quantity. (i.e. Distributors can get the Laptop at 790 price, if they order minimum 5 or more quantities)
The Start Date and End Date is used to limit the offer for a specific dates, assume that you want to offer a special price for the Christmas (i.e. Start Date to 20/12/2018 and End Date to 31/12/2018)
Customer¶
The customers can be defined as a distributor or retailer by setting the specific pricelist on them. Pricelist can be set on the customer form under the Sales & Purchases tab.
Create sale order¶
Let’s send a quotation to your customer, create the quotation from Sales / Orders / Quotation, depending on the customer the pricelist will be set on the quotation and the product price will be appeared accordingly, when you add pdoructs on the quotation.
Create a quotation for China Export (Distributor), add 50 quantity of Laptop, the special price 790/unit applied as we prepare the quotation for more than 5 quantity.
Tip
Pricelist can be changed on the quotation after selecting a customer. The pricelist selected on the quotation have the higher priority over the pricelist assigned to the customer.
Now, a salesman can create quotations quickly regardless of the customer type and price offered to them, of course a correct pricelist have to be configured when you create customer, it can be reviewed later depending on the turnover.
Video¶
Access the video at https://www.youtube.com/watch?v=MKStY2Tt1l0
Adapt product price based on customer country or location (e.g. Price in € or $)¶
An international sales and distribution business network required accurate price conversion or the price rules according to the customer’s country. During quotation process some business prefer to have the rate conversion while some business wants to define the price based on the geographic locations irrespective of currency conversion. You can configure both business case using the pricelist.
Business case¶
Odoo wants to apply pricing rules for the customer irrespective of the currency conversion based on the customer location. They divide whole world into three different region and specific price for each region.
Product | America (USD) | Europe & Middle East (EUR) | ASIA (USD) |
---|---|---|---|
Odoo Enterprise (Users) | 28 | 24 | 16 |
Configuration¶
Assumed that the Sales Management application installed, Invoicing application will be installed as an dependant of the sales application.
Multi Currency¶
You need a multiple currency support, to prepare a quotation in foreign currency. Multi-Currencies feature can be activated from Invoicing / Configuration / Settings available under the Currencies section.
Tip
Select Automatic Currency Rate to get the accurate currency conversion rate when you do want a currency conversion to prepare the quotation, set Daily for the Internal field, the rate can be updated from different exchange services such as European Central Bank, Federal Tax Administration or Mexican Bank.
Pricelist¶
To setup the price based on the customer segment or country, you have to enable the Multiple Sales Prices per Product feature available under the Sales / Configuration / Settings under the Pricing section. Keep the default option Multiple prices per product (e.g. customer segments, currencies) selected under the Sales Pricelist option.
To create a new pricelist goto Sales / Catalog / Pricelist, create a three different pricelist, set the Currency field on each pricelist. Let’s create a pricelist for european and middle east customers where we offer the price in EUR (€).
Enter EMEA Pricelist in the Name field, select EUR in the Currency field and add the Europe in the Country Group field.
Note
The country group is used to assign pricelist automatically when customer is being created. So, even if your salesman forget to assign pricelist the system will assign automatically when customer’s country is set on the customer.
Product¶
Let’s create the product Laptop, goto Sales / Catalog / Products to create the product, enter Name, set Image and Sales Price, the country specific price or currency specific price can be defined under the Sales tab.
Select the Pricelist and enter the Price, the price enter is respective of the currency defined on the pricelist (i.e. in this case we have defined 24 USD and 18 EUR).
You can create a multiple lines for the same pricelist, in case you want to offer a special price to customers, when they buy more than 1 quantity.
The Start Date and End Date is used to limit the offer for a specific dates, assume that you want to offer a special price for the Christmas (i.e. Start Date to 20/12/2018 and End Date to 31/12/2018)
Customer¶
Create a customer, enter the name, city, country and other contact details such as email and mobile and save the customer detail, as soon as you save the customer the pricelist will be assigned on the customer automatically based on the customer’s country, review the pricelist set on the customer form under the Sales & Purchases tab.
However, you can change it manually, if system detect wrong pricelist, you may choose same country on more than one country group which was assigned to different pricelists.
Create a quotation¶
Let’s send a quotation to your european customer, create the quotation from Sales / Orders / Quotation, pricelist will be set on the quotation and currency of the quotation will be changed accordingly, the product price will be appeared accordingly, when you add products on the quotation.
Create a quotation for China Export, add 10 quantity of Enterprise Contract (Users), 14 EUR /user applied as we prepare the quotation in EUR currency.
Now, a salesman can create quotations quickly regardless of the customer type and price offered to them, of course a correct pricelist have to be configured when you create customer, it can be reviewed later depending on the turnover.
Price based on currency conversion¶
Remove all the lines on the product Pricing and set correct Sales Price on the product form.
The price defined on the product is respective to the company currency (USD). Let’s create a quotation for the same customer and see what price will be proposed by the pricelist.
Video¶
Access the video at https://www.youtube.com/watch?v=YMXc4W5cHNg
Compute and apply discount automatically based on the pricelist¶
Allowing discounts on quotations is a common sales practice to improve the chances to convert the prospect into a customer, when you are not offering discount to all the customers, keep it manual and offer when customer demands.In case you have to apply discount for specific customer or products every time, it is quite difficult for salesman to remember those products or customer and apply the discount manually on each quotation.
Business case¶
The trading company “My Company” manufactures the Computer Desk and selling to their distributors and to retail customers.
They sell to retail customer at a public price of 3200 but when they sell to distributors the price would be 2240, and they show the percentage of the discount which was offered on the public price.
Configuration¶
Assumed that you have installed the Sales Management application.
Discount¶
By applying discount on the quotation, the product price will get decreased, the discount will be visible to the customer on quotation, this will encourage the customer to close the deal quickly.
The discount feature has to be enabled to show the percentage of the discount offered to the customer on quotation, it can be activated from Sales / Configuration / Settings.
Product Pricing¶
You need a pricelist to apply the product price based on the business rules such as discount or periodically price variations for a product(s). Let’s go to Sales / Configuration / Settings and activate the Multiple Sales Prices per Product options as of now we will keep the Multiple prices per product (e.g. customer segments, currencies) option selected by default.
Let’s create a Distributor Pricelist, the Public Pricelist available as a default, the pricelist can be accessed from Sales / Catalog / Pricelists. Create pricelist name it as Distributor Pricelist and change the Discount Policy to Show public price & discount to the customer.
The discount policy decides, whether the discount will be computed based on the pricelist and will be visible to customer on quotation or not. When you choose Discount included in the price the product price will be computed by applying the discount (%) and discount will not be visible to customer on quotation.
Tip
The Discount included in the price option can be used to apply the price variation such as commodity price, it may decrease or increased.
Create a product¶
Let’s create the product and define the pricing rules so depending on the customer the price will be applied automatically. The Pricing rules can be applied under the Sales tab on product form.
I have created two pricing rules, one for Distributor Priclist and another for Public Pricelist. The customer which do not comes under any of those pricing rules the Sales Price defined on the product will be applied in that case.
Create a customer¶
Create a customer China Export of type distributor, we will offer the Computer Desk to them at a special price.
To define this customer as a distributor, select the Distributor Pricelist (USD) in Sales Pricelist field available under the Sales & Purchase tab.
Create a quotation¶
Create a quotation from Sales / Orders / Quotations, select the China Export as a customer, a Distributor Pricelist (USD) will be selected automatically on the quotation. Now add the product Computer Desk on the order lines, Unit Price will be set to 3200 but Subtotal computed and shows 2240 as an automatic 30% discount computed and set on the Discount field based on the Distributor Pricelist.
The 30% is computed based on the difference between price offered to distributors and the product Sales Price. I.e. 3200 - 2240 = 960 which is 30% of the 3200 price.
Video¶
Access the video at https://www.youtube.com/watch?v=J41EpiT0a5g
Compute sell price and margin based on product cost price (AVCO costing method)¶
The most common buisnees case where you want to decide the sell price basd on your cost of of the product purchase price.
Business case¶
The My Company is a distributor of Laptop, they purchase a laptop form the default supplier and sell to retail customers, there are sometime frequent price change, so My Company wans to setup the inventory costing and based on cost they can define the product they add 35% margin and sell to their customers.
Configuration¶
- Install Sales Management, Purchase Management & Accounting and Finance apps
- Create a product Laptop
- Set the Internal Category to All / Saleable
- Set Costing Method to Average Cost (AVCO) on All / Saleable category
- Define Default Supplier as a vendor with the cost price of Laptop.
- Activate the Multiple Sales Prices per Product and Margins under the Sales / Configuration / Settings.
- Change existing price list Public Pricelist and add new pricelist iteam, they increase the Laptop price by 35%.
Video¶
Access the video at https://www.youtube.com/watch?v=t2P70HKk3rE
Define the product sales price per company¶
Video¶
Access the video at https://www.youtube.com/watch?v=MCnwS0ZVrM8
Sales Margin¶
Compute margin on sale order¶
Some business wants the realtime computation of the margins so that sales manager or person can propose the best price to the customer.
Let’s take the business case, sales manager check the margin on order and decide whether we can allow additional discount to the customer or not.
Configuration¶
Install the Sales Management application.

Note
If you want to check Margin feature for Average Cost (AVCO) install Purchase Management. Installation of sales and purchase will install other applications such as Inventory Management and Invoicing Management.
Margins¶
Go to Sales / Configuration / Settings
select Margins and apply the setting.
This will show margins on orders.

Products¶
Enter the product Sales Price and Cost accordingly, enter the latest sales and cost price.

I have entered $1200 sales price and $900 cost price, also defined the $900 purchase price on the vendor pricelist.
Tip
Product Cost will be computed automatically when you set the product costing method to Average Cost (AVCO) or First in First Out (FIFO). The FIFO method does not give you correct costing in some case.
Create Sales order¶
Let’s create a quotation, select the customer on quotation and product on order line. The margin will be computed as soon as you select the product, the difference between Unit Price and Cost is margin. The Margin be computed based on the difference for each lines on sale order.

Now, it will be easy for the sales manager to check what’s the margin on quotation. For SO004 it is 25%, its a good deal to go with, let’s move forward and confirm the order.
Video¶
Access the video at https://www.youtube.com/watch?v=GzhZi2296Z8
Unit of Measure¶
Sale and purchase in different unit of measure¶
Video¶
Access the video at https://www.youtube.com/watch?v=x33djiothAc
How to sell and purchase products in different units of measure, and apply better pricing?¶
Video¶
Access the video at https://www.youtube.com/watch?v=Ui6_-GInV9w
Product and Tax¶
How to manage prices for Business to Customer (tax included)?¶
Video¶
Access the video at https://www.youtube.com/watch?v=SRsMh0vqM2w
How to manage product prices for B2B (tax excluded) and B2C (tax included)?¶
Video¶
Access the video at https://www.youtube.com/watch?v=S6yNzHBEyOI
Invoicing¶
Send Pro-Forma Invoice to your customers¶
Video¶
Access the video at https://www.youtube.com/watch?v=4ew-PmcTdmo
Create Invoice for the ordered quantity¶
Video¶
Access the video at https://www.youtube.com/watch?v=7bXoYgFEyxc
Create Invoice based on the delivered quantity, when inventory app is not installed¶
Video¶
Access the video at https://www.youtube.com/watch?v=KWzwLfzqhnw
Create credit note from sales order, when customer return the product¶
Video¶
Access the video at https://www.youtube.com/watch?v=ujgz8Bx5xqk
How to create single invoice from multiple sales orders?¶
Video¶
Access the video at https://www.youtube.com/watch?v=oU-qvZ7Ly7I
Delivery Charges¶
Free delivery if order total is more then $2000¶
Odoo can handle various delivery methods, but it is not activated by default. Delivery methods can be used for normal sale of you can also use for your e-commerce order.
Delivery methods allow you to manage the transport company, the price and the destination.
Tip
You can even integrate Odoo with external shippers to compute the real price and the packagings.
Configuration¶
Activate the Shipping Costs feature form Sales / Configuration / Settings
.

Note
Activating the Shipping Costs will install the Inventory application if it was not installed previously.
Setup the delivery charges¶
Let’s assume that you deliver the product at fixed $50 and you deliver for free when total order value is more than $2000.

Goto Sales / Configure / Delivery Methods
rename the existing method Free delivery charges to Delivery charges
add the $50 in the Fixed Price.
Tip
If you have a multiple delivery methods having a fixed price, please create a saparate Delivery Product for each method.
Adding delivery cost to the quotation¶
You can now choose the Delivery Method on your sale order. If you want to invoice the price of the delivery charge on the sale order, click on Set price, it will add a line with the name of the delivery method as a product.

Video¶
Access the video at https://www.youtube.com/watch?v=JPpUPbTeJD0
Calculate shipping rates based on product weight¶
Odoo can handle various delivery methods, but it is not activated by default. Delivery methods can be used for normal sale of you can also use for your e-commerce order.
Delivery methods allow you to manage the transport company, the price and the destination.
Tip
You can even integrate Odoo with external shippers to compute the real price and the packagings.
Configuration¶
Activate the Shipping Costs feature form Sales / Configuration / Settings
.

Note
Activating the Shipping Costs will install the Inventory application if it was not installed previously.
Setup the delivery charges¶
Let’s assume that you deliver the product to your customer through postal service and the service changres you based on weight. Postal service deliver to all over the USA at $20 fixed rates if the weight upto 1kg, when weight is above 1kg, they charge $8 for every 1kg.

Goto Sales / Configure / Delivery Methods
and create a new method Postal Delivery,
select Based on Rule for Provide as the delivery cost is based on the weight and create a two rules.

Setup product weight¶
Do not forget to add the correct product weight while creating the products.

Tip
Compute and set the product weight including weight of delivery package.
Adding delivery cost to the quotation¶
You can now choose the Delivery Method on your sale order. If you want to invoice the price of the delivery charge on the sale order, click on Set price, it will add a line with the name of the delivery method as a product.

Video¶
Access the video at https://www.youtube.com/watch?v=o1QOCiWOnwk
Manage Inventory¶
How to trigger the purchase of products based on sales?¶
Video¶
Access the video at https://www.youtube.com/watch?v=76d-yIrcRKs
Service Product¶
How to invoice milestones of a project?¶
There are different kind of service sales: prepaid volume of hours/days (e.g. support contract), billing based on time and material (e.g. billing consulting hours) or a fixed price contract (e.g. a project).
Milestone invoicing can be used for expensive or large scale projects, with each milestone representing a clear sequence of work that will incrementally build up to the completion of the contract. For example, a marketing agency hired for a new product launch could break down a project into the following milestones, each of them considered as one service with a fixed price on the sale order :
- Milestone 1 : Marketing strategy audit - 5 000 euros
- Milestone 2 : Brand Identity - 10 000 euros
- Milestone 3 : Campaign launch & PR - 8 500 euros
In this case, an invoice will be sent to the customer each time a milestone will be successfully reached. That invoicing method is comfortable both for the company which is ensured to get a steady cash flow throughout the project lifetime and for the client who can monitor the project’s progress and pay in several times.
Note
You can also use milestones to invoice percentages of the entire project. For example, for a million euros project, your company might require a 15% upfront payment, 30% at the midpoint and the balance at the contract conclusion. In that case, each payment will be considered as one milestone.
Configuration¶
In order to sell services and to send invoices, you need to install the Sales application, from the Apps icon.
In Odoo, each milestone of your project is considered as a product. From the Sales application, use the menu Sales ‣ Products, create a new product with the following setup:
- Name: Strategy audit
- Product Type: Service
- Invoicing Policy: Delivered Quantities, since you will invoice your milestone after it has been delivered
- Track Service: Manually set quantities on order, as you complete each milestone, you will manually update their quantity from the Delivered tab on your sale order

Note
Apply the same configuration for the others milestones.
Quotations and sale orders¶
Now that your milestones (or products) are created, you can create a quotation or a sale order with each line corresponding to one milestone. For each line, set the Ordered Quantity to 1 as each milestone is completed once. Once the quotation is confirmed and transformed into a sale order, you will be able to change the delivered quantities when the corresponding milestone has been achieved.

Invoice milestones¶
Let’s assume that your first milestone (the strategy audit) has been successfully delivered and you want to invoice it to your customer. On the sale order, click on Edit and set the Delivered Quantity of the related product to 1.
Tip
As soon as the above modification has been saved, you will notice that the color of the line has changed to blue, meaning that the service can now be invoiced. In the same time, the invoice status of the SO has changed from Nothing To Invoice to To Invoice
Click on Create invoice and, in the new window that pops up, select Invoiceable lines and validate. It will create a new invoice (in draft status) with only the strategy audit product as invoiceable.

Note
In order to be able to invoice a product, you need to set up the Accounting application and to configure an accounting journal and a chart of account. Click on the following link to learn more: How to setup Odoo Accounting?
Back on your sale order, you will notice that the Invoiced column of your order line has been updated accordingly and that the Invoice Status is back to Nothing to Invoice.
Follow the same workflow to invoice your remaining milestones.
Video¶
Access the video at https://www.youtube.com/watch?v=m7Fmq0H3qo8
How to create task from sales order and invoice based on timesheet?¶
Video¶
Access the video at https://www.youtube.com/watch?v=NTgArimc5MI
Subscription¶
Set up recurring invoice, that help you to invoice regularly¶
Video¶
Access the video at https://www.youtube.com/watch?v=iHardy2xBLU
Sell subscriptions through sales quotation¶
Video¶
Access the video at https://www.youtube.com/watch?v=r9kVUJo_k5E
Sell subscription through eCommerce platform, receive payment through card (auto-debit)¶
Video¶
Access the video at https://www.youtube.com/watch?v=P0O6rTA1kec
Customer Portal¶
How to get customer approval on quotation through customer portal?¶
Access the video at https://www.youtube.com/watch?v=IEl0v3968kk
How to get online payment on quotation through customer portal?¶
Video¶
Access the video at https://www.youtube.com/watch?v=DZ6OsPzM-G4
Confirm quotation online and pay Invoice through customer portal¶
Video¶
Access the video at https://www.youtube.com/watch?v=m0ydtBqPrwY
Accounting and Finance¶
Odoo Accounting¶
Access the video at https://www.youtube.com/watch?v=6XgKPjgyoec
Transcript¶
Odoo is beautiful accounting software designed for the needs of the 21st century.
Odoo connects directly to your bank or paypal account. Transactions are synchronized every hour and reconciliation is blazing fast. It’s like magic.
Instantly create invoices and send them with just a click. No need to print them.
Odoo can send them for you by email or regular mail.
Your customers pay online, meaning you get your money right away.
Odoo accounting is connected with all Odoo our apps such as sale, purchase, inventory and subscriptions.
This way, recording vendor bills is also super quick. Set a vendor, select the purchase order and Odoo fills in everything for you automatically.
Then, just use the SEPA protocol or print checks to pay vendors in batches.
It’s that easy with Odoo.
Wait, there is more. You will love the Odoo reports. From legal statements to executive summaries, they are fast and dynamic. Use Odoo’s business intelligence feature to navigate through all your companies data.
Of course, Odoo is mobile too. You can use it to check your accounts on the go.
Try Odoo now, and join 2 millions of happy users.
The Accounting behind Odoo¶
This page summarises the way Odoo deals with typical accounts and transactions.
Double-entry bookkeeping¶
Odoo automatically creates all the behind-the-scenes journal entries for each of your accounting transactions: customer invoices, point of sale order, expenses, inventory moves, etc.
Odoo uses the rules of double-entry bookkeeping system: all journal entries are automatically balanced (sum of debits = sum of credits).
Accrual and Cash Basis Methods¶
Odoo support both accrual and cash basis reporting. This allows you to report income / expense at the time transactions occur (i.e., accrual basis), or when payment is made or received (i.e., cash basis).
Multi-companies¶
Odoo allows to manage several companies within the same database. Each company has its own chart of accounts and rules. You can get consolidation reports following your consolidation rules.
Users can access several companies but always work in one company at a time.
Multi-currencies¶
Every transaction is recorded in the default currency of the company. For transactions occurring in another currency, Odoo stores both the value in the currency of the company and the value in the currency of the transaction. Odoo can generate currencies gains and losses after the reconciliation of the journal items.
Currency rates are updated once a day using a yahoo.com online web-service.
International Standards¶
Odoo accounting support more than 50 countries. The Odoo core accounting implement accounting standards that is common to all countries and specific modules exists per country for the specificities of the country like the chart of accounts, taxes, or bank interfaces.
In particular, Odoo’s core accounting engine supports:
- Anglo-Saxon Accounting (U.S., U.K.,, and other English-speaking countries including Ireland, Canada, Australia, and New Zealand) where cost of good sold are reported when products are sold/delivered.
- European accounting where expenses are accounted at the supplier bill.
- Storno accounting (Italy) where refund invoices have negative credit/debit instead of a reverting the original journal items.
- Odoo also have modules to comply with IFRS rules.
Accounts Receivable & Payable¶
By default, Odoo uses a single account for all account receivable entries and one for all accounts payable entries. You can create separate accounts per customers/suppliers, but you don’t need to.
As transactions are associated to customers or suppliers, you get reports to perform analysis per customer/supplier such as the customer statement, revenues per customers, aged receivable/payables, …
Wide range of financial reports¶
In Odoo, you can generate financial reports in real time. Odoo’s reports range from basic accounting reports to advanced management reports. Odoo’s reports include:
- Performance reports (such as Profit and Loss, Budget Variance)
- Position reports (such as Balance Sheet, Aged Payables, Aged Receivables)
- Cash reports (such as Bank Summary)
- Detail reports (such as Trial Balance and General Ledger)
- Management reports (such as Budgets, Executive Summary)
- Odoo’s report engine allows you to customize your own report based on your own formulae.
Import bank feeds automatically¶
Bank reconciliation is a process that matches your bank statement lines, as supplied by the bank, to your accounting transactions in the general ledger. Odoo makes bank reconciliation easy by frequently importing bank statement lines from your bank directly into your Odoo account. This means you can have a daily view of your cashflow without having to log into your online banking or wait for your paper bank statements.
Odoo speeds up bank reconciliation by matching most of your imported bank statement lines to your accounting transactions. Odoo also remembers how you’ve treated other bank statement lines and provides suggested general ledger transactions.
Calculates the tax you owe your tax authority¶
Odoo totals all your accounting transactions for your tax period and uses these totals to calculate your tax obligation. You can then check your sales tax by running Odoo’s Tax Report.
Inventory Valuation¶
Odoo support both periodic (manual) and perpetual (automated) inventory valuations. The available methods are standard price, average price, LIFO (for countries allowing it) and FIFO.
Easy retained earnings¶
Retained earnings is the portion of income retained by your business. Odoo automatically calculates your current year earnings in real time so no year-end journal or rollover is required. This is calculated by reporting the profit and loss balance to your balance sheet report automatically.
Customer Invoice¶
Create first customer invoice and register payment¶
Video¶
Access the video at https://www.youtube.com/watch?v=rCOaO26xM68
How to match payment against an invoice?¶
Video¶
Access the video at https://www.youtube.com/watch?v=22ZCLf5gIUg
How to setup cash discounts?¶
Video¶
Access the video at https://www.youtube.com/watch?v=uNksgDgzKj8
Reset invoice numbering based on the date range (monthly invoice book)¶
Video¶
Access the video at https://www.youtube.com/watch?v=kFJNthxZ_cA
Payment Terms¶
How to setup and use payment terms?¶
Video¶
Access the video at https://www.youtube.com/watch?v=lagIgJBW-r4
How to define an installment plan on customer invoices?¶
Video¶
Access the video at https://www.youtube.com/watch?v=VL56Qsv0mzY
Warning message on credit limit reached and block further invoice when it cross limits¶
Video¶
Access the video at https://www.youtube.com/watch?v=CGMiClvEuuc
Payment & Followups¶
What are the different ways to record a payment?¶
Video¶
Access the video at https://www.youtube.com/watch?v=0UGvSCXxCn0
How to track uncleared customer check in bank?¶
Video¶
Access the video at https://www.youtube.com/watch?v=EmCvqT8jiQs
Create invoice, receive and register partial payment on invoice¶
Video¶
Access the video at https://www.youtube.com/watch?v=yAkzrzE94c0
How to automate customer follow-ups with plans?¶
Video¶
Access the video at https://www.youtube.com/watch?v=otuzF6CcUrA
Receive advance payment from customer and match against invoice later¶
Video¶
Access the video at https://www.youtube.com/watch?v=GMq-wCrDeDw
How to print customer ledger?¶
Video¶
Access the video at https://www.youtube.com/watch?v=97IbK9zKYAQ
Setup Accounting¶
How to setup Company Information, Bank Accounts and Fiscal Period?¶
Video¶
Access the video at https://www.youtube.com/watch?v=mmPNI2TY_Jw
How to setup Odoo Accounting and Import opening balance?¶
Video¶
Access the video at https://www.youtube.com/watch?v=ybnQN_ip0gQ
Taxes & Duties¶
Apply tax based on local or export sales¶
Video¶
Access the video at https://www.youtube.com/watch?v=RUnVpurD6gQ
Credit Notes¶
How to reject customer invoice, which is not issued to customer?¶
Video¶
Access the video at https://www.youtube.com/watch?v=-kG0gjRa1SE
How to modify the confirmed customer invoice?¶
Video¶
Access the video at https://www.youtube.com/watch?v=SfNSZ5UL31E
How to refund a fully paid customer invoice?¶
Video¶
Access the video at https://www.youtube.com/watch?v=xibj9GBkHiE
How to refund the partially paid invoice?¶
Video¶
Access the video at https://www.youtube.com/watch?v=mJCEtbbnyvc
Bank & Cash¶
How to do Bank Reconciliation in Odoo?¶
Video¶
Access the video at https://www.youtube.com/watch?v=A-96JQ6B-bI
How to manage the bank reconciliation process?¶
Video¶
Access the video at https://www.youtube.com/watch?v=A-96JQ6B-bI
Import bank statement (ofx format) and quick bank reconciliation¶
Video¶
Access the video at https://www.youtube.com/watch?v=YdbPaP_8yO0
Transferring money from bank account to petty cash (Cash withdrawal)¶
Video¶
Access the video at https://www.youtube.com/watch?v=bNvWbWFNTP8
Indian Localization¶
Multiple tax included in price, i.e.Indian GST Tax¶
Video¶
Access the video at https://www.youtube.com/watch?v=R2XP2t8-g14
Manage tax deduction at source (TDS) with accounting entries¶
Video¶
Access the video at https://www.youtube.com/watch?v=DxJNSjAfJ20
Multi Currency¶
How to prepare invoice in foreign currency?¶
Video¶
Access the video at https://www.youtube.com/watch?v=70–MY4AFCU
Vendor Bills & Payments¶
Purchase order to vendor bill, payment through check¶
Video¶
Access the video at https://www.youtube.com/watch?v=oAFcDFNBkCE
How to register cash sales and expense in account?¶
Video¶
Access the video at https://www.youtube.com/watch?v=m7wjxc3Mbck
How to pay vendor bills by check and print check from Odoo accounting?¶
Video¶
Access the video at https://www.youtube.com/watch?v=Lw4vX1A8tNE
How to manage batch deposits of checks?¶
Video¶
Access the video at https://www.youtube.com/watch?v=yIlGdN00o2k
How to pay several vendor bills at once?¶
Video¶
Access the video at https://www.youtube.com/watch?v=1TBV0gUSq84
Register partial payment while paying to multiple vendor bills¶
Video¶
Access the video at https://www.youtube.com/watch?v=O51ACPIaiOA
How to forecast future vendor bills to pay?¶
Video¶
Access the video at https://www.youtube.com/watch?v=4bbIW506cM8
How to create single vendor bill from multiple purchase orders?¶
Video¶
Access the video at https://www.youtube.com/watch?v=eVKzzkfZzE0
Inventory Valuation (Anglo-Saxons)¶
Compute the inventory valuation in P&L and BS (using standard costing and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
As your inventory costing method is standards, you are allowed to change the cost price of the product, assumed that you increase the cost price.
Tip
Make sure you change the cost price on the product once your valuation is equal for inventory and balance sheet, else you may have a wrong cost of goods sold entry.
When you see a COGS is having a negative value it means that your value of the inventory increased in warehouse this should be reflect in the balance sheet too.
To increase the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Or, when you see a COGS is having a positive value it means that your value of the inventory decreased in warehouse and this should be reflect in the balance sheet too.
To decrease the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Compute the inventory valuation in P&L and BS (fifo costing method and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
The cost price on the product page always display the cost of last unit sold or consumed or scrapped from the stock. If you change that manually it will not make any changes in the system.
Tip
Hide the product cost field, if all of your products have FIFO as the inventory costing method, even-users will never get confused.
Compute the inventory valuation in P&L and BS (average costing method and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
As your inventory costing method is average, you are allowed to change the cost price of the product, assumed that you increase the cost price.
Tip
Make sure you change the cost price on the product once your valuation is equal for inventory and balance sheet, else you may have a wrong cost of goods sold entry.
When you see a COGS is having a negative value it means that your value of the inventory increased in warehouse this should be reflect in the balance sheet too.
To increase the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Or, when you see a COGS is having a positive value it means that your value of the inventory decreased in warehouse and this should be reflect in the balance sheet too.
To decrease the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Correct cost of good sold accounting entry for kit type product using anglo saxon method¶
Video¶
Access the video at https://www.youtube.com/watch?v=6-KYnZOTO9A
Inventory valuation and compute the cost of goods sold¶
Video¶
Access the video at https://www.youtube.com/watch?v=PlN0r1Acroo
Inventory Management¶
Product & Stock¶
How to setup a minimum stock rule?¶
Video¶
Access the video at https://www.youtube.com/watch?v=4oN_81i1Qfs
Compute stock for the kit product based on the component stock¶
Video¶
Access the video at https://www.youtube.com/watch?v=m7wjxc3Mbck
Delivery Order¶
How to use different invoice and delivery addresses?¶
Video¶
Access the video at https://www.youtube.com/watch?v=fHp5-UUpt_U
How to amendment products on delivery order? (Installed only inventory application)¶
Video¶
Access the video at https://www.youtube.com/watch?v=qakpa5hy83k
Incoming Shipment¶
How to control product received? (Receive entirely & partially)¶
Video¶
Access the video at https://www.youtube.com/watch?v=tpUsy1XNQak
How to transfer dairy products to fridge (cold storage) when it arrives to inventory?¶
Video¶
Access the video at https://www.youtube.com/watch?v=zdybPdzdVNw
Inventory Costing¶
Compute the cost of product (standard price)¶
Business case¶
The My Company is a distributor of Laptop, they purchase a laptop form the default supplier and sell to retail customers, they do not maintain the stock, they always purchase on demand so Standard pricing is pefect costing method for them. Some times they benefit or loss if they have stock and product price change as they directly change the product cost price whcih impect on their inventory value.
Configuration¶
- Install Sales Management, Purchase Management & Accounting and Finance apps
- Create a product Laptop
- Set the Internal Category to All / Saleable.
- Default costing method on the category is Standard pricing.
- Define Default Supplier as a vendor with the cost price of Laptop.
- Purchse 2 unit of Laptop at different rate then the Standard price, inventory value will be computed based on the product Standard price field.
Note
This method is less useful in the real-life.
Compute the cost of product (average costing)¶
The average costing method help you to dicide the product sell price, each time you purchase the product new cost will be updated based on the existing stock and purchased stock value.
Business case¶
The My Company is a distributor of Laptop, they purchase a laptop form the default supplier and sell to retail customers, there are sometime frequent price change, so My Company wans to setup the inventory costing and based on average cost method.
Configuration¶
- Install Sales Management, Purchase Management & Accounting and Finance apps
- Create a product Laptop
- Set the Internal Category to All / Saleable
- Set Costing Method to Average Cost (AVCO) on All / Saleable category
- Define Default Supplier as a vendor with the cost price of Laptop.
- Purchse 3 unit of Laptop at different rates, the product will be computed on each reception by doing an average based on the purchase price.
Tip
Assumed that you have a 10 unit of laptop cost of 8500 (the inventory value will be same as the cost), you purchase new 10 laptop at the price of 830 each. The new cost price will be computed by an averga of total cost vs units. 840 = (8500 + 8300) / 20 (10 existing stock + 10 new purchase)
Compute the cost of product (first in first out method)¶
The fifo costing method help you to compute the accurate profit in the profit and loss account based on the all the purchase expense and sell price. You can add the landed cost (the cost of transportation) if you do a real time inventory valuation with fifo costing method. Each time you remove the products from warehouse the cost will be computed on the product Cost field
Configuration¶
- Install Sales Management, Purchase Management & Accounting and Finance apps
- Create a product Laptop
- Set the Internal Category to All / Saleable
- Set Costing Method to Average Cost (AVCO) on All / Saleable category
- Define Default Supplier as a vendor with the cost price of Laptop.
- Purchse 3 unit of Laptop at different rates, the product will be computed on each reception by doing an average based on the purchase price.
Tip
The FIFO is same as the Real price costing, follows the accounting FIFO and not forcing for warehouse FIFO removal strategy.
Inventory Valuation (Anglo-Saxons)¶
Compute the inventory valuation in P&L and BS (using standard costing and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
As your inventory costing method is standards, you are allowed to change the cost price of the product, assumed that you increase the cost price.
Tip
Make sure you change the cost price on the product once your valuation is equal for inventory and balance sheet, else you may have a wrong cost of goods sold entry.
When you see a COGS is having a negative value it means that your value of the inventory increased in warehouse this should be reflect in the balance sheet too.
To increase the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Or, when you see a COGS is having a positive value it means that your value of the inventory decreased in warehouse and this should be reflect in the balance sheet too.
To decrease the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Video¶
Access the video at https://www.youtube.com/watch?v=pVsdiEl6OJw
See also
- Compute the cost of product (standard price)
- Compute the cost of product (first in first out method)
- Compute sell price and margin based on product cost price (AVCO costing method)
- Compute the inventory valuation in P&L and BS (fifo costing method and manual valuation)
- Compute the inventory valuation in P&L and BS (average costing method and manual valuation)
Compute the inventory valuation in P&L and BS (fifo costing method and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
The cost price on the product page always display the cost of last unit sold or consumed or scrapped from the stock. If you change that manually it will not make any changes in the system.
Tip
Hide the product cost field, if all of your products have FIFO as the inventory costing method, even-users will never get confused.
Video¶
Access the video at https://www.youtube.com/watch?v=_TFhth_Uzc4
See also
- Compute the cost of product (standard price)
- Compute the cost of product (first in first out method)
- Compute sell price and margin based on product cost price (AVCO costing method)
- Compute the inventory valuation in P&L and BS (using standard costing and manual valuation)
- Compute the inventory valuation in P&L and BS (average costing method and manual valuation)
Compute the inventory valuation in P&L and BS (average costing method and manual valuation)¶
The manual inventory valuation method suggest that the valuation of an inventory has to be manage manually in financial accounting. The periodic journal entry has to be passed on regular internal so keep updated the valuation in balance sheet and cost of goods sold in profit and loss account.
On every regular internal an accounting entry has to be passed as below:
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Cost of Goods Sold | 800 |
To compute the cost of goods sold use the below formula
COGS = Inventory Valuation as per Balance sheet - Inventory Valuation
as per Inventory
Product Cost price¶
As your inventory costing method is average, you are allowed to change the cost price of the product, assumed that you increase the cost price.
Tip
Make sure you change the cost price on the product once your valuation is equal for inventory and balance sheet, else you may have a wrong cost of goods sold entry.
When you see a COGS is having a negative value it means that your value of the inventory increased in warehouse this should be reflect in the balance sheet too.
To increase the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Or, when you see a COGS is having a positive value it means that your value of the inventory decreased in warehouse and this should be reflect in the balance sheet too.
To decrease the value in balance sheet you have to pass below journal entry
Description | Debit | Credit |
---|---|---|
Inventory Valuation | 800 | |
Inventory Valuation Difference | 800 |
Video¶
Access the video at https://www.youtube.com/watch?v=aHa8jjJsEKA
See also
- Compute the cost of product (standard price)
- Compute the cost of product (first in first out method)
- Compute sell price and margin based on product cost price (AVCO costing method)
- Compute the inventory valuation in P&L and BS (using standard costing and manual valuation)
- Compute the inventory valuation in P&L and BS (fifo costing method and manual valuation)
Purchase Management¶
Request for Quotation¶
How to create a Request for Quotation?¶
Video¶
Access the video at https://www.youtube.com/watch?v=ksSvpBKRoI4
How to trigger the purchase of products based on sales?¶
Video¶
Access the video at https://www.youtube.com/watch?v=76d-yIrcRKs
How to setup drop-shipping?¶
Video¶
Access the video at https://www.youtube.com/watch?v=B839OZpB95U
How to setup two levels of approval for purchase orders?¶
Video¶
Access the video at https://www.youtube.com/watch?v=C8wdohr6Z10
Supplier Pricelist¶
How to search for product based on supplier code or name on purchase order?¶
Video¶
Access the video at https://www.youtube.com/watch?v=dBKetExCKNE
Purchase Exception¶
How to buy from new supplier with drop ship policy, when you default supplier reject the order?¶
Video¶
Access the video at https://www.youtube.com/watch?v=kGKOb4oW6yU
How to cancel confirmed purchase order or confirmed purchase order received partial shipment?¶
Video¶
Access the video at https://www.youtube.com/watch?v=rGgoldYzLls
Vendor Bills¶
How to control vendor bills, pay vendor bills based on reception?¶
Video¶
Access the video at https://www.youtube.com/watch?v=d05bZbrc8og
Purchase Agreement¶
How to manage bulk purchase through tender process?¶
Video¶
Access the video at https://www.youtube.com/watch?v=1TBV0gUSq84
How to purchase partially at two vendors for the same purchase tenders?¶
Video¶
Access the video at https://www.youtube.com/watch?v=482c0gxqGMs
Inventory Costing¶
Advance Topics¶
How to sell chemical products along with the containers and manage the refilling process?¶
Video¶
Access the video at https://www.youtube.com/watch?v=MPVaObaqCm4
Point of Sale¶
Point of Sale¶
Use customers on point of sale and access the customer ledger¶
Registering your customers will give you the ability to grant them various privileges such as discounts, loyalty program, specific communication. It will also be required if they want an invoice and registering them will make any future interaction with them faster.
Video¶
Access the video at https://www.youtube.com/watch?v=ev2HnMPqXLs
Create a customer invoice for selected orders on Point of Sale¶
Some of your customers might request an invoice when buying from your Point of Sale, you can easily manage it directly from the PoS interface.
Video¶
Access the video at https://www.youtube.com/watch?v=tnIvcBZZvCs
Launch a limited period offers on Point of Sale¶
Entice your customers and increase your revenue by offering time-limited or seasonal discounts. Odoo has a powerful pricelist feature to support a pricing strategy tailored to your business.
Video¶
Access the video at https://www.youtube.com/watch?v=NK4ZDqlq-9Y
Manage cash round-up or down at Point of Sale cash payment¶
Video¶
Access the video at https://www.youtube.com/watch?v=c6-hjrvdVZM
Sales return through Point of Sale¶
Video¶
Access the video at https://www.youtube.com/watch?v=ub3hRhasLtM
Session Management¶
How to print z-report from Odoo point of sale?¶
Video¶
Access the video at https://www.youtube.com/watch?v=hcAAfo5DwYI
Print z-report at the end of the day for each terminal separately and grouped¶
Video¶
Access the video at https://www.youtube.com/watch?v=42qrXd7JrfE
Barcode Scanner¶
Scan weight of the product through barcode in Point of sale¶
Point of sale may need to scan the product weight to decide the price. There are multiple ways to get the weight into point of sale, some of them are as below
- You are selling predefined packs (based on weight) of the products, and you want to know which pack has been scanned at the terminal to decide the price. i.e. pack of 250grm, pack of 500grm, pack of 1kg etc.
- You sell the items in loose packaging form, where customer create their own custom pack depending on their need, they do weight and generate the barcode accordingly.
- The third way is more easier to use in real-life but most complex to configure in Odoo, is to attached the weight scale machine to the point of sales terminal.
Business case¶
The small fruit shop sells the predefined packs of the Apples, they create a packs in advance such as Pack of 250grm, Pack of 500grm or Pack of 1kg. They would like to compute the price of the pack depending on the pack scan at the terminal.
Tip
You can scan Product price or Discount from the barcode, you need to configure the barcode rules under Nomenclature (i.e. Goto Point of sale session configuration and enable Barcode Scanner option)
Video¶
Access the video at https://www.youtube.com/watch?v=L-kRofdfdLc
Scan product price through barcode in Point of Sale (Dynamic pricing without pricelist)¶
The great featuer is priclist can be applied to the point of sale in Odoo. However it is not easy to configure the pricelist for the point of sale, also it increase the size in number of data that load at the point of sale startup.
Odoo point of sals able to read the understand the barcode well so that, it can fetch the product price form the barcode, and they works well without loading lots of data and defining the complex pricelist rules for the point of sale. You can create a barcode with price in below business scenarios.
- The manufacturer print the barcode with the price, as the price often changes.
- You can create yoru own barcode as you want to run the promotion scheams untile the stock.
Business case¶
The shop My Company wonts the run the promotion program on some products, for the limited stock available in the shop.
Configuration¶
You have to create the barcode rules under the point of sale barcode nomenclature. The defaule rule is already exist with the name Price Barcodes 2 Decimals the Barcode Pattern is 23…..{NNNDD} it describes that the total size of the barcode is 12 digit.
It start with 23, then 5 digit product code at last it have the 5 digit product price can be configured.
Tip
The barcode on the product has to be configre the 12 digit i.e. 231234500000. keep last 5 digit as 0 as it may different according to the price.
Video¶
Access the video at https://www.youtube.com/watch?v=xbPLx-KRh2s
Scanning manufacturer barcode at Point of Sale (Scan same product for multiple barcodes)¶
Video¶
Access the video at https://www.youtube.com/watch?v=E6zum4RCCzw
Accounting¶
How to do credit sale through the point of sale¶
Video¶
Access the video at https://www.youtube.com/watch?v=zHH1uqCVJEc
How to pay invoice through wallet in Point of Sale?¶
Video¶
Access the video at https://www.youtube.com/watch?v=_UVBUlsG3nU
Sales return through Point of Sale terminal, receive product and return cash¶
Video¶
Access the video at https://www.youtube.com/watch?v=F1N82xHpC6s
Sales return through Point of Sale terminal (working with customer invoice and credit note)¶
Video¶
Access the video at https://www.youtube.com/watch?v=6rrfML6vZfw
Project Management¶
Project & Task¶
How to create task from sales order and invoice based on timesheet?¶
Video¶
Access the video at https://www.youtube.com/watch?v=NTgArimc5MI
Create default stages in the project created through Sales order¶
Video¶
Access the video at https://www.youtube.com/watch?v=IjfQBadSHs4
How to gather feedback from customers?¶
Video¶
Access the video at https://www.youtube.com/watch?v=cBRQ73hEHog
Timesheet¶
How to record time spent on Task and Project?¶
Video¶
Access the video at https://www.youtube.com/watch?v=ScMYXe2N004
Record time spent using Awesome Timesheet - Chrome plugin¶
Video¶
Access the video at https://www.youtube.com/watch?v=OvLfGJdCPGA
Helpdesk¶
Managing service tickets and service contracts¶
Video¶
Access the video at https://www.youtube.com/watch?v=4TRq5HeLprk
Customer Portal¶
How to allow the customer to view timesheet on their task and projects?¶
Video¶
Access the video at https://www.youtube.com/watch?v=cBRQ73hEHog
Manufacturing¶
Inventory¶
How to issue material to factory location to start manufacturing order?¶
Video¶
Access the video at https://www.youtube.com/watch?v=3MuhLtDM7tM
Manage stock of liquid products in warehouse (unit vs ml)¶
Video¶
Access the video at https://www.youtube.com/watch?v=4zIxKotfyw4
Compute stock for the kit product based on the component stock¶
Video¶
Access the video at https://www.youtube.com/watch?v=m7wjxc3Mbck
By-Products¶
Wooden, Glass or Plastic sheet consumption during the manufacturing process¶
Video¶
Access the video at https://www.youtube.com/watch?v=o-aQaXeQe6A
Subcontracting¶
Setup subcontracting in manufacturing process¶
Most manufacturing companies outsource some part of the job contracting work to other manufacturing companies to get the best expertise methodology and resource to produce the world class product (i.e Most reputed companies smart phones are assembled in China is the best example of the subcontracting)
In this document we will show you steps to setup the subcontracting business flow, Issue the raw material to your contractor and get the semi-finished product which will be consumed later to prepare the final product in our factory.
Let’s take an example of Table, to produce the table we need 1 table top and table frame, 4 lags and some consumable like bracket and bolt, assumed that table is laminated by third party contractor where we supply wood sheet and lamination sheet to prepare the laminated table top.

Configuration¶
Install manufacturing, purchase, inventory applications in order to create the full subcontracting flow.
Create location¶
By default production is the location where all the manufacturing order processed, all the material issued from stock location to Production location, and once production completed the final product pushed back to the stock location.
We need seperate location which is not part of our warehouse, we will called it subcontracting. It will be easy to track the material issued to the subcontractor, also we can define reorder level on that location.
Tip
You can enable the multi location from Inventory / Configuration / Settings
,
select Storage Locations and apply the setting.
To create the location go to Inventory / Configuration / Location
, create an
internal location named as Contractor under the WH.

Enable routes¶
Inventory route plays a key role to create the subcontracting flow, using routes we are able make the custom flow for the inventory, like Issue material to contractor and receive finished material form contractor.
To create the custom route go to Inventory / Configuration / Settings
and
select Multi-Step Routes, Storage Locations will be selected automatically.

Let’s create a two different routes, which can be selectable on the product routes
- Material - select this route on the product which can be issued to the contractor
- Subcontracting - select this route when you want contractor to be product and send it to our warehouse (stock location)
Material Route¶
Material route, select Product and Product Category under the Applicable On options.

Create a Procurement that applied on the Contractor location and ask our Stock location to fulfill the requirement by stock transfer.

Subcontracting Route¶
Same way create second route “Subcontracting” that create a manufacturing order at contractor location when we need that semi-finished material in our stock.

Create a procurement rules that applied on WH/Stock location and ask WH/Contractor location to fulfil by creating a manufacturing order. This configuration will create the manufacturing order at Contractor location and looking for the material at WH/Contractor location and once Tabletop produced it will be pushed to WH/Stock location.

To separate the contractor’s manufacturing orders form the normal manufacturing orders you should create a new operation type which will be appeared on the warehouse dashboard.

Products¶
Let’s create the Tabletop product and select the correct route on this product, select Subcontracting as this product is manufactured but at contractor location, we just need to supply them wooden and lamination sheet.

When you create a Wooden and Lamination sheet select the Material and Buy routs on those products.

When this products required at contractor location it will create the delivery order in our warehouse and when this product required in our warehouse we will buy it from the vendors.
Note
Define the vendor under the purchase tab and define the re-order level for both location WH/Stock and WH/Contractor depending on the needs.
Define the other raw material such as lags, table frame, bracket and bolt as stockable and define respective vendors and re-order level for each products. The bolt can be defined as consumable with the minimum stock level.
Bill of Material¶
Define two different bill or material one for Tabletop and second for the Table (final product).

Once you define the bill of material for Table it will be looking as below, print the BOM Structure form Print manu on the Table’s bill of material.

Cost Structure¶
Make sure that you have configure the correct cost on each product to compute the cost of the finished and semi-finished raw material.

Let’s add a new consumable product on the Table top bill of material to include the cost of contractor, I have considered that to produce each table top contractor will charge us $5 as a service and delivery charges.
I have added that cost to the my Table top bill of material, and cost computed based on the components and service is not $80.

Tip
You can also install the Product extension to track sales and purchases app to compute the cost of the product based on the cost of material consumed.

Reorder Rules¶
Make sure that you defined the reorder rules for each product respectively to the locations. The reorder rules have to be defined for both WH/Stock and WH/Contractor location.

Run the Scheduler from Inventory application, you should get the first request for quotation under the Purchase application as below.

Confirm the purchase and receive the raw material to have the seamless test for the subcontracting business flow.
Manufacturing order¶
Everything is setup and now we are ready to test our first manufacturing order that triggers subcontracting flow. Create the manufacturing order for 1 Table, save and check on Check Availability button.

All the material except Tabletop will be marked as available.
Go to Inventory application and run the scheduler 2 times, you will notice after each scheduler run you will see the updates on the dashboard. First time it will create the manufacturing order at Subcontracting options and then delivery order on the Delivery operation.

Open the delivery order and process it, as soon as you process the manufacturing order at Contractor location will be ready to process.

Process and manufacturing the set it mask as done. When contractor’s manufacturing order processed and mark as done, the Tabletop will be marked as received in our warehouse and we are ready to process the order for the Table in our factory.

Finally produce the table and set this manufacturing order as done by clicking on the Mark as Done button. Check the inventory level it has be looking as below.

Contractor Bill¶
Receive the vendor bill and create it manully.
Video¶
Access the video at https://www.youtube.com/watch?v=mms3U_2T8Nc
Setup subcontracting in manufacturing process (Dropship Material)¶
Most manufacturing companies outsource some part of the job contracting work to other manufacturing companies to get the best expertise methodology and resource to produce the world class product (i.e Most reputed companies smart phones are assembled in China is the best example of the subcontracting)
In this document we will show you steps to setup the subcontracting business flow, Issue some raw material to your contractor from your warehouse and some raw material ask your vendor to make the direct delivery to contractor location.
Contractor will produce the semi-finished product which will be consumed later to prepare the final product in our factory.
Let’s take an example of Table, to produce the table we need 1 table top and table frame, 4 lags and some consumable like bracket and bolt, assumed that table is laminated by third party contractor where we supply wood sheet and lamination sheet will be supplied by our vendor directly to prepare the laminated table top.

Configuration¶
Install manufacturing, purchase, inventory applications in order to create the full subcontracting flow.
Create location¶
By default production is the location where all the manufacturing order processed, all the material issued from stock location to Production location, and once production completed the final product pushed back to the stock location.
We need seperate location which is not part of our warehouse, we will called it subcontracting. It will be easy to track the material issued to the subcontractor, also we can define reorder level on that location.
Tip
You can enable the multi location from Inventory / Configuration / Settings
,
select Storage Locations and apply the setting.
To create the location go to Inventory / Configuration / Location
, create an
internal location named as Contractor under the WH.

Enable routes¶
Inventory route plays a key role to create the subcontracting flow, using routes we are able make the custom flow for the inventory, like Issue material to contractor and receive finished material form contractor.
To create the custom route go to Inventory / Configuration / Settings
and
select Multi-Step Routes, Storage Locations will be selected automatically.

Let’s create a two different routes, which can be selectable on the product routes
- Material - select this route on the product which can be issued to the contractor
- Subcontracting - select this route when you want contractor to be product and send it to our warehouse (stock location)
Material Route (Buy and Deliver)¶
Material route, select Product and Product Category under the Applicable On options.

Create a Procurement that applied on the Contractor location and ask our Stock location to fulfill the requirement by stock transfer.

Tip
Material Route (Buy and Deliver) route first check the material at WH/Stock location and buy when enought stock is not availale.
Material Route (Dropship)¶
Material route, select Product and Product Category under the Applicable On options.

Create a Procurement that perform the Buy opertion when stock or product is not available at WH/Contractor location.

Tip
Material Route (Dropship) route first check the material at WH/Stock location and buy when enought stock is not availale.
Subcontracting Route¶
Same way create second route “Subcontracting” that create a manufacturing order at contractor location when we need that semi-finished material in our stock.

Create a procurement rules that applied on WH/Stock location and ask WH/Contractor location to fulfil by creating a manufacturing order. This configuration will create the manufacturing order at Contractor location and looking for the material at WH/Contractor location and once Tabletop produced it will be pushed to WH/Stock location.

To separate the contractor’s manufacturing orders form the normal manufacturing orders you should create a new operation type which will be appeared on the warehouse dashboard.

Products¶
Let’s create the Tabletop product and select the correct route on this product, select Subcontracting as this product is manufactured but at contractor location, we just need to supply them wooden and lamination sheet.

When you create a Wooden sheet select the Material (Buy -> Deliver) and Buy routes.

When you create a Lamination sheet select the Material (Dropship) route.

Depanding on the product routes will be applied, delivery and purchase order will be create for the Wooden sheet while Lamination sheet will create the purchase order and direct delivery form vendor location.
Note
Define the vendor under the purchase tab and define the re-order level for location WH/Stock and WH/Contractor depending on the needs.
Define the other raw material such as lags, table frame, bracket and bolt as stockable and define respective vendors and re-order level for each products. The bolt can be defined as consumable with the minimum stock level.
Bill of Material¶
Define two different bill or material one for Tabletop and second for the Table (final product).

Once you define the bill of material for Table it will be looking as below, print the BOM Structure form Print manu on the Table’s bill of material.

Cost Structure¶
Make sure that you have configure the correct cost on each product to compute the cost of the finished and semi-finished raw material.

Let’s add a new consumable product on the Table top bill of material to include the cost of contractor, I have considered that to produce each table top contractor will charge us $5 as a service and delivery charges.
I have added that cost to the my Table top bill of material, and cost computed based on the components and service is not $80.

Tip
You can also install the Product extension to track sales and purchases app to compute the cost of the product based on the cost of material consumed.

Reorder Rules¶
Make sure that you defined the reorder rules for each product respectively to the locations. The reorder rules have to be defined for both WH/Stock and WH/Contractor location.

Run the Scheduler from Inventory application, you should get the first request for quotation under the Purchase application as below.

Confirm the purchase and receive the raw material to have the seamless test for the subcontracting business flow.
Manufacturing order¶
Everything is setup and now we are ready to test our first manufacturing order that triggers subcontracting flow. Create the manufacturing order for 1 Table, save and check on Check Availability button.

All the material except Tabletop will be marked as available.
Go to Inventory application and run the scheduler 2 times, you will notice after each scheduler run you will see the updates on the dashboard. First time it will create the manufacturing order at Subcontracting options and then delivery order on the Delivery operation.

Open the delivery order and process it, as soon as you process the manufacturing order at Contractor location will be ready to process.

Process and manufacturing the set it mask as done. When contractor’s manufacturing order processed and mark as done, the Tabletop will be marked as received in our warehouse and we are ready to process the order for the Table in our factory.

Finally produce the table and set this manufacturing order as done by clicking on the Mark as Done button. Check the inventory level it has be looking as below.

Contractor Bill¶
Receive the vendor bill and create it manully.
Video¶
Access the video at https://www.youtube.com/watch?v=esoHqzckMxI
Subcontracting process for contractors¶
Like the we setup subcontracting in manufacturing process for companies who outsource the contracting work, the contractor need the setup at other side, he get the requirement form factory to perform the some part of the final product. The outsourcing company send the raw material to build the product and pay for the job work done.
In this document we will show you steps to setup the subcontracting business flow for the contractors, get the raw material to and produce the semi-finished product delivery the product get paid for the job work done.
Let’s take an example of Table, to produce the table we need 1 table top and table frame, 4 lags and some consumable like bracket and bolt, assumed that tabletop is laminated by third party contractor by us, we get the wood sheet and lamination sheet to prepare the laminated table top.

Configuration¶
Install Sales Management, Mathanufacturing applications, the Inventory Management and Invoicing applications will be installed automatically.
Setup Inventory¶
In order to setup the contractors workflow the multiple warehouse and some custom
routes is required, lets enable them from the Inventory application. Go to
Inventory / Configuration / Settings
and activate the Multi-Warehouses and
Multi-Step Routes the Storage Locations will be selected automatically.

Create Warehouse¶
In order to separate the internal and outsource manufacturing orders we need to setup the other warehouse, the default warehouse we will use as an internal and new warehouse we will setup as a Factory where we will process all the outsourcing orders.

You should get the 8 inventory operations on the Inventory dashboard, 4 operations for each warehouse. i.e. Receipts, Internal Transfer, Delivery Orders and Manufacturing.
Tip
Make sure that you keep selected for Manufacture in this Warehouse field on the warehouse.
Create Material Route¶
The contractor flow is same as the standard manufacturing process, where we create a manufacturing order and buy the material on demand through purchase process. In this process we have to ask customer who provide us the manufacturing job, the material we will get we do not have to pay for it as it does not come through purchase process.
We will create a new route Material which should be selected on the product, which is going to be supplied by the customer along with the contracting order.
Go to Inventory / Configuration / Routes
, create a new route called Material

Create a Procurement Rules that moves the material from Vendor Location to Factory Stock location, select Factory: Receipts on Operation Type as an incoming shipment should be created under that operation.

Products¶
Let’s create the Tabletop product, it is Stockable Product product, select the Manufacturing and Make to Order routes. The manufacturing order for the tabletop will be created when we have a job order.

The Sales Price on the Tabletop product is actually the cost of the production and not the cost Tabletop. When we sell the Tabletop we actually sell the job work to produce the Tabletop.
Note
Set the Manufacturing Lead Time to 5 and Customer Lead Time to 7. This will used to compute the schedule dates for the manufacturing order, delivery order.
Create a Wooden and Lamination sheet and select the Material and Make to Order routes on those products.

Bill of Material¶
Define the bill or material for Tabletop, that consume Wooden sheet and Laminated sheet as a raw material.

During the manufacturing, contractor cares about the cost of the service and resources such as electricity and manpower and machine. Set the cost of the material to 0 and add those cost as a consumable product on the bill of material. At the end of the manufacturing process you will get the exact cost of the job work.
Reorder Rules¶
We don’t need any reorder rules as all the material will be procured on demand from the customer.
Sale Order¶
Let’s assume that we receive the work order to prepare the 10 Tabletop form China Export.

Tip
You will find two Delivery attached to the Sales order, one is the actual delivery order while second it the incoming shipment which ask for the material to supply form the customer to build the Tabletop.
The Unit price is the price for the job work to produce for each table. Make sure that you change the Warehouse to Factory as we process all the outsourcing work in that warehouse.

Confirm the order, it creates the Delivery Order and Manufacturing order and Receipts in the Factory warehouse.

Manufacturing Order¶
The sales order creates the delivery order, that triggers manufacturing order and that triggers reception order. The complete flow is triggered through Make to order route so you have SO001 in Source Document on delivery, manufacturing and incoming shipment.

When you have a multiple orders from different customers, manufacturing orders will be ready to produce only for the customer who supply the material.

Let’s process the incoming shipment at reception and process the manufacturing order. The delivery order will be ready when manufacturing order completed.
Job work Invoice¶
You are ready to prepare the send the invoice for the job work once the delivery done. Create an invoice and send it to customer, this is the an invoice for the job work and not for the selling of the Tabletop.

Tip
You can set the Invoicing Policy on the Tabletop product that takes care for the invoicing process.
Video¶
Access the video at https://www.youtube.com/watch?v=JPHB5_DiZfI
Human Resource¶
Employee¶
Show organizational chart on employee form¶
Video¶
Access the video at https://www.youtube.com/watch?v=NpXoieYwb7I
Managing Employee Leaves¶
Planning and forecasting tasks and projects required the updated information for the resource availability. Leave management application helps to provide the updated information for employee unavailability. Leave management application in Odoo can be used independant or integrated with Project Forecasting application for the better planning of any long term project.
There are many business cases where tracking of employee leaves are necessary, let’s see how Odoo Leaves application will answer all those business cases.
Business case¶
The types of leave and number of leave available for each leave types are as below in our business case.
- The leave cycle starts from January 2018
- Working schedule for all the employees are morning 8 am to 5 pm with 1 hour of lunch break
- Full time employees have 12 Legal leaves for the year 2018
- Part time employees have 12 half leaves for the year 2018
- All employees are eligible to get the 6 Sick Leaves during the year 2018, however employees can have more sick leaves if needed with medical certificates
- Employee can have the Compensatory Days off in some cases where employee have worked on off days
Let’s configure all the above business cases in Odoo and get the updated leave information for all the employees.
Configuration¶
Install the Leaves application form Apps menu on your instance, only an Administrator user can perform installation operation.
Make sure that you have a updated leave policy ready, let’s take a business case and configure the number of leave available to each employees for each leave types.
Working schedule¶
As per business case the working schedule for all the employees are morning 8 am to 5 pm with 1 hour of lunch break. To configure the working schedule please goto Settings → Technical → Resources → Working Time, create a one if the default working schedule does not meet your requirement.
I have created the Standard 40 Hours/Week schedule, almost all the employees are working under this schedule. Leave the Starting Date and End Date empty if you would like to use this schedule throughout the year or until the changes required in working time.
Default Working Schedule¶
This can be set as a default working schedule for every new employee created in the system, goto Configurations → Settings under the Employees application.
Warning: Changing the Company Working Hours will not change the working schedule for the existing employees, the new employees created after the change will have this working schedule as a default.
When you have a new employee joining in the company, the default company working hours will be applied to that employee, however it can be change if required for the specific employees at the time of creation or later.
Employees number of leaves also required to compute the salary statement for every month so that unpaid leaves can be deducted from the salary.
Tip: The working schedule can be change for specific employees directly on the employee configuration.
Employee Tags¶
Create an associate employee with tags are an important feature that allows us to automate allocation of leave quickly, the leave can be allocated either by Employee or by Tags, immagin when you have thousand of employees and you have to assign different types of leaves. When you work by Employee it increase a lots of work for the HR office or manager.
Create and assign the tags to the employee carefully, as based on the tags leaves will be allocated. In our business case we will create a Fulltime and Parttime two different tags to differentiate the employees at the time of leave allocation.
The simplest way to create the tags is directly from the employee form, just type the tag name and choose option to create that tag with Odoo’s quick create feature.
Click on Create “Fulltime” link to create and assign created tag to new employee being created.
Note: You can assign multiple tags to the employee that helps you to group the employees and search them quickly when needed.
You can verify the list of employees for the correct assignation of tags from the employee directory. Goto Employees and enter Fulltime and search for the Tags.
Make sure that you have verified the list of assigned employee on each tags, fix it before you proceed for the leave allocation.
Leave Types¶
Default leave types are already given in the Odoo as a standard data, however you can create more if needed according to your business case.
The leave types can be access from Configuration menu under the Leaves application.
You can create a new type of change the existing according to the business rules you need. You can change the below fields to adapt your business rules on leave type.
Apply Double Validation: Check this field when you want that the approval of the leave will be done by Department Manager and HR Manager.
Allow to Override Limit: The number of leave are always predefined, however you can allow to request for more leave than the defined/allocated, i.e. sick leaves can be requested more than assigned.
Meeting Type: Once a leave is validated, Odoo will create a meeting of this type on the correspondent calendar.
Color in Report: This color will be used to To display the specific types of leave in with color in PDF report.
As a business case Sick Leaves may extend. So, check Allow to Override Limit field on the view.
Leave Allocation¶
Leaves can allocated by HR Manager or Officer or Department Manager at anytime to employees. The yearly leave allocation will be done by HR Officer or Manager in the beginning of every year while Department Manager can allocate the Compensatory leaves. Let’s create the yearly leave allocation.
To assign the leave goto My Leaves → Allocation Request under the Leaves application and click on CREATE button.
By default you can assign the leaves to selected employees, employees can also create the allocation request to ask for the compensatory leave, which will be reviewed and approved by Manager or HR Office later.
Leave by Employee Tags¶
It is advisable to allocate all the yearly leaves to the employees by their tags, it will save lots of time to create many records, each for an individual employee.
Select the Leave Type and enter the Duration (duration is always in days). Change the Mode from By Employees to By Employee Tags and select the specific tag in Employee Tag field, it is group of employees to whom we are going to assign the 12 legal leaves.
By default the leave allocation will be in draft, it has to be requested for the approval, click on CONFIRM button to ask for the approval, HR Manager have the rights to approve the allocation request.
As soon as the allocation request approved, Odoo will create an individual leave allocation request for each employee who belongs to selected tag.
Compensatory Leaves¶
Employee can create a leave request manually, enter the appropriate Description, Duration and select the type Compensatory Days in the Leave Type field.
As an employee you have already applied, you have to wait for the approval for your department manager or hr manager.
Leave Summary¶
As soon as the yearly leave allocated, it is advisable for all the employees to check their leave summary for the allocated leaves. Leave summary for an individual employees can be checked from Leaves application, the first screen will be leave summary.
Employee can see their leaves it can be allocated or requested, whether their status approved or rejected. The actual leaves available to the employees will be displayed on the employees form.
Employee Expense¶
Manage advance payment, employee expenses and reconciliation¶
Video¶
Access the video at https://www.youtube.com/watch?v=t7PS7EOiPLM
Website and eCommerce¶
Website¶
How to generate leads or opportunities through website contact us page?¶
Video¶
Access the video at https://www.youtube.com/watch?v=Q4FujRKnUHM
Products¶
How to configure product variants that looks perfect on eCommerce page?¶
Video¶
Access the video at https://www.youtube.com/watch?v=6UkRfAu4xvE
Ordering products, variant attribute and values on the products page¶
Video¶
Access the video at https://www.youtube.com/watch?v=0-QgV9HDU6M
Delivery Cost¶
Allow your customer to choose Normal or Express delivery at checkout¶
Video¶
Access the video at https://www.youtube.com/watch?v=4mqUBAuqO18
Show delivery methods depending on the customer address¶
Video¶
Access the video at https://www.youtube.com/watch?v=NlxgevrT9O4