diff --git a/setup.py b/setup.py
index 094880eaa867ce1d2bbd0813c85cd1bbdea7d8f6..9cbaa5967b022fa3a5b1f798bb19a3d69b4e236b 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
 
 setup(
     name="stripe-checkout",
-    version="0.7",
+    version="0.8",
     author="GEANT",
     author_email="swd@geant.org",
     description="Stripe custom checkout support service",
diff --git a/stripe_checkout/stripe_checkout/visit.py b/stripe_checkout/stripe_checkout/visit.py
index 5538e8ce6375c99dba318879bcc680641c986e3b..d3415829dc9ef4390c7a2546ddaaddcaf39771b8 100644
--- a/stripe_checkout/stripe_checkout/visit.py
+++ b/stripe_checkout/stripe_checkout/visit.py
@@ -88,8 +88,18 @@ class Visitor(dict):
                 return addr
         return {}
 
+    @property
+    def company(self):
+        return self["contact"].get("company", "")
+
+    @company.setter
+    def company(self, value):
+        self["contact"]["company"] = value
+
     @property
     def organization(self):
+        if company := self.company:
+            return company
         for question in self.get("questions", []):
             if question["id"] == VISIT_ORGANIZATION_QUESTION_ID:
                 answers = question["answers"]
diff --git a/test/test_stripe.py b/test/test_stripe.py
index 7f5458aa264762568e7caa5af3dafbc737a8e94f..ed91385a1a028b25374c9076cc53189b54b4e274 100644
--- a/test/test_stripe.py
+++ b/test/test_stripe.py
@@ -62,17 +62,29 @@ def test_adds_organization_to_billing_address(create_visitor, mock_stripe):
     assert full_result["line1"] == "some_organization"
 
 
+def test_adds_company_to_billing_address(create_visitor, mock_stripe):
+    visitor = create_visitor(organization="some_organization")
+    visitor.company = "some_company"
+    stripe.Customer.search.return_value = {"data": []}
+    get_or_create_customer(visitor)
+    assert stripe.Customer.create.call_count == 1
+
+    full_result = stripe.Customer.create.call_args.kwargs["address"]
+    assert full_result["line1"] == "some_company"
+
+
 def test_updates_customer_metadata(create_visitor, mock_stripe):
     stripe.Customer.search.return_value = {
         "data": [{"id": "stripe-cus-id", "metadata": {"key": "value"}}]
     }
-    visitor = create_visitor(organization="some_organization")
+    visitor = create_visitor()
+    visitor.company = "some_company"
     get_or_create_customer(visitor)
     metadata = stripe.Customer.modify.call_args.kwargs["metadata"]
     assert metadata == {
         "key": "value",
         "TNC25": "yes",
-        "organization": "some_organization",
+        "organization": "some_company",
     }