A system for monitoring fluid dispensers, comprising: at least one fluid dispenser for dispensing chemicals, comprising: at least one sensor (110, 116) configured to sense fluid flow; a dispenser management unit comprising: a processor, and corresponding storage memory configured to store firmware; at least one input for receiving sensor data from the or each sensor; a wireless data transfer device comprising storage memory configured to store said received sensor data; and a power source, independent of mains power, for powering at least said processor; at least one portable terminal comprising a wireless device reader configured to receive the data stored on said wireless data transfer device, and a terminal communications module; and a remote server comprising a server communications module, wherein said remote server is configured to communicate with said terminal via a communications link between said terminal communications module and said server communications module, wherein, said terminal further comprises storage memory configured to store sensor data received from the or each fluid dispenser wireless data transfer device, the terminal being configured to upload said received sensor data upon communicating with said remote server; characterised in that: said processor, in dependence on said received sensor data, is configured to determine at least a number of incorrect operations per day, wherein said wireless data transfer device storage memory is configured to store at least the number of incorrect operations per day, and wherein said processor is configured to compare the number of incorrect operations per day to a threshold value, and output to said wireless data transfer device storage memory a maintenance mode indication upon said number of incorrect operations per day being greater than said threshold. at least one fluid dispenser for dispensing chemicals, comprising: at least one sensor (110, 116) configured to sense fluid flow; a dispenser management unit comprising: a processor, and corresponding storage memory configured to store firmware; at least one input for receiving sensor data from the or each sensor; a wireless data transfer device comprising storage memory configured to store said received sensor data; and a power source, independent of mains power, for powering at least said processor; at least one sensor (110, 116) configured to sense fluid flow; a dispenser management unit comprising: a processor, and corresponding storage memory configured to store firmware; at least one input for receiving sensor data from the or each sensor; a wireless data transfer device comprising storage memory configured to store said received sensor data; and a power source, independent of mains power, for powering at least said processor; a processor, and corresponding storage memory configured to store firmware; at least one input for receiving sensor data from the or each sensor; a wireless data transfer device comprising storage memory configured to store said received sensor data; and a power source, independent of mains power, for powering at least said processor; at least one portable terminal comprising a wireless device reader configured to receive the data stored on said wireless data transfer device, and a terminal communications module; and a remote server comprising a server communications module, wherein said remote server is configured to communicate with said terminal via a communications link between said terminal communications module and said server communications module, wherein, said terminal further comprises storage memory configured to store sensor data received from the or each fluid dispenser wireless data transfer device, the terminal being configured to upload said received sensor data upon communicating with said remote server; characterised in that: said processor, in dependence on said received sensor data, is configured to determine at least a number of incorrect operations per day, wherein said wireless data transfer device storage memory is configured to store at least the number of incorrect operations per day, and wherein said processor is configured to compare the number of incorrect operations per day to a threshold value, and output to said wireless data transfer device storage memory a maintenance mode indication upon said number of incorrect operations per day being greater than said threshold. said processor, in dependence on said received sensor data, is configured to determine at least a number of incorrect operations per day, wherein said wireless data transfer device storage memory is configured to store at least the number of incorrect operations per day, and wherein said processor is configured to compare the number of incorrect operations per day to a threshold value, and output to said wireless data transfer device storage memory a maintenance mode indication upon said number of incorrect operations per day being greater than said threshold.