lo que correspondería hacer es que al momento de iniciar la generación de facturas, lances la actualización en falso, dejando el registro bloqueado y por último actualizarlo con el valor que debe tener y hacer commit.
Dado que todos los clientes tendrian este comportamiento, los demás podrán iniciar el proceso solamente si ningún otro ha empezado, de lo contrario recibirán un error o simplemente quedarán esperando (dependiendo de cómo configures la transacción).
Hasta luego.