You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

227 lines
8.2 KiB

  1. ============================
  2. Point Of Sale - Picking Load
  3. ============================
  4. .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  5. !! This file is generated by oca-gen-addon-readme !!
  6. !! changes will be overwritten. !!
  7. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  8. .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
  9. :target: https://odoo-community.org/page/development-status
  10. :alt: Beta
  11. .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
  12. :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
  13. :alt: License: AGPL-3
  14. .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
  15. :target: https://github.com/OCA/pos/tree/12.0/pos_picking_load
  16. :alt: OCA/pos
  17. .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
  18. :target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_picking_load
  19. :alt: Translate me on Weblate
  20. .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
  21. :target: https://runbot.odoo-community.org/runbot/184/12.0
  22. :alt: Try me on Runbot
  23. |badge1| |badge2| |badge3| |badge4| |badge5|
  24. This module extends the functionality of point of sale to allow you to
  25. load your pickings in the Point of Sale, in order to add / remove products
  26. and so create a PoS Order and mark it as paid.
  27. **Detailled Use Case**
  28. This module is usefull for the following use case
  29. * You have many Sale Orders that have generated pickings. Typically if you have
  30. connected your Odoo instance to an online store like Shop Invader,
  31. Prestashop, Magento, or if you use light Odoo shop (``website_sale``
  32. module).
  33. * Once the order validated, you prepare your pickings
  34. * The customer come in your shop to recover his order
  35. * the customer add (or remove) some products
  36. * the customer pay his order, based on the real delivered products list
  37. **Table of contents**
  38. .. contents::
  39. :local:
  40. Configuration
  41. =============
  42. To configure this module, you need to:
  43. #. Go to Warehouse / Configuration / Types of Operation
  44. #. Select the picking type(s) you want to see in the point of sale
  45. #. Check the box 'Available in Point of Sale'
  46. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/stock_picking_type_form.png
  47. :width: 800 px
  48. Note: This box is NOT enabled by default except in demo data for the type
  49. 'Delivery Orders' of the demo company 'YourCompany'.
  50. #. Go to Point of Sale / Configuration / Point of Sales
  51. #. Select the Point(s) of Sales witch those you want to enable the feature
  52. #. Check the box 'Load Pickings'
  53. #. Set the max quantity of pickings you want to load
  54. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/pos_config_form.png
  55. :width: 800 px
  56. Note: This box is enabled by default
  57. **Technical Notes**
  58. * By default, the Point of Sale will display only the pickings if the state is
  59. in 'Waiting Availability', 'Partially Available' or 'Ready to Transfer'.
  60. You can change this filter by overloading the ``_prepare_filter_for_pos``
  61. function of the model ``stock.picking``.
  62. * By default, the search of pickings will be done on the fields ``name``,
  63. ``origin`` and ``partner_id`` of the picking.
  64. You can change this feature by overloading the
  65. ``_prepare_filter_query_for_pos`` function of the model ``stock.picking``.
  66. * By default, when the PoS order is confirmed, the original picking is
  67. cancelled and the sale order is set to the state 'Done'.
  68. You can change this behaviour by overloading
  69. ``_handle_orders_with_original_picking`` function of the model ``pos.order``.
  70. Usage
  71. =====
  72. To use this module, you need to:
  73. * Launch the point of sale
  74. * On a new order (without lines), click on the 'Load Picking' button.
  75. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_01_load_button.png
  76. :width: 800 px
  77. * Point of sale will load available pickings. (About displayed pickings, see
  78. 'Technical Notes' section).
  79. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_02_picking_list.png
  80. :width: 800 px
  81. * Click on a picking will check if the picking is loadable and if yes, will
  82. display a 'Select' button. (See 'Possible Warnings' Section)
  83. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_03_confirm.png
  84. :width: 800 px
  85. * Confirm the selection, by clicking on 'Select' button. It will display
  86. the content of the moves (as PoS Order Lines)
  87. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_04_pos_order.png
  88. :width: 800 px
  89. The price and the discount will be the sale price and the discount set in
  90. the according Sale Order Line, if it was found. Otherwise, discount will be
  91. set to 0, and unit price will be the unit price of the product when it has been
  92. loaded in the Point of Sale.
  93. **Related Sale Order:**
  94. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_sale_order.png
  95. :width: 800 px
  96. **Related Picking:**
  97. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_stock_picking.png
  98. :width: 800 px
  99. * Finally, you can add / remove products or change quantity and collect the
  100. payment.
  101. When, the order is marked as paid, the original picking will be cancelled,
  102. because Point Of Sale generates a new picking related to the real delivered
  103. products and the original Sale Order will pass to the state 'Done'. (Delivery
  104. exception is ignored).
  105. (See 'Technical Notes' section).
  106. **Possible Warnings**
  107. Some warning messages can appear:
  108. * if some products are not available in the Point of Sale
  109. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_warning_product.png
  110. :width: 800 px
  111. * if the partner is not available in the Point of Sale
  112. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_warning_partner.png
  113. :width: 800 px
  114. * if the picking has been still loaded in another PoS order
  115. .. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_picking_load/static/description/load_picking_warning_picking_still_loaded.png
  116. :width: 800 px
  117. Known issues / Roadmap
  118. ======================
  119. * This module will try to get original unit price from the sale order and not
  120. use the Current unit price of the product.
  121. (The price at which you pledged to sell the product).
  122. Some VAT troubles will occure if a product is set with VAT marked as
  123. 'VAT included' and if in the sale order line, there are some VAT marked as
  124. 'VAT excluded' for exemple.
  125. **The VAT settings should be consistent.**
  126. Bug Tracker
  127. ===========
  128. Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
  129. In case of trouble, please check there if your issue has already been reported.
  130. If you spotted it first, help us smashing it by providing a detailed and welcomed
  131. `feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_picking_load%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  132. Do not contact contributors directly about support or help with technical issues.
  133. Credits
  134. =======
  135. Authors
  136. ~~~~~~~
  137. * GRAP
  138. Contributors
  139. ~~~~~~~~~~~~
  140. * Sylvain LE GAL (https://twitter.com/legalsylvain)
  141. * Stefan Rijnhart <stefan@opener.am>
  142. Maintainers
  143. ~~~~~~~~~~~
  144. This module is maintained by the OCA.
  145. .. image:: https://odoo-community.org/logo.png
  146. :alt: Odoo Community Association
  147. :target: https://odoo-community.org
  148. OCA, or the Odoo Community Association, is a nonprofit organization whose
  149. mission is to support the collaborative development of Odoo features and
  150. promote its widespread use.
  151. .. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
  152. :target: https://github.com/legalsylvain
  153. :alt: legalsylvain
  154. Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
  155. |maintainer-legalsylvain|
  156. This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/pos_picking_load>`_ project on GitHub.
  157. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.