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. 

'debit': ((order.amount_total > 0) and order.amount_total) or 0.0,
                'partner_id': partner_id
            })
            order.write({'state': 'done', 'account_move': move.id})
        all_lines = []
        for group_key, group_data in grouped_data.iteritems():
            for value in group_data:
                all_lines.append((0, 0, value),)
        if move:  
            move.sudo().write({'line_ids': all_lines})
            move.sudo().post()
        return True
    def _default_session(self):
        return self.env['pos.session'].search([('state', '=', 'opened'), ('user_id', '=', self.env.uid)], limit=1)
    def _default_pricelist(self):
        return self._default_session().config_id.pricelist_id
    name = fields.Char(string='Order Ref', required=True, readonly=True, copy=False, default='/')
    company_id = fields.Many2one('res.company', string='Company', required=True, readonly=True, default=lambda self: self.env.user.company_id)
    date_order = fields.Datetime(string='Order Date', readonly=True, index=True, default=fields.Datetime.now)
    user_id = fields.Many2one('res.users', string='Salesman', help="Person who uses the cash register. It can be a reliever, a student or an interim employee.", default=lambda self: self.env.uid)
    amount_tax = fields.Float(compute='_compute_amount_all', string='Taxes', digits=0)
    amount_total = fields.Float(compute='_compute_amount_all', string='Total', digits=0)
    amount_paid = fields.Float(compute='_compute_amount_all', string='Paid', states={'draft': [('readonly', False)]}, readonly=True, digits=0)
    amount_return = fields.Float(compute='_compute_amount_all', string='Returned', digits=0)
    lines = fields.One2many('pos.order.line', 'order_id', string='Order Lines', states={'draft': [('readonly', False)]}, readonly=True, copy=True)
    statement_ids = fields.One2many('account.bank.statement.line', 'pos_statement_id', string='Payments', states={'draft': [('readonly', False)]}, readonly=True)
    pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, states={
                                   'draft': [('readonly', False)]}, readonly=True, default=_default_pricelist)
    partner_id = fields.Many2one('res.partner', string='Customer', change_default=True, index=True, states={'draft': [('readonly', False)], 'paid': [('readonly', False)]})
    sequence_number = fields.Integer(string='Sequence Number', help='A session-unique sequence number for the order', default=1)