diff --git a/facho/fe/data/dian/codelist/__init__.py b/facho/fe/data/dian/codelist/__init__.py
index 4c04c7f..63c874c 100644
--- a/facho/fe/data/dian/codelist/__init__.py
+++ b/facho/fe/data/dian/codelist/__init__.py
@@ -71,6 +71,7 @@ __all__ = ['TipoOrganizacion',
            'TipoAmbiente',
            'TipoDocumento',
            'TipoImpuesto',
+           'UnidadesMedida',
            'CodigoPrecioReferencia',
            'MediosPago',
            'RegimenFiscal',
@@ -98,3 +99,4 @@ Departamento = CodeList(path_for_codelist('Departamentos-2.1.gc'), 'code', 'name
 Paises = CodeList(path_for_codelist('Paises-2.1.gc'), 'code', 'name')
 TipoIdFiscal = CodeList(path_for_codelist('TipoIdFiscal-2.1.gc'), 'code', 'name')
 CodigoDescuento = CodeList(path_for_codelist('CodigoDescuento-2.1.gc'), 'code', 'name')
+UnidadesMedida = CodeList(path_for_codelist('UnidadesMedida-2.1.gc'), 'code', 'name')
diff --git a/facho/fe/form/__init__.py b/facho/fe/form/__init__.py
index 56e8148..aa9ca61 100644
--- a/facho/fe/form/__init__.py
+++ b/facho/fe/form/__init__.py
@@ -113,8 +113,30 @@ class Amount:
         return round(self.amount, DECIMAL_PRECISION)
     
 
-class Quantity(Amount):
-    pass
+class Quantity:
+    
+    def __init__(self, val, code):
+        if not isinstance(val, int):
+            raise ValueError('val expected int')
+        if code not in codelist.UnidadesMedida:
+            raise ValueError("code [%s] not found" % (code))
+
+        self.value = val
+        self.code = code
+
+    def __mul__(self, other):
+        if isinstance(other, Amount):
+            return Amount(self.value) * other
+        return self.value * other
+
+    def __lt__(self, other):
+        if isinstance(other, Amount):
+            return Amount(self.value) < other
+        return self.value < other
+
+    def __str__(self):
+        return str(self.value)
+
 
 @dataclass
 class Item:
diff --git a/facho/fe/form_xml/invoice.py b/facho/fe/form_xml/invoice.py
index aed6697..f3f185b 100644
--- a/facho/fe/form_xml/invoice.py
+++ b/facho/fe/form_xml/invoice.py
@@ -523,7 +523,9 @@ class DIANInvoiceXML(fe.FeXML):
 
             line.set_element('./cac:Price/cbc:PriceAmount', invoice_line.price.amount, currencyID="COP")
             #DIAN 1.7.-2020: FBB04
-            line.set_element('./cac:Price/cbc:BaseQuantity', invoice_line.price.amount)
+            line.set_element('./cac:Price/cbc:BaseQuantity',
+                             invoice_line.quantity,
+                             unitCode=invoice_line.quantity.code)
 
 
     def attach_invoice(fexml, invoice):
diff --git a/tests/fixtures.py b/tests/fixtures.py
index d4d1e2b..34501d7 100644
--- a/tests/fixtures.py
+++ b/tests/fixtures.py
@@ -129,7 +129,7 @@ def simple_invoice():
             form.CountrySubentity('05', 'Antioquia'))
     ))
     inv.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto facho',
         item = form.StandardItem( 9999),
         price = form.Price(form.Amount(100.0), '01', ''),
diff --git a/tests/test_fe_form.py b/tests/test_fe_form.py
index b598ae0..d02f612 100644
--- a/tests/test_fe_form.py
+++ b/tests/test_fe_form.py
@@ -89,7 +89,7 @@ def test_invoice_totals(simple_invoice_without_lines):
     simple_invoice.invoice_supplier.ident = '700085371'
     simple_invoice.invoice_customer.ident = '800199436'
     simple_invoice.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto',
         item = form.StandardItem(9999),
         price = form.Price(form.Amount(1_500_000), '01', ''),
@@ -112,7 +112,7 @@ def test_invoice_cufe(simple_invoice_without_lines):
     simple_invoice.invoice_supplier.ident = form.PartyIdentification('700085371', '5', '31')
     simple_invoice.invoice_customer.ident = form.PartyIdentification('800199436', '5', '31')
     simple_invoice.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto',
         item = form.StandardItem(111),
         price = form.Price(form.Amount(1_500_000), '01', ''),
@@ -177,7 +177,7 @@ def test_credit_note_cude(simple_credit_note_without_lines):
     simple_invoice.invoice_supplier.ident = form.PartyIdentification('900373076', '5', '31')
     simple_invoice.invoice_customer.ident = form.PartyIdentification('8355990', '5', '31')
     simple_invoice.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto',
         item = form.StandardItem(111),
         price = form.Price(form.Amount(5_000), '01', ''),
@@ -212,7 +212,7 @@ def test_debit_note_cude(simple_debit_note_without_lines):
     simple_invoice.invoice_supplier.ident = form.PartyIdentification('900197264', '5', '31')
     simple_invoice.invoice_customer.ident = form.PartyIdentification('10254102', '5', '31')
     simple_invoice.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto',
         item = form.StandardItem(111),
         price = form.Price(form.Amount(30_000), '01', ''),
diff --git a/tests/test_form.py b/tests/test_form.py
index 9d2d970..93d03c4 100644
--- a/tests/test_form.py
+++ b/tests/test_form.py
@@ -16,7 +16,7 @@ from facho import fe
 def test_invoice_legalmonetary():
     inv = form.NationalSalesInvoice()
     inv.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto facho',
         item = form.StandardItem(9999),
         price = form.Price(
@@ -42,7 +42,7 @@ def test_invoice_legalmonetary():
 def test_FAU10():
     inv = form.NationalSalesInvoice()
     inv.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto facho',
         item = form.StandardItem(9999),
         price = form.Price(
@@ -70,7 +70,7 @@ def test_FAU10():
 def test_FAU14():
     inv = form.NationalSalesInvoice()
     inv.add_invoice_line(form.InvoiceLine(
-        quantity = form.Quantity(1),
+        quantity = form.Quantity(1, '94'),
         description = 'producto facho',
         item = form.StandardItem(9999),
         price = form.Price(