We make a pure online POS system www.servicepos.com , and instead of making a million integrations with different shops, we use Zapier.
I was trying to set up an integration in Zapier that updates inventory in Shopify whenever the stock is update in our system.
The thing is, in Shopify's Zapier integration this is only possible for products with a variant?
Why is it not possible for products without a variant?
Because a product object or resource is akin to a base class - it is an object representing common traits of concrete / actual products. These actual products are the product variants. Even a product that has no options defined has a default variant which is why you will always work with variants in a cart, a checkout, an order etc.
Hope this helps!