diff --git a/entrypoint.py b/entrypoint.py
index 8f49e57..5a74dc2 100755
--- a/entrypoint.py
+++ b/entrypoint.py
@@ -181,9 +181,14 @@ if __name__ == "__main__":
     for part in parts:
         part_quantity = int(part[quantity_column])
 
+        first_part_number = None
+        prices_found = False
         for part_number_column in part_number_columns:
             part_number = part[part_number_column]
 
+            if first_part_number is None:
+                first_part_number = part_number
+
             prices = prices_for_parts.get(part_number)
             if prices is None:
                 # Prices not found.  Try the next part number.
@@ -205,12 +210,21 @@ if __name__ == "__main__":
                     current_row.append(None)
                     current_row.append(None)
 
+            # We found prices for this part number.  We can stop trying other part numbers.
+            prices_found = True
             rows.append(current_row)
-
-            # We created a row for this part number.  We can stop trying other
-            # part numbers.
             break
 
+        if not prices_found:
+            # No prices found for any part number.  Add a row with the first part number and no
+            # prices.
+            assert first_part_number is not None
+            current_row = [first_part_number, part_quantity]
+            for quantity in quantities:
+                current_row.append(None)
+                current_row.append(None)
+            rows.append(current_row)
+
     with ExitStack() as stack:
         if args.output_file:
             file = stack.enter_context(open(args.output_file, "w"))