if use uid IdGenerator, we may have incontinuous invoice number, but it seems it's very important to have continuous one.
the following scenario can reproduce error(in theory):
- System call this script when user confirm invoice transaction, an invoice number is generated by portal_ids.generateNewId
- If somehow this script ends with database conflit error
- This script is called again, a new invoice number is geneated again
And uid IdGenerator use non_continuous_integer_increasing, there has no guarantee for continuous
