Is Gamma distribution appropriate for sales transaction data? I have a sales data for a certain type of grocery products at stores' transaction-level (sales data gathered through cashiers' scanners). As you can imagine, for the most part, the number of units sold per transaction is rather small, which results in this non-normal distribution of sales:

I do have infrequent extremes (not shown here) that go into hundreds of units and (rarely) thousands.
Since the number of units sold is my dependent variable, I seek to find the best data distribution to fit the model. In the absence of normality, OLS is not an option, so I wonder if the use of a count model like Poisson, negative binomial or gamma could be justified here? (I compared the three in Stata, and the Gamma model fits best). 
Any suggestions on the appropriateness of the gamma distribution for the transaction-level sales data? Other options I could consider?
 A: If I were you, I would probably try the Negative Binomial distribution first, which includes the Poisson model as a limiting case. The NB distribution is quite flexible as it has an extra parameter and so it is frequently used to counter overdispersion. By all means give it a try. 
The reason I have excluded the Gamma distribution is that your response is not continuous to begin with. If you are bent on the Gamma model nevertheless, at least compare the AIC values with the NB model. I am not sure what you should be looking for in Stata but usually it is the lower the better. 
A: I wonder if you tried fitting your data with something like a powerlaw distribution ($ax^{-b}$ with both $a$ and $b$ positive) or its discrete equivalent, Zeta or Yule-Simon distribution (thanks Andrey!). The options above worked in my real world case, which appears to be very similar to yours.
If you want to stick with the gamma, then I agree on the usage of the negative binomial rather than the Gamma - the binomial is basically the discrete equivalent of the Gamma distribution. A discrete is indeed more appropriate as you are counting "units" of stuff, thus your variable is an integer. 
