Seems that Strike would be a fairly simple solution. Strike can send directly from USD to a BTC on chain or lightning invoice, and the sender doesn’t need to purchase the bitcoin first, so they would only need to track the USD payments for accounting purposes.
