diff --git a/examples/house7.xml b/examples/house7.xml
index b3301351..4de32c3e 100644
--- a/examples/house7.xml
+++ b/examples/house7.xml
@@ -76,7 +76,12 @@
                         <Slab>
                             <SystemIdentifier id="slab1"/>
                             <Area>900</Area>
-                            <!-- omitting insulation to see if it comes out at zero -->
+                            <PerimeterInsulation>
+                                <SystemIdentifier id='slab1perimeterins'/>
+                                <Layer>
+                                    <NominalRValue>0.0</NominalRValue>
+                                </Layer>
+                            </PerimeterInsulation>
                         </Slab>
                     </Foundation>
                 </Foundations>
diff --git a/examples/house7_v3.xml b/examples/house7_v3.xml
index 8ebe06fe..a6483cdf 100644
--- a/examples/house7_v3.xml
+++ b/examples/house7_v3.xml
@@ -89,7 +89,12 @@
                     <Slab>
                         <SystemIdentifier id="slab1"/>
                         <Area>900</Area>
-                        <!-- omitting insulation to see if it comes out at zero -->
+                        <PerimeterInsulation>
+                            <SystemIdentifier id='slab1perimeterins'/>
+                            <Layer>
+                                <NominalRValue>0.0</NominalRValue>
+                            </Layer>
+                        </PerimeterInsulation>
                     </Slab>
                 </Slabs>
                 <Windows>
diff --git a/hescorehpxml/base.py b/hescorehpxml/base.py
index 83c3306a..55ef7dd0 100644
--- a/hescorehpxml/base.py
+++ b/hescorehpxml/base.py
@@ -1698,8 +1698,7 @@ class HPXMLtoHEScoreTranslatorBase(object):
                             else:
                                 raise TranslationError(
                                     'If there is more than one FoundationWall, an Area is required for each.')
-                    fwall_assembly_rvalue = self.get_foundation_wall_assembly_rvalue(fwall, fwall)
-                    if fwall_assembly_rvalue is not None:  # TODO: Allow for AssemblyEffectiveRValue
+                    if not self.every_surface_layer_has_nominal_rvalue(fwall):
                         raise TranslationError(
                             f'Every foundation wall insulation layer needs a NominalRValue, fwall_id = {fwallid}')
                     else:
@@ -1723,8 +1722,7 @@ class HPXMLtoHEScoreTranslatorBase(object):
                         else:
                             raise TranslationError(
                                 'If there is more than one Slab, an ExposedPerimeter is required for each.')
-                    slab_assembly_rvalue = self.get_slab_assembly_rvalue(slab, slab)
-                    if slab_assembly_rvalue is not None:  # TODO: Allow for AssemblyEffectiveRValue
+                    if not self.every_surface_layer_has_nominal_rvalue(slab):
                         raise TranslationError(
                             f"Every slab insulation layer needs a NominalRValue, slab_id = {slabid}")
                     else:
@@ -2519,6 +2517,23 @@ class HPXMLtoHEScoreTranslatorBase(object):
 
         return generation
 
+    def every_surface_layer_has_nominal_rvalue(self, surf_el):
+        # This variable will be true only if every wall layer has a NominalRValue
+        if surf_el.tag.endswith('Slab'):
+            surf_ins_layers = self.xpath(surf_el, 'h:PerimeterInsulation/h:Layer', aslist=True)
+        elif surf_el.tag.endswith('FoundationWall'):
+            surf_ins_layers = self.xpath(surf_el, 'h:Insulation/h:Layer', aslist=True)
+        every_layer_has_nominal_rvalue = True
+        if surf_ins_layers:
+            for layer in surf_ins_layers:
+                if self.xpath(layer, 'h:NominalRValue') is None:
+                    every_layer_has_nominal_rvalue = False
+                    break
+        else:
+            every_layer_has_nominal_rvalue = False
+
+        return every_layer_has_nominal_rvalue
+
     def validate_hescore_inputs(self, hescore_inputs):
 
         def do_bounds_check(fieldname, value, minincl, maxincl):

diff --git a/tests/test_translation.py b/tests/test_translation.py
index 6a04e211..7bd9bfa1 100644
--- a/tests/test_translation.py
+++ b/tests/test_translation.py
@@ -449,6 +449,25 @@ class TestOtherHouses(unittest.TestCase, ComparatorBase):
             tr.hpxml_to_hescore
         )
 
+    def test_missing_nominal_rvalue(self):
+        tr = self._load_xmlfile('house7')
+        slab_perim_ins_nominal_rvalue = self.xpath('//h:Slab/h:PerimeterInsulation/h:Layer/h:NominalRValue')
+        slab_perim_ins_nominal_rvalue.getparent().remove(slab_perim_ins_nominal_rvalue)
+        self.assertRaisesRegex(
+            TranslationError,
+            'Every slab insulation layer needs a NominalRValue, slab_id = slab1',
+            tr.hpxml_to_hescore
+        )
+
+        tr = self._load_xmlfile('house9')
+        fwall_ins_nominal_rvalue = self.xpath('//h:FoundationWall/h:Insulation/h:Layer[2]/h:NominalRValue')
+        fwall_ins_nominal_rvalue.getparent().remove(fwall_ins_nominal_rvalue)
+        self.assertRaisesRegex(
+            TranslationError,
+            'Every foundation wall insulation layer needs a NominalRValue, fwall_id = Surface_13',
+            tr.hpxml_to_hescore
+        )
+
     def test_missing_window_area(self):
         tr = self._load_xmlfile('hescore_min')
         el = self.xpath('//h:Window[1]/h:Area')
@@ -1330,6 +1349,23 @@ class TestOtherHouses(unittest.TestCase, ComparatorBase):
             tr.hpxml_to_hescore
         )
 
+        # ignore assembly effective R-value when both assembly effective R-value and nominal R-value present
+        tr = self._load_xmlfile('house9')
+        E = self.element_maker()
+        fwall_ins = self.xpath('//h:FoundationWall[1]/h:Insulation')
+        sysid = fwall_ins.find(tr.addns('h:SystemIdentifier'))
+        sysid.addnext(E.AssemblyEffectiveRValue('6.0'))
+        hesinp = tr.hpxml_to_hescore()
+        self.assertEqual(hesinp['building']['zone']['zone_floor'][0]['foundation_insulation_level'], 0)
+
+        tr = self._load_xmlfile('house3')
+        E = self.element_maker()
+        slab_perim_ins = self.xpath('//h:Slab/h:PerimeterInsulation')
+        sysid = slab_perim_ins.find(tr.addns('h:SystemIdentifier'))
+        sysid.addnext(E.AssemblyEffectiveRValue('6.0'))
+        hesinp = tr.hpxml_to_hescore()
+        self.assertEqual(hesinp['building']['zone']['zone_floor'][0]['foundation_insulation_level'], 5)
+
     def test_duct_leakage_to_outside(self):
         tr = self._load_xmlfile('house1')
         E = self.element_maker()

Foundation wall insulation errors when AssemblyRValue is present
**Describe the bug**

If a foundation wall has _both_ `AssemblyRValue` and `Layer/NominalRValue` elements, it throws an error saying that a `NominalRValue` is required for all `Layer`s. 

**Error Message**

```
ERROR:TranslationError:Every foundation wall insulation layer needs a NominalRValue, fwall_id = ImpFoundationWallCrawl
```

**To Reproduce**

```xml
<FoundationWall>
  <SystemIdentifier id="ImpFoundationWallCrawl" sameas="BaseFoundationWallCrawl" />
  <Length>169.6985563</Length>
  <Height>3</Height>
  <Area>509.0956688</Area>
  <BelowGradeDepth>0.5</BelowGradeDepth>
  <AdjacentTo>ambient</AdjacentTo>
  <Insulation>
    <SystemIdentifier id="ImpConditionedCrawlInsulation1" sameas="BaseConditionedCrawlInsulation1" />
    <InsulationGrade>1</InsulationGrade>
    <AssemblyEffectiveRValue>12.8</AssemblyEffectiveRValue>
    <MisalignedInsulation>false</MisalignedInsulation>
    <Layer>
      <InstallationType>continuous</InstallationType>
      <InsulationMaterial>
        <Rigid>polyisocyanurate</Rigid>
      </InsulationMaterial>
      <NominalRValue>10.8</NominalRValue>
      <Thickness>1.5</Thickness>
    </Layer>
  </Insulation>
</FoundationWall>
```

**Expected behavior**

To not throw an error. 

**Environment (please complete the following information):**
 - OS: Mac, Linux
 - Python Version: 3.9

**Additional context**

cc @gamalielL @torstenglidden 

tests/test_translation.py::TestOtherHouses::test_assembly_rvalues tests/test_translation.py::TestOtherHouses::test_missing_nominal_rvalue
tests/test_translation.py::TestAPIHouses::test_assembly_rvalue tests/test_translation.py::TestAPIHouses::test_house1 tests/test_translation.py::TestAPIHouses::test_house1_v2 tests/test_translation.py::TestAPIHouses::test_house1_v2_1 tests/test_translation.py::TestAPIHouses::test_house2 tests/test_translation.py::TestAPIHouses::test_house3 tests/test_translation.py::TestAPIHouses::test_house4 tests/test_translation.py::TestAPIHouses::test_house5 tests/test_translation.py::TestAPIHouses::test_house6 tests/test_translation.py::TestAPIHouses::test_house7 tests/test_translation.py::TestAPIHouses::test_house8 tests/test_translation.py::TestAPIHouses::test_house9 tests/test_translation.py::TestCLI::test_cli_pass tests/test_translation.py::TestOtherHouses::test_air_source_heat_pump_has_no_ducts tests/test_translation.py::TestOtherHouses::test_attic_knee_wall tests/test_translation.py::TestOtherHouses::test_attic_knee_wall_zero_rvalue tests/test_translation.py::TestOtherHouses::test_attic_roof_assoc tests/test_translation.py::TestOtherHouses::test_bad_duct_location tests/test_translation.py::TestOtherHouses::test_bldgid_not_found tests/test_translation.py::TestOtherHouses::test_clg_sys_has_air_dist tests/test_translation.py::TestOtherHouses::test_cooling_system_wrong_efficiency_type tests/test_translation.py::TestOtherHouses::test_dist_sys_idref tests/test_translation.py::TestOtherHouses::test_duct_leakage_to_outside tests/test_translation.py::TestOtherHouses::test_ducts_insulation tests/test_translation.py::TestOtherHouses::test_evap_cooling_system_type tests/test_translation.py::TestOtherHouses::test_external_id_extension_passthru tests/test_translation.py::TestOtherHouses::test_external_id_passthru tests/test_translation.py::TestOtherHouses::test_extra_roof_sheathing_insulation tests/test_translation.py::TestOtherHouses::test_extra_wall_sheathing_insulation tests/test_translation.py::TestOtherHouses::test_floor_no_area tests/test_translation.py::TestOtherHouses::test_foundation_walls_on_slab tests/test_translation.py::TestOtherHouses::test_frac_duct_area_missing tests/test_translation.py::TestOtherHouses::test_gable_wall_ignore tests/test_translation.py::TestOtherHouses::test_heating_system_no_efficiency tests/test_translation.py::TestOtherHouses::test_heating_system_wrong_efficiency_type tests/test_translation.py::TestOtherHouses::test_heatpump_no_cooling tests/test_translation.py::TestOtherHouses::test_heatpump_no_heating tests/test_translation.py::TestOtherHouses::test_hescore_min tests/test_translation.py::TestOtherHouses::test_htg_sys_has_air_dist tests/test_translation.py::TestOtherHouses::test_hvac_fractions_sum_to_one tests/test_translation.py::TestOtherHouses::test_impossible_cooling_system_type tests/test_translation.py::TestOtherHouses::test_impossible_heating_system_type tests/test_translation.py::TestOtherHouses::test_impossible_triple_pane_window tests/test_translation.py::TestOtherHouses::test_impossible_window tests/test_translation.py::TestOtherHouses::test_indirect_dhw_error tests/test_translation.py::TestOtherHouses::test_invalid_attic_type tests/test_translation.py::TestOtherHouses::test_invalid_infiltration_unit_of_measure tests/test_translation.py::TestOtherHouses::test_invalid_residential_faciliy_type tests/test_translation.py::TestOtherHouses::test_invalid_roof_type tests/test_translation.py::TestOtherHouses::test_invalid_surroundings tests/test_translation.py::TestOtherHouses::test_log_wall_fail tests/test_translation.py::TestOtherHouses::test_mentor_extension tests/test_translation.py::TestOtherHouses::test_missing_attached_to_roof tests/test_translation.py::TestOtherHouses::test_missing_cooling_system tests/test_translation.py::TestOtherHouses::test_missing_cooling_weighting_factor tests/test_translation.py::TestOtherHouses::test_missing_heating_system tests/test_translation.py::TestOtherHouses::test_missing_heating_weighting_factor tests/test_translation.py::TestOtherHouses::test_missing_infiltration tests/test_translation.py::TestOtherHouses::test_missing_residential_facility_type tests/test_translation.py::TestOtherHouses::test_missing_roof_color tests/test_translation.py::TestOtherHouses::test_missing_roof_type tests/test_translation.py::TestOtherHouses::test_missing_siding tests/test_translation.py::TestOtherHouses::test_missing_skylight_area tests/test_translation.py::TestOtherHouses::test_missing_surroundings tests/test_translation.py::TestOtherHouses::test_missing_water_heater tests/test_translation.py::TestOtherHouses::test_missing_window_area tests/test_translation.py::TestOtherHouses::test_missing_window_orientation tests/test_translation.py::TestOtherHouses::test_only_duct_system_per_heating_sys tests/test_translation.py::TestOtherHouses::test_ove_low_r tests/test_translation.py::TestOtherHouses::test_preconstruction_event_type tests/test_translation.py::TestOtherHouses::test_radiant_barrier tests/test_translation.py::TestOtherHouses::test_siding_cmu_fail tests/test_translation.py::TestOtherHouses::test_siding_fail2 tests/test_translation.py::TestOtherHouses::test_slab_missing tests/test_translation.py::TestOtherHouses::test_tankless_coil_dhw_error tests/test_translation.py::TestOtherHouses::test_too_many_duct_systems tests/test_translation.py::TestOtherHouses::test_townhouse_walls tests/test_translation.py::TestOtherHouses::test_townhouse_walls_all_same tests/test_translation.py::TestOtherHouses::test_townhouse_walls_conflict tests/test_translation.py::TestOtherHouses::test_townhouse_window_fail tests/test_translation.py::TestOtherHouses::test_townhouse_window_wall_all_same_fail tests/test_translation.py::TestOtherHouses::test_townhouse_windows_area_wrong tests/test_translation.py::TestOtherHouses::test_wall_construction_ps_low_r tests/test_translation.py::TestOtherHouses::test_wall_insulation_layer_missing_rvalue tests/test_translation.py::TestOtherHouses::test_wall_same_area_same_side_different_construction tests/test_translation.py::TestOtherHouses::test_window_area_sum_on_angled_front_door tests/test_translation.py::TestOtherHouses::test_window_attached_to_wall tests/test_translation.py::TestOtherHouses::test_window_only_attached_to_foundation_wall tests/test_translation.py::TestOtherHouses::test_wood_stove tests/test_translation.py::TestOtherHouses::test_wood_stove_invalid_fuel_type tests/test_translation.py::TestOtherHouses::test_zipcode_missing tests/test_translation.py::TestInputOutOfBounds::test_assessment_date1 tests/test_translation.py::TestInputOutOfBounds::test_assessment_date2 tests/test_translation.py::TestInputOutOfBounds::test_conditioned_floor_area1 tests/test_translation.py::TestInputOutOfBounds::test_conditioned_floor_area2 tests/test_translation.py::TestInputOutOfBounds::test_cooling_efficiency tests/test_translation.py::TestInputOutOfBounds::test_cooling_system_not_requiring_ducts tests/test_translation.py::TestInputOutOfBounds::test_cooling_year tests/test_translation.py::TestInputOutOfBounds::test_dhw_heat_pump_efficiency tests/test_translation.py::TestInputOutOfBounds::test_dhw_storage_efficiency tests/test_translation.py::TestInputOutOfBounds::test_dhw_year tests/test_translation.py::TestInputOutOfBounds::test_envelope_leakage tests/test_translation.py::TestInputOutOfBounds::test_evap_cooler_missing_efficiency tests/test_translation.py::TestInputOutOfBounds::test_floor_to_ceiling_height1 tests/test_translation.py::TestInputOutOfBounds::test_floor_to_ceiling_height2 tests/test_translation.py::TestInputOutOfBounds::test_heating_efficiency_furnace tests/test_translation.py::TestInputOutOfBounds::test_heating_efficiency_gchp tests/test_translation.py::TestInputOutOfBounds::test_heating_efficiency_heat_pump tests/test_translation.py::TestInputOutOfBounds::test_heating_system_not_requiring_ducts tests/test_translation.py::TestInputOutOfBounds::test_heating_year tests/test_translation.py::TestInputOutOfBounds::test_num_floor_above_grade tests/test_translation.py::TestInputOutOfBounds::test_number_bedrooms tests/test_translation.py::TestInputOutOfBounds::test_skylight_area tests/test_translation.py::TestInputOutOfBounds::test_skylight_u_value tests/test_translation.py::TestInputOutOfBounds::test_window_area tests/test_translation.py::TestInputOutOfBounds::test_window_u_value tests/test_translation.py::TestInputOutOfBounds::test_year_built1 tests/test_translation.py::TestInputOutOfBounds::test_year_built2 tests/test_translation.py::TestHVACFractions::test_allow_5pct_diff tests/test_translation.py::TestHVACFractions::test_boiler_roomac tests/test_translation.py::TestHVACFractions::test_different_weighting_factors tests/test_translation.py::TestHVACFractions::test_furnace_baseboard_centralac tests/test_translation.py::TestHVACFractions::test_furnace_heat_pump tests/test_translation.py::TestHVACFractions::test_wall_furnace_baseboard_centralac tests/test_translation.py::TestPhotovoltaics::test_azimuth_orientation_missing tests/test_translation.py::TestPhotovoltaics::test_capacity_missing tests/test_translation.py::TestPhotovoltaics::test_collector_area tests/test_translation.py::TestPhotovoltaics::test_n_panels tests/test_translation.py::TestPhotovoltaics::test_orientation tests/test_translation.py::TestPhotovoltaics::test_pv tests/test_translation.py::TestPhotovoltaics::test_tilt_missing tests/test_translation.py::TestPhotovoltaics::test_two_sys_avg tests/test_translation.py::TestPhotovoltaics::test_two_sys_different_capacity_error tests/test_translation.py::TestPhotovoltaics::test_years_missing tests/test_translation.py::TestDuctLocations::test_exterior_wall tests/test_translation.py::TestDuctLocations::test_outside tests/test_translation.py::TestDuctLocations::test_outside_v2 tests/test_translation.py::TestDuctLocations::test_roof_deck tests/test_translation.py::TestDuctLocations::test_under_slab tests/test_translation.py::TestHPXMLVersion2Point3::test_floor_furnace tests/test_translation.py::TestHPXMLVersion2Point3::test_medium_dark_roof_color tests/test_translation.py::TestHPXMLVersion2Point3::test_roof_absorptance tests/test_translation.py::TestHEScore2019Updates::test_bldg_about_comment tests/test_translation.py::TestHEScore2019Updates::test_conditioned_attic tests/test_translation.py::TestHEScore2019Updates::test_duct_location_validation tests/test_translation.py::TestHEScore2019Updates::test_ducted_hvac_combinations tests/test_translation.py::TestHEScore2019Updates::test_ductless_hvac_combinations tests/test_translation.py::TestHEScore2019Updates::test_hpwes tests/test_translation.py::TestHEScore2019Updates::test_hpwes_fail tests/test_translation.py::TestHEScore2019Updates::test_mini_split_cooling_only tests/test_translation.py::TestHEScore2019Updates::test_skylight_solar_screens_exteriorshading tests/test_translation.py::TestHEScore2019Updates::test_skylight_solar_screens_treatments tests/test_translation.py::TestHEScore2019Updates::test_tankless tests/test_translation.py::TestHEScore2019Updates::test_tankless_energyfactorerror tests/test_translation.py::TestHEScore2019Updates::test_uef_over_ef tests/test_translation.py::TestHEScore2019Updates::test_uef_with_tankless tests/test_translation.py::TestHEScore2019Updates::test_window_code_mappings_aluminum tests/test_translation.py::TestHEScore2019Updates::test_window_solar_screens tests/test_translation.py::TestHEScore2021Updates::test_hpxmlv2_garage_duct_location tests/test_translation.py::TestHEScore2021Updates::test_skylight_assignment tests/test_translation.py::TestHEScore2021Updates::test_xps_negative tests/test_translation.py::TestHEScore2021Updates::test_zip_plus4 tests/test_translation.py::TestHEScoreV3::test_air_sealed_enclosure tests/test_translation.py::TestHEScoreV3::test_attic_roof_unattached tests/test_translation.py::TestHEScoreV3::test_attic_type tests/test_translation.py::TestHEScoreV3::test_attic_with_multiple_frame_floors tests/test_translation.py::TestHEScoreV3::test_attic_with_multiple_roofs tests/test_translation.py::TestHEScoreV3::test_hescore_min_translation tests/test_translation.py::TestHEScoreV3::test_hescore_min_v3 tests/test_translation.py::TestHEScoreV3::test_house1_translation tests/test_translation.py::TestHEScoreV3::test_house2_translation tests/test_translation.py::TestHEScoreV3::test_house3_translation tests/test_translation.py::TestHEScoreV3::test_house4_translation tests/test_translation.py::TestHEScoreV3::test_house5_translation tests/test_translation.py::TestHEScoreV3::test_house6_translation tests/test_translation.py::TestHEScoreV3::test_house7_translation tests/test_translation.py::TestHEScoreV3::test_house8_translation tests/test_translation.py::TestHEScoreV3::test_house9 tests/test_translation.py::TestHEScoreV3::test_mini_split_cooling_only tests/test_translation.py::TestHEScoreV3::test_townhouse_walls_translation tests/test_translation.py::TestHEScoreV3::test_v3_duct_insulation tests/test_translation.py::TestHEScoreV3::test_v3_duct_location