Before I retired I managed several retail outlets. Our policy was accept US funds but at par, dollar for dollar. If you weren't happy with that use a card or obtain COIN OF THE REALM at a bank. People forget that as a business we are charged service fees for the bank to process out of country currency. The taking of US currency was done strictly as a courtesy.
When we travel we use the currency of the country we are in or their coin of the realm. I never cross into the US without some US money in my pocket and then use money I have placed in an American account we have set up with our bank and used an American debit/visa card. Solves all problems for us.