Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
1e677c6
[8.0] [ADD] pos order to sale order (w/o picking) (#188)
legalsylvain Mar 9, 2018
5781f05
[FIX] taxes was dropped in the sale order lines. [IMP] Remove limitat…
legalsylvain Mar 23, 2018
6504640
[BUMP] version
legalsylvain Mar 23, 2018
ee2c608
Coquille + ajout (BL) pour boutons "vente livrée"
Mar 30, 2018
a35c06b
[FIX] por_order_to_sale_order: PEP8
pedrobaeza Apr 28, 2018
129ab74
[UPD] Update pos_order_to_sale_order.pot
oca-travis Jun 22, 2018
14117e5
[FIX] do not allow to create sale order several times;
legalsylvain Dec 11, 2018
950f06a
[UPD] README.rst
OCA-git-bot Apr 17, 2019
ff1eda6
[UPD] Update pos_order_to_sale_order.pot
oca-travis Apr 17, 2019
f0ab08c
Update translation files
oca-transbot Apr 17, 2019
6618465
[REF] pos_order_to_sale_order: Black python code
legalsylvain Jan 18, 2020
7c83cf8
[MIG] pos_order_to_sale_order: Migration to 12.0
legalsylvain Jan 18, 2020
4295026
[FIX] remove commented code
legalsylvain Jul 4, 2020
8614cd7
[UPD] Update pos_order_to_sale_order.pot
oca-travis Jul 4, 2020
b75fac8
[UPD] README.rst
OCA-git-bot Jul 4, 2020
f46cd8e
pos_order_to_sale_order 12.0.1.0.1
OCA-git-bot Jul 4, 2020
b7d9e6a
Update translation files
oca-transbot Jul 6, 2020
c90f3af
Added translation using Weblate (Spanish)
danimv5 Jul 27, 2020
613e5b4
Translated using Weblate (Spanish)
danimv5 Jul 27, 2020
7ccff14
Added translation using Weblate (Portuguese (Brazil))
augustodinizl Aug 5, 2020
139c527
Translated using Weblate (Portuguese (Brazil))
augustodinizl Aug 5, 2020
1ef63de
pos_order_to_sale_order: Make JS extendable
gaikaz Sep 11, 2020
aad6a50
pos_order_to_sale_order 12.0.1.0.2
OCA-git-bot Sep 11, 2020
3df5006
[FIX] pos_order_to_sale_order : dependencies to sale module is now re…
legalsylvain Sep 25, 2020
fc2ff6d
[FIX] pos_order_to_sale_order : make the module working if get_order(…
legalsylvain Sep 25, 2020
42cd419
[UPD] Update pos_order_to_sale_order.pot
oca-travis May 14, 2021
1d3c533
pos_order_to_sale_order 12.0.1.0.3
OCA-git-bot May 14, 2021
4d3e7de
Update translation files
oca-transbot May 14, 2021
635814e
[UPD] Update pos_order_to_sale_order.pot
oca-travis May 14, 2021
bcba696
Update translation files
oca-transbot May 14, 2021
5b6a924
[IMP] pos_order_to_sale_order: black, isort, prettier
manuelregidor Jun 28, 2021
ed5353e
[MIG]pos_order_to_sale_order: Migration to 13.0
manuelregidor Jun 28, 2021
1630dab
[UPD] Update pos_order_to_sale_order.pot
oca-travis Jul 8, 2021
1983216
[UPD] README.rst
OCA-git-bot Jul 8, 2021
7b32909
[PORT] pos_order_to_sale_order from 13.0 to 16.0:
legalsylvain Oct 6, 2022
943c780
[UPD] Update pos_order_to_sale_order.pot
Oct 16, 2022
757953f
[UPD] README.rst
OCA-git-bot Oct 16, 2022
b993399
Update translation files
weblate Oct 17, 2022
9ce50fc
[UPD] Update pos_order_to_sale_order.pot
Nov 28, 2022
340a7fa
Update translation files
weblate Nov 28, 2022
c4238cf
[FIX] pos_order_to_sale_order
legalsylvain Dec 20, 2022
3d663d0
[UPD] README.rst
OCA-git-bot Dec 20, 2022
38a0b8d
pos_order_to_sale_order 16.0.1.0.2
OCA-git-bot Dec 20, 2022
2b6a9a0
Added translation using Weblate (Italian)
mymage Mar 30, 2023
745f4e3
Translated using Weblate (Italian)
mymage Mar 30, 2023
c2e12ef
Translated using Weblate (Spanish)
FLNerea Mar 31, 2023
75d1e8a
[FIX] pos_order_to_sale_order: Added return for CreateOrderButton com…
geomer198 Jul 10, 2023
488bffb
pos_order_to_sale_order 16.0.1.0.3
OCA-git-bot Jul 10, 2023
dd783fe
[IMP] pos_order_to_sale_order: Improvement for the ability to use the…
GabbasovDinar Aug 5, 2023
aac1fd8
pos_order_to_sale_order 16.0.1.0.4
OCA-git-bot Aug 6, 2023
52c379b
[16.0][REF] pos_order_to_sale_order: create method optimization
GabbasovDinar Aug 14, 2023
0ec1889
pos_order_to_sale_order 16.0.1.0.5
OCA-git-bot Aug 16, 2023
c7494cf
Translated using Weblate (Spanish)
Ivorra78 Aug 22, 2023
b1f752e
Translated using Weblate (Spanish)
lbpatri Aug 22, 2023
27af55f
Translated using Weblate (Spanish)
lbpatri Aug 22, 2023
8a92bbb
Translated using Weblate (Spanish)
Ivorra78 Aug 22, 2023
921ef12
[UPD] README.rst
OCA-git-bot Sep 3, 2023
7d23797
[FIX] pos_order_to_sale_order : make test compatible with pos_minimiz…
legalsylvain Sep 15, 2023
e382218
Update translation files
weblate Oct 9, 2023
db8546b
Translated using Weblate (Italian)
mymage Oct 13, 2023
f78223d
[REF] pos_order_to_sale_order : add sale order line sequence in the p…
legalsylvain Nov 10, 2023
9647ccd
[IMP] pos_order_to_sale_order : use customer_note to prepare sale ord…
legalsylvain Nov 10, 2023
b83f27e
[IMP] pos_order_to_sale_order : performance : directly overload _get_…
legalsylvain Nov 10, 2023
7a1e98e
[BOT] post-merge updates
OCA-git-bot Nov 24, 2023
cb22f33
[IMP] pos_order_to_sale_order: Code is refactored and tests are updated.
geomer198 Nov 25, 2023
f0f8b2c
[BOT] post-merge updates
OCA-git-bot Nov 30, 2023
91f5c9f
Translated using Weblate (Portuguese (Brazil))
May 22, 2024
7f40034
[IMP] pos_order_to_sale_order: use test helpers
ivantodorovich Jul 1, 2024
b7ed1c1
[BOT] post-merge updates
OCA-git-bot Jul 2, 2024
7e24940
[IMP] pos_order_to_sale_order: pre-commit auto fixes
chaule97 Aug 21, 2024
6a87286
[MIG] pos_order_to_sale_order: Migration to 17.0
chaule97 Aug 21, 2024
6cb18de
[UPD] Update pos_order_to_sale_order.pot
Sep 24, 2024
2623681
[BOT] post-merge updates
OCA-git-bot Sep 24, 2024
730d5f7
Update translation files
weblate Sep 24, 2024
00a7ffd
Translated using Weblate (Italian)
mymage Sep 25, 2024
9be629b
Added translation using Weblate (Catalan)
mtbochaca Dec 16, 2024
e28605e
Translated using Weblate (Catalan)
mtbochaca Dec 16, 2024
0b2bae0
[FIX] pos_order_to_sale_order: recompute taxes
danielduqma Feb 21, 2025
13d0497
[BOT] post-merge updates
OCA-git-bot Feb 25, 2025
9f17bd2
[MIG] pos_order_to_sale_order: Migration to 18.0
benwillig Jul 17, 2025
ec17e81
[CHG] pos_order_to_sale_order: store the pos session on the created s…
benwillig Sep 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions pos_order_to_sale_order/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
=======================
PoS Order To Sale Order
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1f8b47887ce149548846500de8fa069fd378b1b821452c62a408ed284283fb58
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |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-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/18.0/pos_order_to_sale_order
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-18-0/pos-18-0-pos_order_to_sale_order
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of point of sale to allow sale
orders creation from the Point of Sale.

In the POS UI, button 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.

**Table of contents**

.. contents::
:local:

Configuration
=============

- Go to Point Of Sale / Configuration / Point of Sale
- Check the box 'Create Sale Orders'
- Select the desired default behaviour

|image_setting|

.. |image_setting| image:: https://raw.githubusercontent.com/OCA/pos/18.0/pos_order_to_sale_order/static/description/res_config_settings_form.png

Usage
=====

- Open your Point of sale
- Create a new order and select products
- Select a customer
- Click on the "Create Order" button

|image1|

Four options are available (depending on the PoS settings):

- **Create a draft Order** A new sale order in a draft mode will be
created that can be changed later.
- **Create a Confirmed Order** A new sale order will be created and
confirmed.
- **Create Delivered Sale Order** A new sale order will be created and
confirmed. the associated picking will be marked as delivered.
- **Create Invoiced Sale Order** A new sale order will be created and
confirmed. the associated picking will be marked as delivered. An
invoice will be created and confirmed.

|image2|

.. |image1| image:: https://raw.githubusercontent.com/OCA/pos/18.0/pos_order_to_sale_order/static/description/pos_frontend_button.png
.. |image2| image:: https://raw.githubusercontent.com/OCA/pos/18.0/pos_order_to_sale_order/static/description/pos_frontend_popup.png

Development
===========

- Some prepare functions are available in the ``sale.order`` model and
``sale.order.line`` models to overload the creation of the sale order.

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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_order_to_sale_order%0Aversion:%2018.0%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
=======

Authors
-------

* GRAP

Contributors
------------

- Sylvain LE GAL (https://www.twitter.com/legalsylvain)
- Chau Le ([email protected])

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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.

.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
:target: https://github.com/legalsylvain
:alt: legalsylvain

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-legalsylvain|

This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/18.0/pos_order_to_sale_order>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions pos_order_to_sale_order/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
30 changes: 30 additions & 0 deletions pos_order_to_sale_order/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright (C) 2017 - 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).

{
"name": "PoS Order To Sale Order",
"version": "18.0.1.0.0",
"author": "GRAP,Odoo Community Association (OCA)",
"category": "Point Of Sale",
"license": "AGPL-3",
"depends": ["point_of_sale", "sale_stock"],
"maintainers": ["legalsylvain"],
"development_status": "Production/Stable",
"website": "https://github.com/OCA/pos",
"data": ["views/view_res_config_settings.xml"],
"assets": {
"point_of_sale._assets_pos": [
"pos_order_to_sale_order/static/src/components/control_buttons/control_buttons.esm.js",
"pos_order_to_sale_order/static/src/components/control_buttons/control_buttons.xml",
"pos_order_to_sale_order/static/src/components/create_order_button/create_order_button.esm.js",
"pos_order_to_sale_order/static/src/components/create_order_button/create_order_button.xml",
"pos_order_to_sale_order/static/src/components/create_order_popup/create_order_popup.esm.js",
"pos_order_to_sale_order/static/src/components/create_order_popup/create_order_popup.xml",
],
"web.assets_tests": [
"pos_order_to_sale_order/static/tests/tours/**/*",
],
},
"installable": True,
}
180 changes: 180 additions & 0 deletions pos_order_to_sale_order/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_order_to_sale_order
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-12-16 10:06+0000\n"
"Last-Translator: mtbochaca <[email protected]>\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"

#. module: pos_order_to_sale_order
#: model:ir.model,name:pos_order_to_sale_order.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustos de configuració"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Create Confirmed Sale Order"
msgstr "Crear comanda de venda confirmada"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_pos_config__iface_create_confirmed_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_confirmed_sale_order
#: model_terms:ir.ui.view,arch_db:pos_order_to_sale_order.view_res_config_settings_form
msgid "Create Confirmed Sale Orders"
msgstr "Crear comandes de venda confirmades"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Create Delivered Sale Order"
msgstr "Crear comanda de venda entregada"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_pos_config__iface_create_delivered_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_delivered_sale_order
#: model_terms:ir.ui.view,arch_db:pos_order_to_sale_order.view_res_config_settings_form
msgid "Create Delivered Sale Orders"
msgstr "Crear comandes de venda entregades"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Create Draft Sale Order"
msgstr "Crear esborrany de comandes de venda"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_pos_config__iface_create_draft_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_draft_sale_order
#: model_terms:ir.ui.view,arch_db:pos_order_to_sale_order.view_res_config_settings_form
msgid "Create Draft Sale Orders"
msgstr "Crear esborrany de comandes de venda"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Create Invoiced Sale Order"
msgstr "Crear comanda de venda facturada"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_pos_config__iface_create_invoiced_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_invoiced_sale_order
#: model_terms:ir.ui.view,arch_db:pos_order_to_sale_order.view_res_config_settings_form
msgid "Create Invoiced Sale Orders"
msgstr "Crear comandes de venda facturades"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderButton.xml:0
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderButton.xml:0
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderButton.xml:0
#, python-format
msgid "Create Order"
msgstr "Crear comanda de venda"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Create Sale Order"
msgstr "Crear comanda de venda"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,field_description:pos_order_to_sale_order.field_pos_config__iface_create_sale_order
msgid "Create Sale Orders"
msgstr "Crear comandes de venda"

#. module: pos_order_to_sale_order
#. odoo-javascript
#: code:addons/pos_order_to_sale_order/static/src/xml/CreateOrderPopup.xml:0
#, python-format
msgid "Discard"
msgstr "Descartar"

#. module: pos_order_to_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_pos_config__iface_create_confirmed_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_confirmed_sale_order
msgid ""
"If checked, the cashier will have the possibility to create a confirmed Sale"
" Order, based on the current draft PoS Order."
msgstr ""
"Si es clica, el caixer tindrà la possibilitat de crear una comanda de venda "
"confirmada, basada en l'esborrany actual de la comanda del TPV."

#. module: pos_order_to_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_pos_config__iface_create_invoiced_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_invoiced_sale_order
msgid ""
"If checked, the cashier will have the possibility to create a confirmed sale Order, based on the current draft PoS Order.\n"
" the according picking will be marked as delivered.\n"
" The Invoice will be generated and confirm.\n"
" Only invoice payment process will be possible."
msgstr ""
"Si es clica, el caixer tindrà la possibilitat de crear una comanda de venda "
"confirmada, basada en l'esborrany actual de la comanda del TPV.\n"
"La recollida corresponent es marcarà com a entregada.\n"
" La factura es generarà y es confirmarà.\n"
" Només serà possible el procés de pagament de la factura."

#. module: pos_order_to_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_pos_config__iface_create_delivered_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_delivered_sale_order
msgid ""
"If checked, the cashier will have the possibility to create a confirmed sale Order, based on the current draft PoS Order.\n"
" the according picking will be marked as delivered. Only invoices process will be possible."
msgstr ""
"Si es clica, el caixer tindrà la possibilitat de crear una comanda de venda "
"confirmada, basada en l'esborrany actual de la comanda del TPV.\n"
" la recollida corresponent es marcarà com a entregada. Només el procés de "
"factures serà possible."

#. module: pos_order_to_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_pos_config__iface_create_draft_sale_order
#: model:ir.model.fields,help:pos_order_to_sale_order.field_res_config_settings__pos_iface_create_draft_sale_order
msgid ""
"If checked, the cashier will have the possibility to create a draft Sale "
"Order, based on the current draft PoS Order."
msgstr ""
"Si es clica, el caixer tindrà la possibilitat de crear una comanda de venda "
"confirmada, basada en l'esborrany actual de la comanda del TPV."

#. module: pos_order_to_sale_order
#. odoo-python
#: code:addons/pos_order_to_sale_order/models/sale_order.py:0
#, python-format
msgid "Point of Sale %s"
msgstr "Punt de venda %s"

#. module: pos_order_to_sale_order
#: model:ir.model,name:pos_order_to_sale_order.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuració del punt de venda"

#. module: pos_order_to_sale_order
#: model_terms:ir.ui.view,arch_db:pos_order_to_sale_order.view_res_config_settings_form
msgid "Sale Order Creation"
msgstr "Creació de la comanda de venda"

#. module: pos_order_to_sale_order
#: model:ir.model,name:pos_order_to_sale_order.model_sale_order
msgid "Sales Order"
msgstr "Comandes de venda"

#. module: pos_order_to_sale_order
#: model:ir.model,name:pos_order_to_sale_order.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de la comanda de venda"
Loading
Loading