Impacted versions: 
9.0x

Steps to reproduce:
1. Go to Accounting, create customer invoice and validate. Check the Invoice-Number (for example: INV/2016/0010)
2.  Go to Point of Sale and select New Session
3. Add any product or just close & confirm the session
4. Close the POS Session (Validate Closing & Post Entries)
5. Create new customer invoice and validate it. Check the Invoice-Number. 

Current behavior:
Gap between the first and the last invoice because of the closed POS-Session. 

Expected behavior:
No Gap between the two invoices like in Version 8. 

I've tested this behaviour on a 8 and a 9 runbot and my own system. There is no gap on 8 but on 9. I think this is not a feature but a bug. I can't find the missing sequence-numbers in any Journals or in the invoice-list. 

The only way to avoid this, is to select another Sales Journal in the POS-Configuration. But then you can't create an invoice from the POS. 

Is it possible to get the "lost" invoice-numbers somewhere? We are not allowed to have gaps in the invoice-numbering here in Germany. 

if not cash_journal_id:
                
                
                cash_journal = self.env['account.journal'].search([
                    ('type', '=', 'cash'),
                    ('id', 'in', list(journal_ids)),
                ], limit=1)
                if not cash_journal:
                    
                    
                    
                    cash_journal = [statement.journal_id for statement in pos_session.statement_ids if statement.journal_id.type == 'cash']
                    if not cash_journal:
                        raise UserError(_("No cash statement found for this session. Unable to record returned cash."))
                cash_journal_id = cash_journal[0].id
            order.add_payment({
                'amount': -pos_order['amount_return'],
                'payment_date': fields.Datetime.now(),
                'payment_name': _('return'),
                'journal': cash_journal_id,
            })
        return order
    def _prepare_analytic_account(self, line):
        '''This method is designed to be inherited in a custom module'''
        return False
    def _create_account_move(self, dt, ref, journal_id, company_id):
        date_tz_user = fields.Datetime.context_timestamp(self, fields.Datetime.from_string(dt))
        date_tz_user = fields.Date.to_string(date_tz_user)
        return self.env['account.move'].sudo().create({'ref': ref, 'journal_id': journal_id, 'date': date_tz_user})
    def _prepare_invoice(self):