OK, finally, finally, finally think I have this now
First problem was I was convinced the Class names were right but they weren't - as someone said always double check
core/components/mycmp/model/mycmp/vouchers.mysql.schema.xml
just to make sure they are listed in there.
Next, I don't know if the example on
http://rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery/xpdoquery.innerjoin is actually wrong (maybe someone could take a look), but after following this thread
https://forums.modx.com/thread/?thread=77803 I realised there was no select statement so I re-jigged it and came up with this:
$query = $modx->newQuery('RevoVouchers');
$query -> select('RevoVouchers.*, RevoVouchersOrders.*');
$query -> innerJoin('RevoVouchersOrders','RevoVouchersOrders', array('RevoVouchersOrders.id = RevoVouchers.order'));
//debug $query -> prepare();
//debug return $query->toSql();
//debug $modx->log(MODX::LOG_LEVEL_ERROR, $query->toSql());
$vouchers = $modx->getCollection('RevoVouchers',$query);
Then I started to get some data from both tables. Yippee!!
In my case it also looks like then you can have as issue if you have field names the same in both tables (both have ID for example) so had to use an alias before I got the right number of rows
$query -> select(''RevoVouchers.id AS VoucherID, RevoVouchers.status AS VoucherStatus, RevoVouchersOrders.*');
Hoping this might help someone (or probably the future me)