Lo que hice jejeje despues de dos años, fue que hice una tabla sin llaves primarias, donde manejabalos concecutivos segun un concepto y hice un disparador para actualizarlo, cada vez que se hacia un insert en la tabla facturas si hacia el insert hacia un for update para bloquear el registro.. y pues funciona