Odoo 11 Best Practices

This book is dedicated for entrepreneur who wants to implement all-in-one business application out-of-the box for their business.

Odoo 11 Best Practices 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.

Note

Please comment on the page below, if you have any question related to that topic, you can also propose new topics you would like to have on the book.

You can subscribe to Youtube channel to receive an instance update about the new videos and pages on this book.

About Odoo 11 Best Practices

Odoo 11 Best Practices

Odoo 11 Best Practices 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.

Updates

You can subscribe to Youtube channel to receive an instance update about the new videos and pages on this book.

You can follow Twitter channel to get the updates about the book.

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 set 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.

signup at odoo.com
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.

_images/chapter_01_03.png

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.

_images/chapter_01_04.png
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.

_images/chapter_01_06.png

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.

User list

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

User list
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.

Create 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.

Create new user

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

Set custom access rights for new users

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.

Odoo debug mode

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.

CRM, Sales and Invoicing for 5 users

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.

runbot.odoo.com

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 of 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 the priorities of your work.

image0

Track activities

Activities can be tracked on every single document, Here is an example for opportunities:

image1

You can have a activities which are due, or to be performed today or in future, this can be tracked on two places, kanban card or below the form view.

image2

Schedule next activity

Activities can be planned and managed from the chatters or from the kanban views on opportunity card.

image3

The first activity can be schedule or new activity can be scheduled as soon as you complete the first one.

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.

image4

The next activity “Call” will be propose, when you fill finish the “Email” activity.

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.

Manage lost opportunities

While working with your opportunities, you might lose some of them. You may want to keep track of those opportunities with the reasons you lost them and also the ways to recover them in the future.

Business case

The company planning to revised the price of the product they are selling and they would like to make a test offer or announcement about the to the opportunity who lost because of the reason “Too Expensive”.

Mark an opportunity as lost

While in your pipeline, select any opportunity you have to mark as lort, you will see a Mark Lost button, by clicking on that you have to select the lost reason, that can then select an existing Lost Reason or create a new one right there.

image0

Tip

You will find your Lost Reasons under Configuration / Lost Reasons. You can manage the reasons from if you want to better organize the lost reason.

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.

image1

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.

image2

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.

image3

You can switch to List View select the opportunities you want to restore, from Action click on Unarchive to restore multiple opportunities at once.

image4

Automatic leads assignation to team members

There are multiple sales people working within the sales team, the number of leads increased you have to increased the number of people to work on. The problem starts for the team manager to assign the leads to them when team grows, let’s see how you can make the team manager life easy with automatic leads assignation.

Business case

The company have a increased the team size to process the maximum leads per day as they start getting many new leads. They would like to first convert leads into opportunity and assign to the team members within team.

Configuration

Install a module Lead Scoring under your Apps page available in Odoo Enterprise only.

image0

Qualification step before creating an opportunity

The default sales activity is managed with the opportunity pipeline, you can change that to add the qualification stage before creating an opportunity.

image1

Assumed that you start getting leads into the team, by default all those leads are unassigned.

Add members to your sales channel

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

You can define maximum leads that should be assigned to the member within 30 days, this will ease the process of assigning the leads to the member easily.

image2

You can also add the specific domain on each user to be sure that each user get the specific leads to work on based on their expertise or country, etc…

Tip

You can define the size of batch using system parameters website_crm_score.bundle_size that defines the number of leads going to be process on each lead assignation schedule.

Activate the lead assignation scheduler

Enable into the debug mode and goto Schedule Action form home screen, just type the word.

image3

Search for the Crm Score: lead assignation and Switch On the schedule action, it will automatically process 50 leads every day. If you want to assign frequent you can switch to Hours instead of Days.

Tip

You can check leads assignation manually by clicking on the Run Manually button on the schedule action.

As soon as the number of leads increase, on each schedule action you have to process more leads, you can do it by setting the system parameters. Create a new system parameters with key website_crm_score.bundle_size and set the value.

image4

Manage multiple sales teams

You can spread your sales activities into the multiple sale teams depending on the product, service or region, the purpose of setting different sales team might also be to setup the different sales process too.

Business case

The company have a different customer segments retailer and distributors and they wants to manage through different set of people as the business rules are different along with the sales tactics.

Configuration

Assumed that the CRM application is installed.

Create a new sales channel

To create a new Sales Channel, goto Configuration / Sales Channels under the CRM Application. There you can set an email alias to it, every message sent to that email address will create a lead/opportunity under that sale team.

image0

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.

image1

Channel specific sales stages

To jump to the stages for the specific sales challen goto Reporting / Sales Channels under the CRM Application, click on the Pipeline to see the sales process for the specific sales team. The default stages will be looking as below.

image2

Click on the Add new column to create a new stage in the sales team, lets create Qualified Sponsor stage and drag and drop between the Qualified and Proposition stage.

image3

The stage can be set for the specific team by adding Team on the configuration of that stage. Click on the gear icon to Edit Stage, by default this stage will be available to all the sales channel, when no Team set on stage.

image4

Sales channel dashboard

To see the operations and results of all the sales channel at a glance, the sales manager has an access to the Sales Channel Dashboard under Reporting.

image5

It is shared with the whole ecosystem so every revenue stream is included in it: Sales, eCommerce, PoS, etc.

Sales pipe for specific channel

Click on the Pipeline button on sales channel to see the sales pipe for any specific channel, you will find all of its opportunities related to that sales channel.

image6

Tip

Lead score is an application which help you to assign the leads to the respective team members with in team.

Acquire leads

Convert leads into opportunities

Opportunity is a qualified lead, specific deal has met certain criteria which indicate a high value to the business, or a high probability of closing but when you have details of your visitors, it is just a lead. You have to get the enough details form you visitors, if matches with your business interest you can convert them into opportunity.

You can collect the leads instead of creating an opportunity and setup the process to qualify those leads before you convert them into opportunity.

Business case

Assumed that My company is collecting contacts of all the visitors, through contact us page or visitor tracking system. Create an leads from the contact information and qualify them before converting them into an opportunities.

Configuration

By default you have an opportunity created in the sales channel, you can have a leads when someone contact you on the website contact us page or send an email to sales@mycompany.com, to activate leads goto CRM / Configuration / Settings and activate the Leads feature.

image0

You will now have a new submenu Leads under Pipeline where they will aggregate.

Qualify Leads

Send the mass mail on new leads received everyday, prepare a good description of your product service details in an email and try to get more information from leads and their expectations from your products or service.

image1

Tip

Define a good subject, include your product / service name into the [ ] square bracket, that make sure that your email will not go to the spam.

You can convert those leads into the opportunity, when your visitor reply to your email which was sent in mass mail.

Convert lead into an opportunity

The leads can be converted to an opportunity either manually or automatic depending on the volume of leads you have.

Manual conversion

Every day review your leads having reply from the prospects and convert all those leads into an opportunities. You can apply filter Unread Messages

image2

Open the wizard Convert to Opportunity wizard form the Action menu and you are ready to convert selected leads into opportunities.

image3

Apply duplication option will be selected automatically when system detect the duplicate leads in the system based on the email or phone number, duplicated leads will be displayed below form.

You can change the Sales channel if you would like to transfer the opportunity in other channel. You can choose either you would like to link the opportunity with customer by selecting existing or create a new or leave empty. You can create a customer later at the time of create a proposal for them.

The Salesman has to be assigned manually while converting leads into opportunity.

Automatic conversion

The automatic conversion and assignation of the opportunity can be done with the help of Lead Score application. You have to install and configure the scoring rules and assignation rules in order to convert leads into opportunity and assign to the correct member in the team.

You can define domain on the sales channel which will fetch leads accordingly and convert it into the opportunity. The domain may include lead scores, page visited by visitor, and other information such as country, city, availability of the email or phone.

Please go through Automatic leads assignation to team members topic in Customer Relationship Management section.

Generate leads/opportunities from emails

Every sales channel is capable create lead/opportunity form the incoming emails. You can define the email alias when that receive an email the lead/opportunity will be created in that sales channel.

image0

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.

image1

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.

Configuration

To activate the contact us page on your website you have to install the Contact Form application form the Apps.

image0

Contact us page

You benefit from ready-to-use contact form on your Odoo website that will generate leads/opportunities automatically.

image1

Default sales team

Contact form creates an lead/opportunity into the specific sales channel, to change that specific sales channel, go to Website / Configuration / Settings under Communication section you will find the Contact Form info and where to change the default Sales Channel or Salesperson.

image2

Note

If the same visitors uses the contact form twice, the second information will be added to the first lead/opportunity in the chatter.

Contact us page

Let’s go and fill some information into the contact us page and submit the form.

image3

Submit for form, visitor will get the thank you page having the emergency contact detail in case if they would like to connect quickly before sales people contact them.

Opportunity in the sales pipe

The opportunity will be created in the default sales channel set on the configuration.

image4

Formatting the phone or mobile numbers

Validate contact (phone,mobile) numbers and normalize them on leads and contacts, use the national format for your company country.

image5

Marketing Activity

Which marketing platform bring more visitors

The biggest challenge for every business is how do I drive more traffic to my online store?, If you able to get the visitor you can convert them into customers. There are many ways to increase the visitors, advertise on the social media marketing is one of the proven way to get attract move visitor.

But the questions is which social media can bring more visitor and where to invest?, depending on your product and consumer you should choose the social media platform to invest for the marketing, still it is worth to track which marketing platform bring how many users on your website.

Business case

The My Company is running a electronic ecommerce store, they want to invest in the paid marketing on different social media platform such as Facebook, Pinterest, Instagram and Google.

The want to see which marketing platform drives how many new users so that they can focus more on the platform which brings more traffic.

Configuration

Assumed that the Website Builder and eCommerce applications are already installed. What we need is an Link tracker application which is supporting application to the website.

image0

Install the Website Link Tracker application if it is not installed automatically.

Measure which marketing campaign creates more opportunities

The biggest challenge for every business is how do I drive more traffic to my online store?, If you able to get the visitor you can convert them into customers. There are many ways to increase the visitors, advertise on the social media marketing is one of the proven way to get attract move visitor.

But the questions is which social media can bring more opportunities to me?, depending on your product and consumer you should choose the social media platform to invest for the marketing, still it is worth to track which marketing platform bring how many users on your website.

Business case

The My Company is running a electronic eCommerce store, they want to invest in the paid marketing on different social media platform such as Facebook, Pinterest, Instagram and Google.

The want to see which marketing platform how many new opportunities? so that they can focus more on the platform which brings more business.

Configuration

Assumed that the Website Builder and eCommerce applications are already installed. What we need is an Link tracker application which is supporting application to the website.

image0

Install the Website Link Tracker application if it is not installed automatically.

Contact us form

Install the contact us form on the website, so that when user fill the contact detail to get more information about the product, you can have an opportunity created in the CRM application.

Generate leads/opportunities from your website contact page - https://odoobooks.com/en/11.0/crm/generate_lead_from_webstie.html

Form Builder

It would be great if you will be able to add the contact us form on any other webpages in your website, it will allows user to make a quick contact to you.

image1

As soon as the application installed you will see a new widget on the website called Form Builder.

Add contact us form on product page

You can add the contact us page on the frequently sold product page, which help us to generate the leads. Drag and drop the Form builder widget, select the option Create a lead.

image2

The default fields will be added to the screen, Opportunity, you can change the label to Subject and add additional fields from the widget customization option, such as Name, Email and Mobile.

image3

Creating an opportunities

Visitor visit the page through the link you shared on the Google Searching, the visitor will be tracked and same information will be attached to the Campaign, Medium and Source, when opportunities created.

image5

Campaign Analysis

The number of opportunities can be grouped by the Source and Medium to check which platform bring how many opportunities coming from which marketing platform.

image6

Can be analysed in detail by applying group by Source and then Medium. It will give us more clear view on from where the opportunities coming from.

image7

Measure the score for an opportunity based on the user behavior on your website

Tracking your website pages will give you much more information about the interests of your website visitors. Every tracked page they visit will be recorded on your lead/opportunity if they use the contact form on your website.

Configuration

To use this feature, install the module Lead Scoring under your Apps page available in Odoo Enterprise only.

image0

Track a webpage

You can track any static page you want on your website under the Promote tab you will find Optimize SEO. There you will see a Track Page checkbox to track this page.

image1

You have to visit all the pages and enabled this option for individual pages you want to track on your website.

Create scoring rules

You now have a new menu in your CRM app called Leads Management / Scoring Rules where you can manage your scoring rules. Here’s an example for a Pricing Page Score, you can modify for whatever criteria you wish to score your leads on. You can add as many criterias as you wish.

image2

Every hour a new leads without a score will be automatically scanned and assigned their right score according to your scoring rules.

Tip

You can select Event-based rule for new rule you are about to create if you want to apply on all the existing leads which was previously computed.

Value on the score rules will be count cumulative to compute the leads/opportunities score when more then one rule found applied for the lead/opportunity.

See visited pages in opportunities

Now each time a lead is created from the contact page it will keep track of the pages visited by that visitor. You have two ways to see those pages, on the top right corner of your lead/opportunity you can see a Page Views button but also further down you will see them in the chatter too.

Both will update if the viewers comes back to your website and visits more pages.

image3

The feature will not repeat multiple viewings of the same pages in the chatter. Your customers will no longer be able to keep any secrets from you!

Compute Score

The scheduler executes every hours and compute the score for newly added lead/opportunity.

The Scoring rules will be applied those are matching with the lead/opportunities details and score will be the summation of values from all those rules.

image4

Assign leads based on scoring

With Leads Scoring you can automatically rank your leads based on selected criterias. See how you can measure the score for an opportunity based on the user behaviour on website.

For example you could score customers from your country higher or the ones that visited specific pages on your website.

Configuration

Install a module Lead Scoring under your Apps page available in Odoo Enterprise only.

image0

Generate Leads

Leads/Opportunities can be generated through the below listed methods

  • Generate leads/opportunities from emails
  • Generate leads/opportunities from your website contact page
Create scoring rules

You now have a new menu in your CRM app called Leads Management / Scoring Rules where you can manage your scoring rules. Here’s an example for a Pricing Page Score, you can modify for whatever criteria you wish to score your leads on. You can add as many criterias as you wish.

image1

Every hour every lead without a score will be automatically scanned and assigned their right score according to your scoring rules.

Assign leads

Once the scores computed, leads can have enough information to classify that it is belongs to which sales team. Lead be assigned to specific teams using the same domain mechanism. To do so go to CRM / Leads Management / Team Assignation and apply a specific domain on each team.

This domain may include lead scores, page visited by visitor, and other information such as country, city, availability of the email or phone.

Please go through Automatic leads assignation to team members topic in Customer Relationship Management section.

Email marketing on the lost activity to reactive them

Massmail is a great tool to send the bulk emails to your contacts. Reactive the old leads could bring your a business, nothing wrong to send them an email which could reactive opportunities from them lost once.

Tip

The correct reason required on the old leads before you send email to them, like discount on the product/service to only those customers who lost actually because of the budget.

Business case

Let’s send the offer to have 20% discount on the product/service, who actually lost because they did not have a budget.

Configuration

Email Marketing is a separate app required to be installed separately, this app is not limited to use with the CRM or Sales, It can be used to send the email in bulk for Recruitment, Mailing List, Participants of the Event, etc.

image0

Create mass mail

Create a mass mail from the Email Marketing / Mailings, you need an attractive subject, choose Leads / Opportunity in the Recipients field, below that you can actually defines the criteria to choose the leads / opportunities which will receive the email from this mass mailing.

I choose all the leads which was Lost and the reason for mark as lost because, they do not have Not enough budget.

image1

Send Emails

The process of sending an email takes time based on the number of email to send and how fast your email service provider.

Test before you send

It is advisable to check how email looks in your mailbox before you send it to the prospects, you can check by sending a copy of the email to your own email account by clicking on Test button.

image2

Send to all

If you found the email looks well on your mailbox, you can send email to all the leads/opportunities who are selected on the mailing.

By default email marketing will be scheduled for the specific date and time and will be processed accordingly. Emails will be generated and queued in the system, automatic scheduler will process that email queue and send those emails.

Note

Some mail marketing may take time to send the emails depending on the email providers, some email may go to spam if if your provider does not configure well or the subject and content of the email looks like a spam mail.

Statistics

Statistics will be enabled as soon as schedule start processing the email, you can actually see the number of email sent, bounced, opened by the receiver, replied on that email or number of user clicks on the link if you attached any links in the email.

image3

Sales and 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.

Sales Management Application

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.

image1

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.

image2

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.

image3

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.

image4

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.

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.

image0

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.

image1

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.

image2

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.

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.

image0

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.

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.

image0

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.

image1

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.

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.

image0

Create new product

Let’s create a new product, the default tax which was applied should be applied on this product.

image1

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.

image2

Now, your salesman do not have to remember that what taxes to be applied on which product.

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.

image0

Configure the sections

The two sections Service and Material are available by default, you can configure those sections from Sales / Configuration / Report Layout Categories.

image1

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.

image2

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.

Sales 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.

Sales Settings
Products

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

Sales Settings

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.

Sales Settings

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.

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.

image0

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.

image1

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.

image2

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.

image3

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.

image4

Tip

Please remove the attached pdf quotation at the time sending quotation by mail, if you want customer open the quotation preview.

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.

image0

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.

image1

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.

image0

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.

image1

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.

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.

image0

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.

image1

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.

image2

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.

image3

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.

image4

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.

Discounts and Pricelist

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.

image0

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.

image1

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)

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.

image0

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.

image1

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.

image2

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.

image3

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.

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.

image0

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.

image1

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 (€).

image2

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.

image3

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.

image4

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.

image5

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.

image6

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.

image7

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.

image0

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.

image1

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.

image2

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.

image3

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.

Compute sell price and margin based on product cost price (AVCO costing method)

The most common business case where you want to decide the sell price based 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%.

Define the product sales price per company

Unit of Measure

Sale and purchase in different unit of measure

Sell and purchase products in different units of measure, and apply better pricing

Selling products by multiple of unit # per package

Product and Tax

Manage prices for Business to Customer (tax included)

Manage product prices for B2B (tax excluded) and B2C (tax included)

Invoicing

Send Pro-Forma Invoice to your customers

Create Invoice for the ordered quantity

Create Invoice based on the delivered quantity, when inventory app is not installed

Create credit note from sales order, when customer return the product

Create single invoice from multiple sales orders

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.

Sales 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.

Delivery Cost Grid

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.

Setup product price

Do not forget to add the correct product price when creating the products.

Product Weight
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.

Product Weight

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.

Shipping Costs Configuration

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.

Delivery Cost Grid

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.

Delivery Rules
Setup product weight

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

Product Weight

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.

Product Weight

Different delivery price based on the area (zip code, state or country)

Manage delivery price fluctuation, apply margin on the delivery charges

Manage Inventory

Create a purchase order for products based on sales order

Service Product

Create an invoice at milestone completion for 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
signup at odoo.com

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.

signup at odoo.com
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.

signup at odoo.com

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.

Create task from sales order and invoice based on timesheet

Subscription

Set up recurring invoice, that help you to invoice regularly

Sell subscriptions through sales quotation

Sell subscription through eCommerce platform, receive payment through card (auto-debit)

Customer Portal

Ask your customer to approve a quotation through portal

Ask your customer to pay online payment on quotation through portal

Confirm quotation online and pay Invoice through customer portal

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

Set due date on the invoice

Match payment against an invoice

Setup cash discounts when customer pay before the due date

Reset invoice number for every new financial year or change every month

Payment Terms

Setup and use payment terms - 50% advance, balance in 30 days

Define an installment plan on customer invoices (Use Payment terms)

Warning message on credit limit reached and block further invoice when it cross limits

Payment and Followups

Different ways to record a payment

Track uncleared customer check in bank statement

Create invoice, receive and register partial payment on invoice

Automate customer follow-ups with plans

Receive advance payment from customer and match against invoice later

Reconcile customer invoice vs vendor bill

Setup Accounting

Setup Company Information, Bank Accounts and Fiscal Period

Setup Odoo Accounting and Import opening balance

Taxes and Duties

Create a new taxes

Odoo’s tax engine is very flexible and support many different type of taxes: value added taxes (VAT), eco-taxes, federal/states/city taxes, retention, withholding taxes, etc. For most countries, your system is pre-configured with the right taxes.

Business case

Let’s create a service tax that computes the tax @ 21% of the service price.

Configuration

Assumed that the you have already installed either Invoicing or Financial Accounting application.

Create a tax

The new tax can be created from Invoicing / Configuration / Taxes or Accounting / Configuration / Taxes, create a new tax and enter Tax Name, Tax Scope, Tax Computation.

image0

Tax Name is a label to the tax that will be displayed on the sales or purchase order form during sales or purchase process, on the printed invoice Label on Invoices will be printed, can be set under the Advance Options tab.

Tax Scope is used to define the tax application, it can be Sales or Purchase or None. You can set None when tax is deprecated or tax is used in a group but not applicable directly.

Note

If you want to avoid using a tax, you can not delete it because the tax is probably used in several invoices. So, in order to avoid users to continue using this tax, you should set the field Tax Scope to None.

Tax Computation is a type that can be selected according to the tax computation required

  • Fixed: eco-taxes, etc.
  • Percentage of Price: most common (e.g. 15% sales tax)
  • Percentage of Price Tax Included: used in Brazil.
  • Group of taxes: allows to have a compound tax

Tip

If you need more advanced tax mechanism, you can install the module `account_tax_python` and you will be able to define new taxes with Python code.

Advanced configuration

image1

Label on Invoices is a short text on how you want this tax to be printed on invoice line. For example, a tax named “Service tax @ 21%” can have the following label on invoice “21%”.

Tax Group defines where this tax is summed in the invoice footer. All the tax belonging to the same tax group will be grouped on the invoice footer. Examples of tax group: VAT, Retention.

Included in Price can be selected when the tax is to be defined as included in price. i.e. Product Price is 100 and Service tax @ 21% is defined as included in price then product cost will be set as 82.64 and tax amount will be 17.35.

Tags: are used for custom reports. Usually, you can keep this field empty.

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.

image0

Create new product

Let’s create a new product, the default tax which was applied should be applied on this product.

image1

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.

image2

Now, your salesman do not have to remember that what taxes to be applied on which product.

Manage withholding taxes, ledger and payment to government

A withholding tax, also called a retention tax, it is a government requirement for the payer of a customer invoice to withhold or deduct tax from the payment, and pay that tax to the government. In most jurisdictions, withholding tax applies to employment income.

With normal taxes, the tax is added to the subtotal to give you the total to pay. As opposed to normal taxes, withholding taxes are deducted from the amount to pay, as the tax will be paid by the customer.

As, an example, in Colombia you may have the following vendor bills:

_images/vendor_bill.png

In this example, the company who sent the invoice was of 1000$ + 15% Tax the customer has to deduct the 10% tax and pay to the government.

Define product prices for Business to Customer (tax included)

In most countries, business to customers prices are tax-included. Check Included in Price for each of your sales taxes in Accounting / Configuration / Taxes.

image0

This way the price set on the product form includes the tax. As an example, let’s say you have a product with a sales tax of 10%. The sales price on the product form is $100.

If the tax is not included in the price, you will get:

Price without tax $100
Taxes $15
Total to pay $115

If the tax is included in the price:

Price without tax $86.96
Taxes $13.04
Total to pay $100

Manage product prices for B2B (tax excluded) and B2C (tax included)

When working with consumers, prices are usually expressed with taxes included in the price (e.g., in most eCommerce). But, when you work in a business environment, companies usually negotiate prices without taxes.

You can manage both use cases easily, as long as you register your prices on the product with taxes excluded or included, but not both together. If you manage all your prices with tax included (or excluded) only, you can still easily do sales order with a price having taxes excluded (or included): that’s easy.

Let’s see how you can manage the product pricing for both customer at once. When you have a retailer customer on eCommerce store you can show the price and send the quotation with tax included in price and for same product you can prepare and send the quotation excluded price for back office sales to the business customer.

Configuration

The best way to simplify the price by setting the product price as tax excluded by default, so all the price defined on the product are always tax excluded. The other way will be computed automatically.

Product Price

Make sure that when you define the product price it will always tax excluded, and apply the default tax on the product form.

image0

Create taxes

Create a different taxes with the same percentage 15%, one define as Included in Price and for other one which is tax excluded rename the existing ‘Tax 15.00%’ to ‘Tax 15.00% Exe.’

image1

Price List

Create a pricelist that have the product price always tax included. So, If you define the product Laptop price $1250 and default tax is 15% define the product price on price list as $1437.5.

image2

Create a Fiscal Position

Create a fiscal position that use to swap taxes. When you are selling to wholesale(b2b) customer, the default tax we have applied on the product is always tax excluded but when you sell to retail customer you have to apply the price which is tax included and tax which actually computed the tax included.

image3

Create a retail customer (b2c)

There are two important fields has to be set correctly when you create a retail customer, Sales Pricelist has to be set to Retail Pricelist (Tax. Inc.) (USD) under the Sales & Purchase tab. image4

The Fiscal Position should be set to Retail Customer under the Accounting and tab.

image5

Create a normal customer (b2b)

By default all the customer are created are considered as business customers with the default pricelist and tax is applied which is always the tax excluded.

Create a test quotation

Create a quotation from the Sale application, using the Sales / Quotations menu. Select the Ajay Patel as a customer, sell Laptop product, you should have the following result: 1250€ + 187.50€ = 1437.50€.

image6

When you create a quotation for the normal customer which has tax excluded will be looking as below.

image7

Tip

If you negotiate a contract with a customer, whether you negotiate tax included or tax excluded, you can set the pricelist and the fiscal position on the customer form so that it will be applied automatically at every sale of this customer.

Apply tax based on local or export sales

Credit Notes

Reject customer invoice, which is not issued to customer

Modify the confirmed customer invoice

Refund a fully paid customer invoice

Refund the partially paid invoice

Bank and Cash

Bank Reconciliation in Odoo

Manage the bank reconciliation process

Import bank statement (ofx format) and quick bank reconciliation

Transferring money from bank account to petty cash (Cash withdrawal)

Manage batch deposits of checks

Multi Currency

Prepare invoice in foreign currency

Invoice and payment in foreign currency

Foreign exchange gain or loss entry when invoice and payment in foreign currency

Vendor Bills and Payments

Purchase order to vendor bill, payment through check

Register cash sales and expense in account

Pay vendor bills by check and print check from Odoo accounting

Pay several vendor bills at once

Register partial payment while paying to multiple vendor bills

Forecast future vendor bills to pay

Create single vendor bill from multiple purchase orders

Manage advance payment, employee expenses and reconciliation

Analytic Accounting (Cost center)

Compute the profitability for trading company

Compute the profitability for service projects

Profitability based on the service and material (Website development company)

Compute the profitability for trading company, bulk purchase and retail sales

Manual Inventory Valuation (Anglo-Saxons)

Compute the inventory valuation and cost of goods sold using standard costing

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 and cost of goods sold using fifo costing method

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 and cost of goods sold using average costing method

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  

Automatic Inventory Valuation (Anglo-Saxons)

Automatic cost of cost goods sold when using standard costing method

Compute cost of goods sold for a kit product using real price costing

This document is written based on the Odoo 10.0 community edition.

Compute cost of goods sold for a kit product using standard costing method

Indian Localization

Multiple tax included in price, i.e.Indian GST Tax

Track tax deduction at source and certificate receivable, (customer invoice)

TDS stands for Tax Deducted at Source. It was introduced to collect tax at the source from where an individual’s income is generated.

The government uses TDS as a tool to collect tax in order to minimise tax e vasion by taxing the income (partially or wholly) at the time it is generated rather than at a later date.

TDS is applicable on the various incomes such as salaries, interest received, commission received, consulting or professional services, job-work, etc.

Read more at: https://www.incometaxindia.gov.in/Pages/Deposit_TDS_TCS.aspx

Business case

The My Company is a consulting company selling a professional consulting services their regular customer China Export. The customer will deducts the TDS @ 10% rate and make the payment against the bill.

Manage tax deduction at source, tax ledger, compute payable and pay through bank (vendor bill)

TDS stands for Tax Deducted at Source. It was introduced to collect tax at the source from where an individual’s income is generated.

The government uses TDS as a tool to collect tax in order to minimise tax e vasion by taxing the income (partially or wholly) at the time it is generated rather than at a later date.

TDS is applicable on the various incomes such as salaries, interest received, commission received, consulting or professional services, job-work, etc.

Read more at: https://www.incometaxindia.gov.in/Pages/Deposit_TDS_TCS.aspx

Business case

The My Company gets the prefessional consulting services form Ajay Consulting Services we have to deduct the TDS @ 10% and deposit to the government by the 7th of next month.

Manage tax deduction at source (TDS) with accounting entries

Inventory Management

Product & Stock

How to setup a minimum stock rule?

Compute stock for the kit product based on the component stock

Delivery Order

How to use different invoice and delivery addresses?

How to amendment products on delivery order? (Installed only inventory application)

Incoming Shipment

How to control product received? (Receive entirely & partially)

How to transfer dairy products to fridge (cold storage) when it arrives to inventory?

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 perfect 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 which impact 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 decide 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 wants 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.
  • Purchase 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 and cost of goods sold using standard costing

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 and cost of goods sold using fifo costing method

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 and cost of goods sold using average costing method

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  

Automatic Inventory Valuation (Anglo-Saxons)

Automatic cost of cost goods sold when using standard costing method

Compute cost of goods sold for a kit product using real price costing - Odoo 10.0 community

Compute cost of goods sold for a kit product using standard costing method

Purchase Management

Request for Quotation

Create a Request for Quotation

Create a purchase order when sale order confirms

Setup two levels of approval for purchase orders

Setup drop-shipping

Supplier Pricelist

Search by supplier product code or name on the request for quotation

Purchase Exception

Buy from new supplier when your default supplier reject the order (Drop-ship)

Cancel the confirmed purchase order

Vendor Bills

Control vendor bills, pay vendor bills based on reception

Purchase Agreement

Manage bulk purchase through tender process

Purchase partially from two vendors for the same purchase tender

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 perfect 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 which impact 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 decide 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 wants 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.
  • Purchase 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.

Compute sell price and margin based on product cost price (AVCO costing method)

The most common business case where you want to decide the sell price based 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%.

Advance Topics

Sell or refill the chemical products in container

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.

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.

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.

Manage cash round-up or down at Point of Sale cash payment

Apply discount on specific product price or on order value

If you seldom use discounts, applying manual discounts might be the easiest solution for your Point of Sale.

You can either apply a discount on the whole order or on specific products.

Business case

The shop My company wantes to apply the discount for the specific product, or on whole order based on the customer.

Retain your walk-in customers, setup customer retention program (loyalty program)

Encourage your customers to continue to shop at your point of sale with a Loyalty Program.

Business case

The shop My Company wantes to setup the customer retention program, that offers a 0.25 loyalty point to customr for each 1$ they spent in the shop.

Customer can later use those point, eash point equivalent to 1$ to pay their bills later. There is no limit on number of points they earn and spent.

Sales return through Point of Sale

Session Management

How to print z-report from Odoo point of sale?

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)

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.

Scanning manufacturer barcode at Point of Sale (Scan same product for multiple barcodes)

Accounting

How to do credit sale through the point of sale

How to pay invoice through wallet in Point of Sale?

Sales return through Point of Sale terminal, receive product and return cash

Sales return through Point of Sale terminal (working with customer invoice and credit note)

Project Management

Project & Task

How to create task from sales order and invoice based on timesheet?

Create default stages in the project created through Sales order

How to gather feedback from customers?

Timesheet

How to record time spent on Task and Project?

Record time spent using Awesome Timesheet - Chrome plugin

Helpdesk

Managing service tickets and service contracts

Customer Portal

How to allow the customer to view timesheet on their task and projects?

Manufacturing

Inventory

How to issue material to factory location to start manufacturing order?

Manage stock of liquid products in warehouse (unit vs ml)

Compute stock for the kit product based on the component stock

By-Products

Wooden, Glass or Plastic sheet consumption during the manufacturing process

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.

_images/sub_01_00.png
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.

_images/sub_01_02.png
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.

_images/sub_01_01.png

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.

_images/sub_01_03.png

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

_images/sub_01_04.png
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.

_images/sub_01_05.png

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.

_images/sub_01_06.png

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.

_images/sub_01_07.png
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.

_images/sub_01_08.png

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

_images/sub_01_09.png

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).

_images/sub_01_10.png

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.

_images/sub_01_11.png
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.

_images/sub_01_12.png

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.

_images/sub_01_13.png

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.

_images/sub_01_14.png
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.

_images/sub_01_15.png

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

_images/sub_01_16.png

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.

_images/sub_01_17.png

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.

_images/sub_01_18.png

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

_images/sub_01_19.png

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.

_images/sub_01_20.png

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.

_images/sub_01_21.png
Contractor Bill

Receive the vendor bill and create it manully.

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.

_images/sub_01_00.png
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.

_images/sub_01_02.png
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.

_images/sub_01_01.png

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.

_images/sub_01_24.png

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

_images/sub_01_04.png

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.

_images/sub_01_22.png

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

_images/sub_01_23.png

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.

_images/sub_01_05.png

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.

_images/sub_01_06.png

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.

_images/sub_01_07.png
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.

_images/sub_01_25.png

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

_images/sub_01_26.png

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

_images/sub_01_27.png

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).

_images/sub_01_10.png

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.

_images/sub_01_11.png
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.

_images/sub_01_12.png

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.

_images/sub_01_13.png

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.

_images/sub_01_14.png
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.

_images/sub_01_15.png

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

_images/sub_01_16.png

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.

_images/sub_01_17.png

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.

_images/sub_01_18.png

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

_images/sub_01_19.png

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.

_images/sub_01_20.png

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.

_images/sub_01_21.png
Contractor Bill

Receive the vendor bill and create it manully.

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.

_images/sub_01_00.png
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.

_images/sub_01_28.png
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.

_images/sub_01_29.png

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

_images/sub_01_30.png

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.

_images/sub_01_31.png
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.

_images/sub_01_32.png

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.

_images/sub_01_33.png
Bill of Material

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

_images/sub_01_34.png

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.

_images/sub_01_35.png

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.

_images/sub_01_36.png

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

_images/sub_01_37.png
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.

_images/sub_01_38.png

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

_images/sub_01_39.png

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.

_images/sub_01_40.png

Tip

You can set the Invoicing Policy on the Tabletop product that takes care for the invoicing process.

Human Resource

Employee

Show organizational chart on employee form

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.

image0

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.

image1

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.

image2

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.

image3

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.

image4

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.

image5

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.

image6

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.

image7

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.

image8

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.

image9

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.

image10

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.

image11

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.

image12

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.

image13

Employee Expense

Manage advance payment, employee expenses and reconciliation

Website and eCommerce

Website

How to generate leads or opportunities through website contact us page?

Products

How to configure product variants that looks perfect on eCommerce page?

Ordering products, variant attribute and values on the products page

Delivery Cost

Allow your customer to choose Normal or Express delivery at checkout

Show delivery methods depending on the customer address