Abstract: A machine implemented method for extracting information from a receipt, the method constituted of: receiving an image of the receipt; identifying a first text portion within the receipt image which represents a product name abbreviation; abbreviating, in accordance with an abbreviation rule, one of the identified first text portion and a plurality of product names stored on a database, each associated with a product identifier; determining a plurality of candidate product identifiers responsive to the abbreviation; for each of a plurality of predetermined features, assigning a value to each of the identified candidate product identifiers; responsive to the assigned values, assigning a candidate score to each of the identified candidate product identifiers; responsive to the assigned candidate scores and a predetermined scoring rule, selecting one candidate product identifier, which is represented by the identified first text portion; and outputting the selected candidate product identifier.