Skip to content

Commit d678f79

Browse files
authored
Update postal code exceptions for Portugal (#174)
1 parent 1e7ad12 commit d678f79

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/VatCalculator.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -449,12 +449,12 @@ class VatCalculator
449449
],
450450
'PT' => [
451451
[
452-
'postalCode' => '/^9[0-4]\d{2,}$/',
452+
'postalCode' => '/^9[0-4]\d{2,}(?:-\d+)*$/',
453453
'code' => 'PT',
454454
'name' => 'Madeira',
455455
],
456456
[
457-
'postalCode' => '/^9[5-9]\d{2,}$/',
457+
'postalCode' => '/^9[5-9]\d{2,}(?:-\d+)*$/',
458458
'code' => 'PT',
459459
'name' => 'Azores',
460460
],

tests/VatCalculatorTest.php

+6
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,12 @@ public function testChecksPostalCodeForVATExceptions()
540540
$this->assertEquals(29.28, $result);
541541
$this->assertEquals(0.22, $vatCalculator->getTaxRate());
542542
$this->assertEquals(5.28, $vatCalculator->getTaxValue());
543+
544+
$postalCode = '9500-339'; // Azores
545+
$result = $vatCalculator->calculate($net, 'PT', $postalCode, false);
546+
$this->assertEquals(27.84, $result);
547+
$this->assertEquals(0.16, $vatCalculator->getTaxRate());
548+
$this->assertEquals(3.84, $vatCalculator->getTaxValue());
543549
}
544550

545551
public function testPostalCodesWithoutExceptionsGetStandardRate()

0 commit comments

Comments
 (0)