Scanning seems the perfect solution.
The bar code number only identifies the bottle. Its just a number. The number is read by the scanner and a database searched for the details associated with that number.
Without such a database, the barcode number printed on a wine label is useless. CT's database contains many of the numbers with their details but it is not exhaustive although it can be updated by users.