What is the minimum amount of data required for sales prediction with ML
As @Ethan said there is no general answer to this question. There are multiple perspectives that you need to take in consideration.


Amount of the data: The general tendency is more data will lead to better results.
Variability of the data: A very important aspect is the variability of your data. If you have millions of data points that have almost the same input and output values it is empirically equivalent to a situation in which you only have one single data point.
The timescale of data acquisition: The variability will strongly depend on the relevant timescale of the problem that you are trying to solve. If you are looking at products (e.g. tickets for public transportation) that are sold at a very high frequency the data acquisition rate should be shorter (short/fast time scale). If your data acquisition rate is too small your model will not be able to detect relevant changes e.g. tickets sales during the day. If you are looking at products (e.g. car sales) then your data acquisition rate should be longer (long/slow time scale). In the second case, I would still use the fastest possible data acquisition rate, because we can always reduce the given data. Note, that the data acquisition rate is linked to the variability of the data.
Diversity of the data conditions: This is related to the variability of the data. But the focus here is on the conditions under which your data was collected. For example, imagine a situation in which we have some time series measurements of machines in a production plant during summer. If we know that the process is heavily dependent on the temperature we must also get measurements during spring, autumn, and winter in order to increase the diversity of our data set. 


As the data problem is more involved it is difficult to give concrete numbers but the following rules of thumb can be applied. These must always be considered with the previous points.


In statistics, we often have the lower bound for samples to be $30$. This implies that you should never have less than $30$ observations.
For estimating parameters it is often advised to have $50$ (worst case) or better more than $200$ observations for each parameter that you want to estimate. For example, if you need to estimate $5$ parameters that would imply $250$ observations for the worst case and more than $1000$.