I think some gateway APIs let you set the descriptor on a per transaction basis. That seems like the ideal solution.
Probably the most effective way to reduce mistaken chargebacks would be to let the user specify part of the descriptor. They could say "Ask Peter" or something, so if the accounting department didn't recognize it they would ask Peter or "Ask IT" or whatever.
I saw this first hand at a company that I worked for. For accounting, you take the receipt and file an expense report. That goes into quickbooks. Then you get the credit card statement and have to go line by line and match it up with the items that were expended. It would consume many hours each month.
Probably the most effective way to reduce mistaken chargebacks would be to let the user specify part of the descriptor. They could say "Ask Peter" or something, so if the accounting department didn't recognize it they would ask Peter or "Ask IT" or whatever.