Mysql trigger to update if date match and insert if no match all BEFORE INSERT
"if the incoming date matches with existing date, it should update the table and add incoming value to existing value else it should just insert" -- You have just specified what INSERT ... ON DUPLICATE KEY UPDATE ... does.  Use that.

this trigger works but how to include the ON DUPLICATE KEY UPDATE 
giving me tough time and dosent work out

DELIMITER $$
CREATE TRIGGER inc_trig 
    BEFORE INSERT ON income_
FOR EACH ROW
BEGIN
    DECLARE fees,bus,uniform,c_uniform,sp_wear,pullover,car INT;

    SET fees=1; SET bus=2; SET uniform=3; SET c_uniform=4;
    SET sp_wear=5; SET pullover=6; SET car=7;

    IF NEW.income_name_ = fees THEN
    INSERT INTO income_summary_monthly
            (date_, fees_, month_, term_, schid_)
        VALUES
            (new.date_, new.amount_, new.month_, new.term_, new.schid_)
        ON DUPLICATE KEY UPDATE
            amount_ = VALUES(amount_);

// Or do you want
//          amount_ = amount_ + VALUES(amount_) ??

    ELSEIF NEW.income_name_ = bus THEN
    ...        
    END IF;

END  $$
DELIMITER ;


I am a bit lost since the original code does not look much like this version.