What is correct, "in-stock" or "on-stock"?

Solution 1:

The correct phrase is in stock. No hyphen.

Solution 2:

It should be

Do we have products in stock?

where in stock functions as an adjective. If products are not in stock (available), then they are out of stock. When these adjectives precede the nouns they modify, they are compounded as in-stock and out-of-stock:

  • How many candles do we have in stock?
  • How many in-stock items have expired?
  • The online store displays mostly out-of-stock merchandise.

Note that there also exists the phrase, on the stocks, which means in progress/in the making:

  • Plans to introduce better products are on the stocks.