diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js b/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js index 2d873c0873b..9c0a8363545 100644 --- a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js +++ b/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js @@ -145,6 +145,18 @@ odoo.define('point_of_sale.PaymentScreen', function (require) { NumberBuffer.reset(); this.render(); } + /** + * Returns false if the current order is empty and has no payments. + * @returns {boolean} + */ + _isValidEmptyOrder() { + const order = this.currentOrder; + if (order.get_orderlines().length == 0) { + return order.get_paymentlines().length != 0; + } else { + return true; + } + } async validateOrder(isForceValidate) { if(this.env.pos.config.cash_rounding) { if(!this.env.pos.get_order().check_paymentlines_rounding()) { @@ -349,6 +361,8 @@ odoo.define('point_of_sale.PaymentScreen', function (require) { return false; } + if (!this._isValidEmptyOrder()) return false; + return true; } async _postPushOrderResolve(order, order_server_ids) { diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml b/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml index 8c41e992523..cc9cc66637a 100644 --- a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml +++ b/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml @@ -12,7 +12,7 @@ Back

Payment

-
-