1. A non-transitory computer-readable medium comprising software for monitoring a point of sale (POS) transaction, which software, when executed by a computer system, causes the computer system to perform operations comprising a method of: receiving non video data regarding the point of sale (POS) transaction; processing the received non video POS data to generate POS primitives, the POS primitives being data descriptions of the content of the received non video POS data; receiving video data regarding the corresponding POS transaction; processing the received video data to generate video primitives, the video primitives being data descriptions of the content of the received video data; defining exceptional transaction rules based on at least one predetermined video data event and at least one predetermined non video data event; and inferring an exceptional transaction based on a corresponding exceptional transaction rule and at least one of the generated POS primitives or video primitives.