Hi Tom,
Thanks for the bug report, I did some testing and all you have to do to make your example work is the following:
my $vat = Business::Tax::VAT->new(qw/gb/);
$Business::Tax::VAT::Price::RATE{'gb'} = 20;
my $price = $vat->item(102 => 'gb');
is $price->full, 102, "Full price correct - GB consumer";
is $price->vat, 17, "VAT correct - GB consumer";
is $price->net, 85, "Net price correct - GB consumer";
Your example has been added to the test suite from where this was taken.
Take care,
jonasbn