Bitwala.io lets you generate an invoice and to be paid in Bitcoin and others currencies. So you charge your services/products using Bitcoin as a currency and get credited in BTC in your wallet (no conversion to fiat) I know you mentioned that you don't like hosted wallets because of the keys but I thought it might be good to mention it because they give you the private keys when you create your wallet there, at least for the personal accounts so I guess for business too
https://www.bitwala.com/business/Thank you.
It's a great suggestion ... but what I don't want is for someone else to have access to my private keys.
I suppose I could always transfer to another address after I get it, but that would also use up some of the BTC to do so.
Yeah, you will eat some fees doing this. But the good point is they don't have access to your keys for security reasons, for you and them. When you create a wallet they tell you about it before you click the "create a wallet" button. They let you save your keys, you can download a PDF with everything about the keys. After that, they won't be able to access or tell you the keys. You are the only one.