PoS Order To Sale Order

Technical Name:
  • Odoo Version

Terms and Conditions

PoS Order To Sale Order

Production/Stable License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runbot

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.
  • Create a Confirmed Order A new sale order will be created and confirmed.
  • Create Delivered Picking (by default) A new sale order will be created and confirmed. the associated picking will be marked as delivered.

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

Table of contents


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

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.


Bug Tracker

Bugs are tracked on GitHub 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.

Do not contact contributors directly about support or help with technical issues.



  • GRAP


This module is maintained by the OCA.

Odoo Community Association

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.

Current maintainer:


This module is part of the OCA/pos project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products