POS Payment not set default payment_mode

Hi All,
When on POS and after the user click Pay

  1. Closes and decides to start a new POS

  2. The drafted one when you select and click Pay the value to be paid is not selected or set to Default payment mode
    Added this to fix
    //to retrieve and set the default payment
    invoice_data[this.frm.doc.offline_pos_name] = this.frm.doc;
    invoice_data[this.frm.doc.offline_pos_name].payments[0].amount = this.frm.doc.net_total
    invoice_data[this.frm.doc.offline_pos_name].payments[0].base_amount = this.frm.doc.net_total

     	this.frm.doc.paid_amount = this.frm.doc.net_total
     	this.frm.doc.outstanding_amount = 0
    
  3. User should not be allowed to make or click Submit if values are ZERO

  4. When Submit is done with Zero the below on the log is seen
    " removed rows for Sales Invoice Payment, Sales Invoice Payment "

    this causes the invoice or the selling be set as NOT PAID.

I believe on the Payment when Submit is clicked a check should be set not to accept if ZERO.

Works just fine in my test account. If payment amount reduced to zero, then Sales Invoice is updated as Unpaid.

For the default Mode of Payment, please share the screenshot of POS profile and GIF of how Amount is allocated in the wrong Mode of Payment.

I have created a PR but assuming that payments window will only appear on POS and assuming that when the POS Payment window is shown means that either the customer will pay (process Cash, Card Db or CR, etc) or not (record can be deleted).
If customer pays in Cash and for some reason the User clean payment modes or options as on my previous image the system still allows him to SUBMIT and the SI will become UNPAID… in which later the Admin will have to see with the user what was the payment type/mode …
Why not the SUBMIT check if payment modes or values are not ZERO before ?