I used a CData ODBC connector. It cost $200 for 12 months
I will look at other options including Qliks rest.
It works well but XERO have not set up the Inventory detail table yet. As well there is not one for fixed assets.
Its also tricky getting the GL details (like invoice name and reference) as the GL is summarized (*1) and doesn't provide a one to one link to the say invoices table. So it a bit of a nightmare getting it all tied in. XERO need to really adjust their data structure to make it a lot easier
* if one supplier invoice contains more than one posting to one Gl account then the total is held as one balance in the XERO GL not two or more. So its possible to get the supplier name but not so easy to link the detail.
Xero wasn't (maybe it has been improved) really set up for BI. Even the Power BI free link wasn't much good I felt. If I was doing it again I would maybe forget about an automatic link (rest or CData) and just do it from reports (account transactions).
I also did too much. It was good but a bit of an overkill. And things like not including foreign exchange unrealised gains in the GL ledger (but in the profit) always meant a difference between the Xero profit and BI profit
XERO is a VG system but they do things in a unique way. That creates issues with a BI extract.