diff --git a/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterDrushService.php b/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterDrushService.php
index 763210a41ce630a805c62699ca606963c7a3411f..32cd0383b444c679237acee42e4ab8b39ee90b72 100644
--- a/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterDrushService.php
+++ b/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterDrushService.php
@@ -90,6 +90,11 @@ class ShareholderRegisterTaxshelterDrushService implements ShareholderRegisterTa
     if ($claim_id == 'all') {
       $claim_ids = \Drupal::entityQuery('taxshelter_claim')->execute();
     }
+    elseif (substr($claim_id, 0, 5) === "year-") {
+      $claim_ids = \Drupal::entityQuery('taxshelter_claim')
+        ->condition('year', substr($claim_id, 5))
+        ->execute();
+    }
     else {
       $claim_ids = [$claim_id];
     }
diff --git a/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterService.php b/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterService.php
index 366f602fd7cf9d8b8746d60e18a7f9a511948374..8d8758370a6f7b12bee05430a2174782a9508983 100644
--- a/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterService.php
+++ b/modules/shareholder_register_taxshelter/src/ShareholderRegisterTaxshelterService.php
@@ -694,23 +694,38 @@ class ShareholderRegisterTaxshelterService implements ShareholderRegisterTaxshel
             $taxshelter_config->get('date_of_birth_field'))->value;
         }
 
+        // Beperkte lijst van RSZ landcodes voorzien, anders manueel aan te passen.
+        $land_codes = [
+          'FR' => '00111',
+          'NL' => '00129',
+          'LU' => '00113',
+          'DE' => '00103',
+          'AT' => '00105',
+          'PL' => '00122',
+          'SN' => '00320',
+          'US' => '00402',
+        ];
+        
+        if (array_key_exists($shareholder->get('address')->country_code, $land_codes)) {
+          $attest_data['f2018_landwoonplaats'] = $land_codes[$shareholder->get('address')->country_code];
+          $attest_data['f2112_buitenlandspostnummer'] = $shareholder->getPostalCode();
+        }
+        elseif ($shareholder->get('address')->country_code == 'BE') {
+          $attest_data['f2018_landwoonplaats'] = '00000';
+          $attest_data['f2016_postcodebelgisch'] = $shareholder->getPostalCode();
+        }
+        else {
+          $attest_data['f2018_landwoonplaats'] = '';
+        }
+        
         $claim_data = [
           'f2002_inkomstenjaar' => $year,
           'f2005_registratienummer' => $kbo,
           'f2008_typefiche' => '28185',
           'f2009_volgnummer' => $volgnummer,
           'f2013_naam' => $shareholder->getFamilyName(),
-          'f2015_adres' => trim(implode(
-            ' ',
-            [
-              $shareholder->getAddressLine(),
-              $shareholder->get('address')->premise,
-              $shareholder->get('address')->subpremise,
-            ])),
-          'f2016_postcodebelgisch' => $shareholder->getPostalCode(),
+          'f2015_adres' => $shareholder->getFullAddressLine(),
           'f2017_gemeente' => $shareholder->getLocality(),
-          // Geen lijst van RSZ landcodes voorzien, manueel aan te passen.
-          'f2018_landwoonplaats' => $shareholder->get('address')->country_code == 'BE' ? '00000' : '',
           // Normaal (geen wijziging, annulatie).
           'f2028_typetraitement' => 0,
           // Fiche 281.
diff --git a/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-fr.html.twig b/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-fr.html.twig
index 25693fe163681e685c4a56671ceafa6325182e6e..938bf64667523411abb40242e06358caede6a43f 100644
--- a/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-fr.html.twig
+++ b/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-fr.html.twig
@@ -12,7 +12,7 @@
   <span style="position:absolute; left: 50mm; top: 149mm; width:150mm;">{{ claim.shareholder.getFamilyName() }}</span>
   <span style="position:absolute; left: 90mm; top: 158mm; width:100mm;">{{ rrn_field }}</span>
   <span style="position:absolute; left: 70mm; top: 165mm; width:100mm;">{{ date_of_birth_field }}</span>
-  <span style="position:absolute; left: 55mm; top: 174mm; width:150mm;">{{ claim.shareholder.getAddressLine() }}</span>
+  <span style="position:absolute; left: 55mm; top: 174mm; width:150mm;">{{ claim.shareholder.getFullAddressLine() }}</span>
   <span style="position:absolute; left: 60mm; top: 183mm; width:100mm;">{{ claim.shareholder.getPostalCode() }}</span>
   <span style="position:absolute; left: 110mm; top: 183mm; width:100mm;">{{ claim.shareholder.getLocality() }}</span>
   <span style="position:absolute; left: 50mm; top: 190mm; width:100mm;">{{ claim.shareholder.getCountry() }}</span>
diff --git a/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-nl.html.twig b/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-nl.html.twig
index 52efe47daf644fc89771aaacc2d029ff04ac75ca..61c58ad0e4c031b8ca50a89a50955073c93b706a 100644
--- a/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-nl.html.twig
+++ b/modules/shareholder_register_taxshelter/templates/shareholder-register-taxshelter-attest-2020-nl.html.twig
@@ -12,7 +12,7 @@
   <span style="position:absolute; left: 45mm; top: 144mm; width:150mm;">{{ claim.shareholder.getFamilyName() }}</span>
   <span style="position:absolute; left: 65mm; top: 152mm; width:100mm;">{{ rrn_field }}</span>
   <span style="position:absolute; left: 60mm; top: 161mm; width:100mm;">{{ date_of_birth_field }}</span>
-  <span style="position:absolute; left: 50mm; top: 169mm; width:150mm;">{{ claim.shareholder.getAddressLine() }}</span>
+  <span style="position:absolute; left: 50mm; top: 169mm; width:150mm;">{{ claim.shareholder.getFullAddressLine() }}</span>
   <span style="position:absolute; left: 50mm; top: 178mm; width:100mm;">{{ claim.shareholder.getPostalCode() }}</span>
   <span style="position:absolute; left: 120mm; top: 178mm; width:100mm;">{{ claim.shareholder.getLocality() }}</span>
   <span style="position:absolute; left: 40mm; top: 185mm; width:100mm;">{{ claim.shareholder.getCountry() }}</span>
diff --git a/src/Entity/Shareholder.php b/src/Entity/Shareholder.php
index 6ff2358ea93058a42ec3adb9a3ac8be58497bc12..c64166c7e1e2e2b200ca65924e683764e2c40ddf 100644
--- a/src/Entity/Shareholder.php
+++ b/src/Entity/Shareholder.php
@@ -311,6 +311,25 @@ class Shareholder extends RevisionableContentEntityBase implements ShareholderIn
     return $this->get('address')->address_line1;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getFullAddressLine() {
+    return implode(
+      ' ',
+      array_filter(
+        array_map(
+          'trim',
+          [
+            $this->get('address')->address_line1,
+            $this->get('address')->premise,
+            $this->get('address')->subpremise,
+          ]
+        )
+      )
+    );
+  }
+
   /**
    * {@inheritdoc}
    */