I have two SharePoint lists: Voucher, which includes one column called VoucherNumber. And another list called Waste Voucher, that has many columns, one being a voucher number. When an item in the Waste Voucher list has a changed status from Pending to Approved, I do a get item to the VoucherNumber list, and update the Waste Voucher list with the voucher number. I then add 1 to the voucher number and perform an update to the VoucherNumber list with that number. So the next time an entry has a status change from Pending to Approved, I can repeat the workflow to get the new number and assign it to the new approved item. This was working just fine until entries are updated rapidly where I then start to get a few of the SAME voucher numbers assigned in the Waste Voucher list. It appears there is a delay in writing the next number back to the Voucher list, therefore repeating the number. I can make the voucher number column unique in the Waste Voucher table, but then the workflow would fail if it found the same voucher number. Is there a way to check for duplicate numbers and if there is, delay the workflow so it could go re-check the Voucher table hoping that the previous flow has completed and the next voucher number indeed will not make a duplicate in the Waste Voucher list? Of is there a way that the workflow can not be performed while it is already being run?