After a massive months-long hunt for good project management software, I settled on ActiveCollab. This was in part due to its ability to track time (replacing Harvest) and its integration with Xero. The connection is really buggy, but it seems to work after a bit of trial and error. Companies in AC are not the same as companies or contacts in Xero. They aren't connected at all. Instead, when you go to make an invoice in AC, it lets you select the Xero contact and then check the boxes on each project you want to include in the invoice, along with a few options for filtering it. After that you click a button to go view the generated invoice in Xero. Once there, you will still need to clarify which Xero items are being purchased. But it does save a lot of time, and therefore acceptable to us.