buen día, tengo una BD de mysql sencilla pero el procedimiento un poco dificil 

, el caso es que tengo 2 tablas:   
TABLA1 
Código:
 CREATE TABLE `contratos` (
  `idcontrato` varchar(20) NOT NULL,
  `valorcontrato` mediumint(40) NOT NULL,
  PRIMARY KEY (`idcontrato`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
  
Código:
 
CREATE TABLE `facturas` (
  `numfactura` varchar(15) NOT NULL,
  `valorfactura` mediumint(30) NOT NULL,
  `idcontrato` varchar(20) NOT NULL,
  `valorcontrato` mediumint(40) NOT NULL,
  `saldo` int(25) NOT NULL,
  PRIMARY KEY (`numfactura`),
  KEY `idcontrato` (`idcontrato`),
  CONSTRAINT `facturas_ibfk_1` FOREIGN KEY (`idcontrato`) REFERENCES `contratos` (`idcontrato`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
  lo que quiero es que en la tabla factura me queden todos los pagos hechos a un contrato, es decir que si por ejemplo en tengo un contrato por 5000 en la tabla facturas me vaya descontando, el problema es que como primera instancia el va a tomar el valor del contrato - el valor de la factura paga, pero en segunda instancia el ya no va a tomar el valor del contrato si no el valor de el total de la factura en que quedo el contrato.¿Cómo puedo hacer esto?