I believe building upon and refining @BlueHairedMeerkat's approach it can be done in
1831
steps.
If you haven't read B.H.M.'s answer, now would be a good time.
We can find a significant saving by optimising the endgame, meaning the phase where we have already identified at least two good bills.
Let N be the number of unidentified bills left. We will know how many of those are fake, let's call that number k. What is the worst case number s(N,k) of steps we will need to identify all leftover bills using the following strategy?
If $3N > 3k \ge N$ I don't think we can do better than checking every individual bill, save the last: $s(N,k)=N-1$
Otherwise, if the fraction of fakes is small enough, it is worthwile checking triplets directly. If there is no beep, we are down 3 bills in one step. If there is a beep we check one of the 3 bills directly; if it is fake we are down one fake bill in two steps; if it is good we check a second one. The second one being good cannot be the worst case because then we know all three whereas if it is fake the third one could still be good or fake. In that case we are down 2 bills one of which is fake at the cost of 3 steps.
Taken together this yields the recurrence
$s(N,k)=\min(\max(s(N-3,k)+1,s(N-1,k-1)+2,s(N-2,k-1)+3),N-1)\qquad N>k>0$
Here the max picks the worst of the three cases just discussed. The min accounts for our switching strategy as soon as k becomes too large compared to N.
A closed form solution is
$s(N,k)=\min\left ( \left\lfloor \frac{N+7k-2} 3\right \rfloor, N-1 \right )\qquad N>k>0$
Now we apply this to B.H.M.'s strategy. We do not, however, do all 250 lots of 4, instead we stop the moment we find a clean triplet. Each of the m quadruplets except the last one have at least 2 fakes. We can find them in 3 steps (in addition to the 4 already spent). Leaving us with at most one ambiguous bill in each quadruplet. The total number of unresolved bills is thus $N=997 - 3m$ if we found the clean triplet first in its quadruplet (otherwise $N=996 -3m$). Of those $k=500-2m$ are fake (or $k=499-2m$) the number of steps already spent is $7m+1$ (or $7m+4$).
A computer search finds that the worst case, i.e. $\max (s(997-3m,500-2m)+7m+1,s(996-3m,499-2m)+7m+4)$ is $1831$, attained at m's maximal value $m=249$.