diff --git a/facho/fe/nomina/__init__.py b/facho/fe/nomina/__init__.py
index 844d91a..437953a 100644
--- a/facho/fe/nomina/__init__.py
+++ b/facho/fe/nomina/__init__.py
@@ -192,9 +192,12 @@ class DIANNominaXML:
         # esten ordenados segun el anexo tecnico
         self.fexml.placeholder_for('./ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent')
         self.fexml.placeholder_for('./TipoNota', optional=True)
+
         self.root_fragment = self.fexml
         if xpath_ajuste is not None:
             self.root_fragment = self.fexml.fragment(xpath_ajuste)
+        self.root_fragment.placeholder_for('./ReemplazandoPredecesor', optional=True)
+        self.root_fragment.placeholder_for('./EliminandoPredecesor', optional=True)
         self.root_fragment.placeholder_for('./Novedad', optional=True)
         self.root_fragment.placeholder_for('./Periodo')
         self.root_fragment.placeholder_for('./NumeroSecuenciaXML')
@@ -385,16 +388,60 @@ class DIANNominaIndividual(DIANNominaXML):
 class DIANNominaIndividualDeAjuste(DIANNominaXML):
 
     class Reemplazar(DIANNominaXML):
+        @dataclass
+        class Predecesor:
+            numero: str
+            cune: str
+            fecha_generacion: str
+
+            def apply(self, fragment):
+                fragment.set_element('./Reemplazar/ReemplazandoPredecesor', None,
+                                     # NIAE090
+                                     NumeroPred = self.numero,
+                                     # NIAE191
+                                     CUNEPred = self.cune,
+                                     # NIAE192
+                                     FechaGenPred = self.fecha_generacion
+                                     )
+
         def __init__(self):
             super().__init__('NominaIndividualDeAjuste', './Reemplazar')
             # NIAE214
-            self.root_fragment.set_element('TipoNota', '1')
-            
+            self.root_fragment.set_element('./TipoNota', '1')
+
+        def asignar_predecesor(self, predecesor):
+            if not isinstance(predecesor, self.Predecesor):
+                raise ValueError("se espera tipo Predecesor")
+            predecesor.apply(self.fexml)
+
+        
     class Eliminar(DIANNominaXML):
+        
+        @dataclass
+        class Predecesor:
+            numero: str
+            cune: str
+            fecha_generacion: str
+
+            def apply(self, fragment):
+                fragment.set_element('./Eliminar/EliminandoPredecesor', None,
+                                     # NIAE090
+                                     NumeroPred = self.numero,
+                                     # NIAE191
+                                     CUNEPred = self.cune,
+                                     # NIAE192
+                                     FechaGenPred = self.fecha_generacion
+                                     )
+
         def __init__(self):
             super().__init__('NominaIndividualDeAjuste', './Eliminar')
-            # NIAE214
-            self.root_fragment.set_element('TipoNota', '2')
+
+            self.root_fragment.set_element('./TipoNota', '2')
+
+        def asignar_predecesor(self, predecesor):
+            if not isinstance(predecesor, self.Predecesor):
+                raise ValueError("se espera tipo Eliminar.Predecesor")
+            predecesor.apply(self.fexml)
             
     def __init__(self):
         super().__init__('NominaIndividualDeAjuste')
diff --git a/tests/test_nomina.py b/tests/test_nomina.py
index ccc1cb8..737f4a3 100644
--- a/tests/test_nomina.py
+++ b/tests/test_nomina.py
@@ -267,6 +267,51 @@ def test_adicionar_reemplazar_devengado_comprobante_total():
     assert xml.get_element_text('/fe:NominaIndividualDeAjuste/Reemplazar/ComprobanteTotal') == '1000000.00'
 
 
+def test_adicionar_reemplazar_asignar_predecesor():
+    nomina = fe.nomina.DIANNominaIndividualDeAjuste.Reemplazar()
+
+    nomina.asignar_predecesor(fe.nomina.DIANNominaIndividualDeAjuste.Reemplazar.Predecesor(
+        numero = '123456',
+        cune = 'ABC123456',
+        fecha_generacion = '2021-11-16'
+    ))
+
+    xml = nomina.toFachoXML()
+    print(xml.tostring())
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Reemplazar/ReemplazandoPredecesor/@NumeroPred') == '123456'
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Reemplazar/ReemplazandoPredecesor/@CUNEPred') == 'ABC123456'
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Reemplazar/ReemplazandoPredecesor/@FechaGenPred') == '2021-11-16'
+
+
+def test_adicionar_reemplazar_eliminar_predecesor_opcional():
+    nomina = fe.nomina.DIANNominaIndividualDeAjuste.Reemplazar()
+
+    nomina.asignar_predecesor(fe.nomina.DIANNominaIndividualDeAjuste.Reemplazar.Predecesor(
+        numero = '123456',
+        cune = 'ABC123456',
+        fecha_generacion = '2021-11-16'
+    ))
+
+    xml = nomina.toFachoXML()
+    print(xml.tostring())
+
+    assert xml.get_element('/fe:NominaIndividualDeAjuste/Reemplazar/ReemplazandoPredecesor') is not None
+    assert xml.get_element('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor') is None
+
+def test_adicionar_eliminar_reemplazar_predecesor_opcional():
+    nomina = fe.nomina.DIANNominaIndividualDeAjuste.Eliminar()
+
+    nomina.asignar_predecesor(fe.nomina.DIANNominaIndividualDeAjuste.Eliminar.Predecesor(
+        numero = '123456',
+        cune = 'ABC123456',
+        fecha_generacion = '2021-11-16'
+    ))
+
+    xml = nomina.toFachoXML()
+    print(xml.tostring())
+    assert xml.get_element('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor') is not None
+    assert xml.get_element('/fe:NominaIndividualDeAjuste/Reemplazar/ReemplazandoPredecesor') is None
+
 def test_adicionar_eliminar_devengado_comprobante_total():
     nomina = fe.nomina.DIANNominaIndividualDeAjuste.Eliminar()
 
@@ -283,3 +328,18 @@ def test_adicionar_eliminar_devengado_comprobante_total():
     xml = nomina.toFachoXML()
 
     assert xml.get_element_text('/fe:NominaIndividualDeAjuste/Eliminar/ComprobanteTotal') == '1000000.00'
+
+def test_adicionar_eliminar_asignar_predecesor():
+    nomina = fe.nomina.DIANNominaIndividualDeAjuste.Eliminar()
+
+    nomina.asignar_predecesor(fe.nomina.DIANNominaIndividualDeAjuste.Eliminar.Predecesor(
+        numero = '123456',
+        cune = 'ABC123456',
+        fecha_generacion = '2021-11-16'
+    ))
+
+    xml = nomina.toFachoXML()
+    print(xml.tostring())
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@NumeroPred') == '123456'
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@CUNEPred') == 'ABC123456'
+    assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@FechaGenPred') == '2021-11-16'