Where does the saying “to have the goods on one” come from and What does it mean?

The expression “to have the goods on one” means: To catch one with the goods, or, that is to say, to have evidence or proof of one’s guilt; to catch one red-handed.

“Goods” in such usage refers to merchandise of any sort, whatever article a thief may purloin.

The American expression dates from about the turn of the present century.