[ADD] Sales: How to manage prices for B2B (tax excluded) and B2C (tax included)?
https://docs.google.com/document/d/1kExheNd2VgEe-_go6uaQXEBXIj5eWvTe0x63EBk_W9I/edit#
This commit is contained in:
parent
ceb06c02f8
commit
beed870229
@ -10,3 +10,4 @@ Sales
|
||||
sales/overview
|
||||
sales/quotation
|
||||
sales/invoicing
|
||||
sales/products_prices
|
||||
|
@ -5,3 +5,4 @@ Products & Prices
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
products_prices/prices
|
@ -5,3 +5,4 @@ Prices Management
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
prices/B2B_B2C
|
169
sales/products_prices/prices/B2B_B2C.rst
Normal file
169
sales/products_prices/prices/B2B_B2C.rst
Normal file
@ -0,0 +1,169 @@
|
||||
===================================================================
|
||||
How to manage 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
|
||||
B2B environment, companies usually negotiate prices with taxes excluded.
|
||||
|
||||
Odoo manages 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.
|
||||
|
||||
This documentation is only for the specific use case where you need to
|
||||
have two references for the price (tax included or excluded), for the
|
||||
same product. The reason of the complexity is that there is not a
|
||||
symmetrical relationship with prices included and prices excluded, as
|
||||
shown in this use case, in belgium with a tax of 21%:
|
||||
|
||||
- Your eCommerce has a product at **10€ (taxes included)**
|
||||
|
||||
- This would do **8.26€ (taxes excluded)** and a **tax of 1.74€**
|
||||
|
||||
But for the same use case, if you register the price without taxes on
|
||||
the product form (8.26€), you get a price with tax included at 9.99€,
|
||||
because:
|
||||
|
||||
- **8.26€ \* 1.21 = 9.99€**
|
||||
|
||||
So, depending on how you register your prices on the product form, you
|
||||
will have different results for the price including taxes and the price
|
||||
excluding taxes:
|
||||
|
||||
- Taxes Excluded: **8.26€ & 10.00€**
|
||||
|
||||
- Taxes Included: **8.26€ & 9.99€**
|
||||
|
||||
.. note::
|
||||
If you buy 100 pieces at 10€ taxes included, it gets even more
|
||||
tricky. You will get: **1000€ (taxes included) = 826.45€ (price) +
|
||||
173.55€ (taxes)** Which is very different from a price per piece at
|
||||
8.26€ tax excluded.
|
||||
|
||||
This documentation explains how to handle the very specific use case
|
||||
where you need to handle the two prices (tax excluded and included) on
|
||||
the product form within the same company.
|
||||
|
||||
.. note::
|
||||
In terms of finance, you have no more revenues selling your
|
||||
product at 10€ instead of 9.99€ (for a 21% tax), because your revenue
|
||||
will be exactly the same at 9.99€, only the tax is 0.01€ higher. So, if
|
||||
you run an eCommerce in Belgium, make your customer a favor and set your
|
||||
price at 9.99€ instead of 10€. Please note that this does not apply to
|
||||
20€ or 30€, or other tax rates, or a quantity >1. You will also make you
|
||||
a favor since you can manage everything tax excluded, which is less
|
||||
error prone and easier for your salespeople.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The best way to avoid this complexity is to choose only one way of
|
||||
managing your prices and stick to it: price without taxes or price with
|
||||
taxes included. Define which one is the default stored on the product
|
||||
form (on the default tax related to the product), and let Odoo compute
|
||||
the other one automatically, based on the pricelist and fiscal position.
|
||||
Negotiate your contracts with customers accordingly. This perfectly
|
||||
works out-of-the-box and you have no specific configuration to do.
|
||||
|
||||
If you can not do that and if you really negotiate some prices with tax
|
||||
excluded and, for other customers, others prices with tax included, you
|
||||
must:
|
||||
|
||||
1. always store the default price TAX EXCLUDED on the product form, and
|
||||
apply a tax (price included on the product form)
|
||||
|
||||
2. create a pricelist with prices in TAX INCLUDED, for specific
|
||||
customers
|
||||
|
||||
3. create a fiscal position that switches the tax excluded to a tax
|
||||
included
|
||||
|
||||
4. assign both the pricelist and the fiscal position to customers who
|
||||
want to benefit to this pricelist and fiscal position
|
||||
|
||||
For the purpose of this documentation, we will use the above use case:
|
||||
|
||||
- your product default sale price is 8.26€ price excluded
|
||||
|
||||
- but we want to sell it at 10€, price included, in our shops or
|
||||
eCommerce website
|
||||
|
||||
Setting your products
|
||||
---------------------
|
||||
|
||||
Your company must be configured with price excluded by default. This is
|
||||
usually the default configuration, but you can check your **Default Sale
|
||||
Tax** from the menu :menuselection:`Configuration --> Settings`
|
||||
of the Accounting application.
|
||||
|
||||
.. image:: media/price_B2C_B2B01.png
|
||||
:align: center
|
||||
|
||||
Once done, you can create a **B2C** pricelist. You can activate the
|
||||
pricelist feature per customer from the menu:
|
||||
:menuselection:`Configuration --> Settings` of the Sale application.
|
||||
Choose the option **different prices per customer segment**.
|
||||
|
||||
Once done, create a B2C pricelist from the menu
|
||||
:menuselection:`Configuration --> Pricelists`.
|
||||
It's also good to rename the default pricelist into B2B to avoid confusion.
|
||||
|
||||
Then, create a product at 8.26€, with a tax of 21% (defined as tax not
|
||||
included in price) and set a price on this product for B2C customers at
|
||||
10€, from the :menuselection:`Sales --> Products`
|
||||
menu of the Sales application:
|
||||
|
||||
.. image:: media/price_B2C_B2B02.png
|
||||
:align: center
|
||||
|
||||
Setting the B2C fiscal position
|
||||
-------------------------------
|
||||
|
||||
From the accounting application, create a B2C fiscal position from this
|
||||
menu: :menuselection:`Configuration --> Fiscal Positions`.
|
||||
This fiscal position should map the VAT 21% (tax excluded of price)
|
||||
with a VAT 21% (tax included in price)
|
||||
|
||||
.. image:: media/price_B2C_B2B03.png
|
||||
:align: center
|
||||
|
||||
Test by creating a quotation
|
||||
============================
|
||||
|
||||
Create a quotation from the Sale application, using the
|
||||
:menuselection:`Sales --> Quotations` menu. You should have the
|
||||
following result: 8.26€ + 1.73€ = 9.99€.
|
||||
|
||||
.. image:: media/price_B2C_B2B04.png
|
||||
:align: center
|
||||
|
||||
Then, create a quotation but **change the pricelist to B2C and the
|
||||
fiscal position to B2C** on the quotation, before adding your product.
|
||||
You should have the expected result, which is a total price of 10€ for
|
||||
the customer: 8.26€ + 1.74€ = 10.00€.
|
||||
|
||||
.. image:: media/price_B2C_B2B05.png
|
||||
:align: center
|
||||
|
||||
This is the expected behavior for a customer of your shop.
|
||||
|
||||
Avoid changing every sale order
|
||||
===============================
|
||||
|
||||
If you negotiate a contract with a customer, whether you negotiate price
|
||||
included or price 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.
|
||||
|
||||
The pricelist is in the **Sales & Purchases** tab of the customer form,
|
||||
and the fiscal position is in the accounting tab.
|
||||
|
||||
Note that this is error prone: if you set a fiscal position with tax
|
||||
included in prices but use a pricelist that is not included, you might
|
||||
have wrong prices calculated for you. That's why we usually recommend
|
||||
companies to only work with one price reference.
|
BIN
sales/products_prices/prices/media/price_B2C_B2B01.png
Normal file
BIN
sales/products_prices/prices/media/price_B2C_B2B01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
sales/products_prices/prices/media/price_B2C_B2B02.png
Normal file
BIN
sales/products_prices/prices/media/price_B2C_B2B02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
sales/products_prices/prices/media/price_B2C_B2B03.png
Normal file
BIN
sales/products_prices/prices/media/price_B2C_B2B03.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.8 KiB |
BIN
sales/products_prices/prices/media/price_B2C_B2B04.png
Normal file
BIN
sales/products_prices/prices/media/price_B2C_B2B04.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
sales/products_prices/prices/media/price_B2C_B2B05.png
Normal file
BIN
sales/products_prices/prices/media/price_B2C_B2B05.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Loading…
Reference in New Issue
Block a user