Hi,
In HikaShop there is no link between the currency and the addresses.
The "currency" restriction of your shipping methods is based on the currency of the order, regardless of the location of the billing or shipping address.
So what I understand is that you actually want the shipping method selected to be based on the zone of the billing address, regardless of the currency the user is using.
That would mean you would only set the "zone" setting, not the "currency" setting of the restrictions area.
However, the "zone" setting there is based off of the shipping address (because we're talking about shipping methods here), not the billing address.
To change that, you would have to edit the file administrator/components/com_hikashop/classes/shipping.php and change the line:
$zones = $zoneClass->getOrderZones($order);
to:
$zones = $zoneClass->getOrderZones($order, 'shipping_address');
We'll actually change it to:
$zones = $zoneClass->getOrderZones($order, $config->get('shipping_methods_zone_address_type','shipping_address'));
for the next version of HikaShop. That way, you'll be able to change that behavior to your needs by adding an entry with the namekey shipping_methods_zone_address_type and the value billing_address in the hikashop_config table via your PHPMyAdmin so that you won't have to reapply your change after each update HikaShop.