Browse Source
Merge pull request #314 from legalsylvain/8.0_FIX_pos_order_to_sale_order
Merge pull request #314 from legalsylvain/8.0_FIX_pos_order_to_sale_order
[FIX][8.0] pos_order_to_sale_orderpull/371/head
David Vidal
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 232 additions and 284 deletions
-
146pos_order_to_sale_order/README.rst
-
4pos_order_to_sale_order/__openerp__.py
-
19pos_order_to_sale_order/demo/product_template.xml
-
51pos_order_to_sale_order/demo/sale_order.xml
-
7pos_order_to_sale_order/demo/stock_picking_type.xml
-
8pos_order_to_sale_order/readme/CONFIGURE.rst
-
1pos_order_to_sale_order/readme/CONTRIBUTORS.rst
-
52pos_order_to_sale_order/readme/DESCRIPTION.rst
-
11pos_order_to_sale_order/readme/ROADMAP.rst
-
12pos_order_to_sale_order/static/src/css/pos_order_to_sale_order.css
-
194pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js
-
5pos_order_to_sale_order/views/pos_order_to_sale_order.xml
@ -1,135 +1,21 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
|||
:alt: License: AGPL-3 |
|||
**This file is going to be generated by oca-gen-addon-readme.** |
|||
|
|||
*Manual changes will be overwritten.* |
|||
|
|||
======================= |
|||
POS Order To Sale Order |
|||
======================= |
|||
Please provide content in the ``readme`` directory: |
|||
|
|||
* **DESCRIPTION.rst** (required) |
|||
* INSTALL.rst (optional) |
|||
* CONFIGURE.rst (optional) |
|||
* **USAGE.rst** (optional, highly recommended) |
|||
* DEVELOP.rst (optional) |
|||
* ROADMAP.rst (optional) |
|||
* HISTORY.rst (optional, recommended) |
|||
* **CONTRIBUTORS.rst** (optional, highly recommended) |
|||
* CREDITS.rst (optional) |
|||
|
|||
This module extends the functionality of point of sale to allow sale orders |
|||
creation from the Point of Sale. |
|||
Content of this README will also be drawn from the addon manifest, |
|||
from keys such as name, authors, maintainers, development_status, |
|||
and license. |
|||
|
|||
|
|||
In the POS UI, buttons has been added to create a sale order and discard |
|||
the current POS order. |
|||
|
|||
This module is usefull in many cases, for exemple : |
|||
|
|||
* take orders with a very simple interface |
|||
|
|||
* if you have some customers that come every day in your shop, but want to |
|||
have a unique invoice at the end of the month. With that module, you can |
|||
create a sale order and deliver products every time to keep your stock value |
|||
correct, and to create a unique invoice, when you want. |
|||
|
|||
|
|||
Three options are available: |
|||
|
|||
#. '**Create a draft Order**' |
|||
A new sale order in a draft mode will be created that can be changed later. |
|||
|
|||
.. figure:: static/description/pos_create_picking_option_1.png |
|||
:width: 800 px |
|||
|
|||
#. '**Create a Confirmed Order**' |
|||
A new sale order will be created and confirmed. |
|||
|
|||
.. figure:: static/description/pos_create_picking_option_2.png |
|||
:width: 800 px |
|||
|
|||
#. '**Create Delivered Picking**' (by default) |
|||
A new sale order will be created and confirmed. the associated picking |
|||
will be marked as delivered. |
|||
|
|||
.. figure:: static/description/pos_create_picking_option_3.png |
|||
:width: 800 px |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
To configure this module, you need to: |
|||
|
|||
#. Go to Point Of Sale / Configuration / Point of Sale |
|||
#. Check the box 'Create Sale Orders' |
|||
#. Select the desired default behaviour |
|||
|
|||
.. figure:: static/description/pos_config_form.png |
|||
:width: 800 px |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
|||
:alt: Try me on Runbot |
|||
:target: https://runbot.odoo-community.org/runbot/184/8.0 |
|||
|
|||
Technical Notes |
|||
=============== |
|||
|
|||
* Some hooks are defined in the JS file, to define custom behaviour after |
|||
having created the sale order (and the stock picking). |
|||
|
|||
* Some prepare functions are available in the sale.order model, to overload |
|||
the creation of the sale order. |
|||
|
|||
* You could be interested by another module, pos_sale_order, that completely |
|||
alter Point of Sale module, avoiding creating Pos Orders, and creating |
|||
allways Sale Orders. |
|||
This module is a WIP state, and is available here: |
|||
https://github.com/OCA/pos/pull/35 |
|||
|
|||
Known issues / Roadmap |
|||
====================== |
|||
|
|||
* Because of the poor design of the Odoo Point of Sale, some basic features |
|||
are not available by default, like pricelist, fiscal position, etc ... |
|||
For that reason, unit price will be recomputed by default, when creating the |
|||
sale order, and the unit price of the current bill will not be used. |
|||
|
|||
Note that this problem is fixed if ``pos_pricelist`` is installed. |
|||
(same repository) In that cases, the pricelist, the unit prices and the taxes |
|||
will be the same in the order, as in the displayed bill. |
|||
|
|||
.. figure:: static/description/pos_create_picking_confirm.png |
|||
:width: 800 px |
|||
|
|||
|
|||
Bug Tracker |
|||
=========== |
|||
|
|||
Bugs are tracked on `GitHub Issues |
|||
<https://github.com/OCA/pos/issues>`_. In case of trouble, please |
|||
check there if your issue has already been reported. If you spotted it first, |
|||
help us smash it by providing detailed and welcomed feedback. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Sylvain Le Gal (https://twitter.com/legalsylvain) |
|||
|
|||
Funders |
|||
------- |
|||
|
|||
The development of this module has been financially supported by: |
|||
|
|||
* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) |
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: https://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: https://odoo-community.org |
|||
|
|||
This module is maintained by the OCA. |
|||
|
|||
OCA, or the Odoo Community Association, is a nonprofit organization whose |
|||
mission is to support the collaborative development of Odoo features and |
|||
promote its widespread use. |
|||
|
|||
To contribute to this module, please visit https://odoo-community.org. |
|||
A good, one sentence summary in the manifest is also highly recommended. |
@ -1,19 +0,0 @@ |
|||
<openerp><data> |
|||
|
|||
<record id="product.product_product_4_product_template" model="product.template"> |
|||
<field name="available_in_pos" eval="True"/> |
|||
</record> |
|||
|
|||
<record id="product.product_product_7_product_template" model="product.template"> |
|||
<field name="available_in_pos" eval="True"/> |
|||
</record> |
|||
|
|||
<record id="product.product_product_9_product_template" model="product.template"> |
|||
<field name="available_in_pos" eval="True"/> |
|||
</record> |
|||
|
|||
<record id="product.product_product_24_product_template" model="product.template"> |
|||
<field name="available_in_pos" eval="True"/> |
|||
</record> |
|||
|
|||
</data></openerp> |
@ -1,51 +0,0 @@ |
|||
<openerp><data> |
|||
|
|||
<!-- Sale Order 1--> |
|||
<record id="sale_order_1" model="sale.order"> |
|||
<field name="partner_id" ref="base.res_partner_2"/> |
|||
<field name="order_policy">picking</field> |
|||
</record> |
|||
|
|||
<record id="sale_order_line_11" model="sale.order.line"> |
|||
<field name="order_id" ref="sale_order_1"/> |
|||
<field name="product_id" ref="product.product_product_7"/> |
|||
<field name="product_uom_qty">5</field> |
|||
</record> |
|||
|
|||
<record id="sale_order_line_12" model="sale.order.line"> |
|||
<field name="order_id" ref="sale_order_1"/> |
|||
<field name="product_id" ref="product.product_product_9"/> |
|||
<field name="product_uom_qty">3</field> |
|||
</record> |
|||
|
|||
<workflow action="order_confirm" model="sale.order" ref="sale_order_1"/> |
|||
|
|||
<!-- Sale Order 2--> |
|||
<record id="sale_order_2" model="sale.order"> |
|||
<field name="partner_id" ref="base.res_partner_13"/> |
|||
<field name="order_policy">picking</field> |
|||
</record> |
|||
|
|||
<record id="sale_order_line_21" model="sale.order.line"> |
|||
<field name="order_id" ref="sale_order_2"/> |
|||
<field name="product_id" ref="product.product_product_7"/> |
|||
<field name="product_uom_qty">15</field> |
|||
<field name="discount">10</field> |
|||
</record> |
|||
|
|||
<record id="sale_order_line_22" model="sale.order.line"> |
|||
<field name="order_id" ref="sale_order_2"/> |
|||
<field name="product_id" ref="product.product_product_4"/> |
|||
<field name="product_uom_qty">1</field> |
|||
</record> |
|||
|
|||
<record id="sale_order_line_23" model="sale.order.line"> |
|||
<field name="order_id" ref="sale_order_2"/> |
|||
<field name="product_id" ref="product.product_product_24"/> |
|||
<field name="product_uom_qty">3</field> |
|||
<field name="price_unit">555</field> |
|||
</record> |
|||
|
|||
<workflow action="order_confirm" model="sale.order" ref="sale_order_2"/> |
|||
|
|||
</data></openerp> |
@ -1,7 +0,0 @@ |
|||
<openerp><data> |
|||
|
|||
<record id="stock.picking_type_out" model="stock.picking.type"> |
|||
<field name="available_in_pos" eval="True" /> |
|||
</record> |
|||
|
|||
</data></openerp> |
@ -0,0 +1,8 @@ |
|||
To configure this module, you need to: |
|||
|
|||
* Go to Point Of Sale / Configuration / Point of Sale |
|||
* Check the box 'Create Sale Orders' |
|||
* Select the desired default behaviour |
|||
|
|||
.. figure:: ../static/description/pos_config_form.png |
|||
:width: 800 px |
@ -0,0 +1 @@ |
|||
* Sylvain LE GAL (https://www.twitter.com/legalsylvain) |
@ -0,0 +1,52 @@ |
|||
This module extends the functionality of point of sale to allow sale orders |
|||
creation from the Point of Sale. |
|||
|
|||
|
|||
In the POS UI, buttons has been added to create a sale order and discard |
|||
the current POS order. |
|||
|
|||
This module is usefull in many cases, for exemple : |
|||
|
|||
* take orders with a very simple interface |
|||
|
|||
* if you have some customers that come every day in your shop, but want to |
|||
have a unique invoice at the end of the month. With that module, you can |
|||
create a sale order and deliver products every time to keep your stock value |
|||
correct, and to create a unique invoice, when you want. |
|||
|
|||
|
|||
Three options are available: |
|||
|
|||
* **Create a draft Order** |
|||
A new sale order in a draft mode will be created that can be changed later. |
|||
|
|||
.. figure:: ../static/description/pos_create_picking_option_1.png |
|||
:width: 800 px |
|||
|
|||
* **Create a Confirmed Order** |
|||
A new sale order will be created and confirmed. |
|||
|
|||
.. figure:: ../static/description/pos_create_picking_option_2.png |
|||
:width: 800 px |
|||
|
|||
* **Create Delivered Picking** (by default) |
|||
A new sale order will be created and confirmed. the associated picking |
|||
will be marked as delivered. |
|||
|
|||
.. figure:: ../static/description/pos_create_picking_option_3.png |
|||
:width: 800 px |
|||
|
|||
|
|||
**Technical Notes** |
|||
|
|||
* Some hooks are defined in the JS file, to define custom behaviour after |
|||
having created the sale order (and the stock picking). |
|||
|
|||
* Some prepare functions are available in the sale.order model, to overload |
|||
the creation of the sale order. |
|||
|
|||
* You could be interested by another module, pos_sale_order, that completely |
|||
alter Point of Sale module, avoiding creating Pos Orders, and creating |
|||
allways Sale Orders. |
|||
This module is a WIP state, and is available here: |
|||
https://github.com/OCA/pos/pull/35 |
@ -0,0 +1,11 @@ |
|||
* Because of the poor design of the Odoo Point of Sale, some basic features |
|||
are not available by default, like pricelist, fiscal position, etc ... |
|||
For that reason, unit price will be recomputed by default, when creating the |
|||
sale order, and the unit price of the current bill will not be used. |
|||
|
|||
Note that this problem is fixed if ``pos_pricelist`` is installed. |
|||
(same repository) In that cases, the pricelist, the unit prices and the taxes |
|||
will be the same in the order, as in the displayed bill. |
|||
|
|||
.. figure:: ../static/description/pos_create_picking_confirm.png |
|||
:width: 800 px |
@ -0,0 +1,12 @@ |
|||
/* |
|||
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop) |
|||
@author: Sylvain LE GAL (https://twitter.com/legalsylvain) |
|||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
*/ |
|||
|
|||
/*Redefine here, the style defined in web module (base.css), because this file |
|||
is not loaded in the point of sale.*/ |
|||
.blockUI.blockOverlay { |
|||
background-color: black; |
|||
opacity: 0.6; |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue