Utilize your financial knowledge, give your answer or opinion to the input question or subject . Answer format is not limited.

How is it possible that a preauth sticks to a credit card for 30 days, even though the goods have already been delivered?
It is barely possible that this is Citi's fault, but it sounds more like it is on the Costco end.   The way that this is supposed to work is that they preauthorize your card for the necessary amount.  That reserves the payment, removing the money from your credit line.  On delivery, they are supposed to capture the preauthorization.  That causes the money to transfer to them.  Until that point, they've reserved your payment but not actually received it.  If you cancel, then they don't have to pay processing fees.   The capture should allow for a larger sale so as to provide for tips, upsells, and unanticipated taxes and fees.   In this case, instead of capturing the preauthorization, they seem to have simply generated a new transaction.  Citi could be doing something wrong and processing the capture incorrectly.  Or Costco could be doing a purchase when they should be doing a capture.  From outside, we can't really say.   The thirty days would seem to be how long Costco can schedule in advance.  So the preauthorization can last that long for them.   Costco should also have the ability to cancel a preauthorization.  However, they may not know how to trigger that.  With smaller merchants, they usually have an interface where they can view preauthorizations and capture or cancel them.  Costco may have those messages sent automatically from their system.   Note that a common use for this pattern is with things like gasoline or delivery purchases.  If this has been Citi/Costco both times, I'd try ordering a pizza or some other delivery food and see if they do it correctly.  If it was Citi both times and a different merchant the other time, then it's probably a Citi problem rather than a merchant problem.