forked from OCA/pos
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PORT] Apply new 10.0 syntax ; [REF] Apply recent OCA convention (new readme, etc.) ; [PORT] make the module depend on 'sale' module [REF] remove obsolete file [IMP] point of sale UI [ADD] prepare function for picking_line
- Loading branch information
1 parent
6692606
commit a82c605
Showing
45 changed files
with
1,426 additions
and
565 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,45 @@ | ||
.. 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 | ||
|
||
|
||
================ | ||
POS Picking Load | ||
================ | ||
|
||
============================ | ||
Point Of Sale - Picking Load | ||
============================ | ||
|
||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
:target: https://odoo-community.org/page/development-status | ||
:alt: Beta | ||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-legalsylvain%2Fpos-lightgray.png?logo=github | ||
:target: https://github.com/legalsylvain/pos/tree/10.0-mig-pos_picking_load/pos_picking_load | ||
:alt: legalsylvain/pos | ||
|
||
|badge1| |badge2| |badge3| | ||
|
||
This module extends the functionality of point of sale to allow you to | ||
load your pickings in the Point of Sale, in order to add / remove products | ||
and so create a PoS Order and mark it as paid. | ||
|
||
Detailled Use Case | ||
================== | ||
**Detailled Use Case** | ||
|
||
This module is usefull for the following use case | ||
|
||
* You have many Sale Orders that have generated pickings. Typically if you have | ||
connected your Odoo instance to an online store like Shop Invader, | ||
Prestashop, Magento, or if you use light Odoo shop (```website_sale``` | ||
Prestashop, Magento, or if you use light Odoo shop (``website_sale`` | ||
module). | ||
* Once the order validated, you prepare your pickings | ||
* The customer come in your shop to recover his order | ||
* the customer add (or remove) some products | ||
* the customer pay his order, based on the real delivered products list. | ||
* the customer pay his order, based on the real delivered products list | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Configuration | ||
============= | ||
|
@@ -35,21 +50,42 @@ To configure this module, you need to: | |
#. Select the picking type(s) you want to see in the point of sale | ||
#. Check the box 'Available in Point of Sale' | ||
|
||
.. figure:: static/description/stock_picking_type_form.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/stock_picking_type_form.png | ||
:width: 800 px | ||
|
||
Note: This box is NOT enabled by default except in demo data for the type | ||
'Delivery Orders' of the demo company 'YourCompany'. | ||
|
||
#. Go to Point of Sale / Configuration / Point of Sales | ||
#. Select the Point(s) of Sales witch those you want to enable the feature | ||
#. Check the box 'Load Pickings'. | ||
#. Check the box 'Load Pickings' | ||
#. Set the max quantity of pickings you want to load | ||
|
||
.. figure:: static/description/pos_config_form.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/pos_config_form.png | ||
:width: 800 px | ||
|
||
Note: This box is enabled by default | ||
|
||
**Technical Notes** | ||
|
||
* By default, the Point of Sale will display only the pickings if the state is | ||
in 'Waiting Availability', 'Partially Available' or 'Ready to Transfer'. | ||
|
||
You can change this filter by overloading the ``_prepare_filter_for_pos`` | ||
function of the model ``stock.picking``. | ||
|
||
* By default, the search of pickings will be done on the fields ``name``, | ||
``origin`` and ``partner_id`` of the picking. | ||
|
||
You can change this feature by overloading the | ||
``_prepare_filter_query_for_pos`` function of the model ``stock.picking``. | ||
|
||
* By default, when the PoS order is confirmed, the original picking is | ||
cancelled and the sale order is set to the state 'Done'. | ||
|
||
You can change this behaviour by overloading | ||
``_handle_orders_with_original_picking`` function of the model ``pos.order``. | ||
|
||
Usage | ||
===== | ||
|
||
|
@@ -58,36 +94,42 @@ To use this module, you need to: | |
* Launch the point of sale | ||
* On a new order (without lines), click on the 'Load Picking' button. | ||
|
||
.. figure:: static/description/load_picking_01.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_01_load_button.png | ||
:width: 800 px | ||
|
||
* Point of sale will load available pickings. (About displayed pickings, see | ||
'Technical Notes' below). | ||
'Technical Notes' section). | ||
|
||
.. figure:: static/description/load_picking_02.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_02_picking_list.png | ||
:width: 800 px | ||
|
||
* Click on a picking will display the content of the moves (as PoS Order Lines) | ||
* Click on a picking will check if the picking is loadable and if yes, will | ||
display a 'Select' button. (See 'Possible Warnings' Section) | ||
|
||
.. figure:: static/description/load_picking_03.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_03_confirm.png | ||
:width: 800 px | ||
|
||
* Confirm the selection, by clicking on 'Select' button. It will display | ||
the content of the moves (as PoS Order Lines) | ||
|
||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_04_pos_order.png | ||
:width: 800 px | ||
|
||
The price and the discount will be the sale price and the discount set in | ||
the according Sale Order Line, if it was found. Otherwise, discount will be to | ||
0, and unit price will be the unit price of the product when it has been | ||
the according Sale Order Line, if it was found. Otherwise, discount will be | ||
set to 0, and unit price will be the unit price of the product when it has been | ||
loaded in the Point of Sale. | ||
|
||
**Related Sale Order:** | ||
|
||
.. figure:: static/description/load_picking_04.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_sale_order.png | ||
:width: 800 px | ||
|
||
**Related Picking:** | ||
|
||
.. figure:: static/description/load_picking_05.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_stock_picking.png | ||
:width: 800 px | ||
|
||
* Confirm the selection, by clicking on 'Select' button. | ||
|
||
* Finally, you can add / remove products or change quantity and collect the | ||
payment. | ||
|
@@ -96,83 +138,77 @@ When, the order is marked as paid, the original picking will be cancelled, | |
because Point Of Sale generates a new picking related to the real delivered | ||
products and the original Sale Order will pass to the state 'Done'. (Delivery | ||
exception is ignored). | ||
(See 'Technical Notes' below). | ||
(See 'Technical Notes' section). | ||
|
||
**Possible Warnings** | ||
|
||
Some warning messages can appear: | ||
|
||
* if some products are not available in the Point of Sale. | ||
* if some products are not available in the Point of Sale | ||
|
||
.. figure:: static/description/load_picking_06.png | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_warning_product.png | ||
:width: 800 px | ||
|
||
.. 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 | ||
* if the partner is not available in the Point of Sale | ||
|
||
Technical Notes | ||
=============== | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_warning_partner.png | ||
:width: 800 px | ||
|
||
* By default, the following filters are applied on the pickings displayed: | ||
* 'State' should be 'Waiting Availability', 'Partially Available' or | ||
'Ready to Transfer'. | ||
* 'Invoice Control' should be 'To be invoiced'. | ||
You can change this filter by overloading the ```_prepare_filter_for_pos``` | ||
function of the model ```stock.picking``` | ||
* if the picking has been still loaded in another PoS order | ||
|
||
* By default, original Picking is cancelled and the Sale order is set to the | ||
state 'Done'. You can change this behaviour by overloading | ||
```_handle_orders_with_original_picking``` function of the model | ||
```pos.order```. | ||
.. figure:: https://raw.githubusercontent.com/legalsylvain/pos/10.0-mig-pos_picking_load/pos_picking_load/static/description/load_picking_warning_picking_still_loaded.png | ||
:width: 800 px | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
* This module will try to get original unit price from the sale order and not | ||
use the Current unit price of the product. (The price at which you pledged | ||
to sell the product). | ||
use the Current unit price of the product. | ||
(The price at which you pledged to sell the product). | ||
Some VAT troubles will occure if a product is set with VAT marked as | ||
'VAT included' and if in the sale order line, there are some VAT marked as | ||
'VAT excluded'. **The VAT settings should be consistent**. | ||
'VAT excluded' for exemple. | ||
|
||
**The VAT settings should be consistent.** | ||
|
||
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. | ||
Bugs are tracked on `GitHub Issues <https://github.com/legalsylvain/pos/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us smashing it by providing a detailed and welcomed | ||
`feedback <https://github.com/legalsylvain/pos/issues/new?body=module:%20pos_picking_load%0Aversion:%2010.0-mig-pos_picking_load%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Images | ||
------ | ||
Authors | ||
~~~~~~~ | ||
|
||
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_. | ||
* GRAP | ||
|
||
Contributors | ||
------------ | ||
~~~~~~~~~~~~ | ||
|
||
* Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
* Stefan Rijnhart <[email protected]> | ||
|
||
* Sylvain Le Gal (https://twitter.com/legalsylvain) | ||
Maintainers | ||
~~~~~~~~~~~ | ||
|
||
Funders | ||
------- | ||
|
||
The development of this module has been financially supported by: | ||
|
||
* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) | ||
.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px | ||
:target: https://github.com/legalsylvain | ||
:alt: legalsylvain | ||
|
||
Maintainer | ||
---------- | ||
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__: | ||
|
||
.. image:: https://odoo-community.org/logo.png | ||
:alt: Odoo Community Association | ||
:target: https://odoo-community.org | ||
|maintainer-legalsylvain| | ||
|
||
This module is maintained by the OCA. | ||
This module is part of the `legalsylvain/pos <https://github.com/legalsylvain/pos/tree/10.0-mig-pos_picking_load/pos_picking_load>`_ project on GitHub. | ||
|
||
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. | ||
You are welcome to contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
# -*- coding: utf-8 -*- | ||
# coding: utf-8 | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.