Odd upsert issue

Hello,
I’m trying to modify some data in my collection.
For example I have a trip to client A, with distance of 8 KM.
I add the trip to collection Trips and I add statistics (Trip, client, date, car etc) to Stats collection.
Now when I remove the Trip all I need it to do is perform a negative inc of 8 to previous entry

My Upsert function

addStat: function(userId, year, month, type, dist, car, client, over, cost){
if(!Meteor.userId()){
  throw new Meteor.Error('No access: You are not logged in.');
}
if (!Roles.userIsInRole(Meteor.userId(), 'admin')) {
userId = Meteor.userId();
}

Stats.upsert({userId, year, month, type, car, client}, {$inc: {cost, dist, over}});

},

My remove function

delWorkover: function(elementId){
var over =  Math.abs(parseFloat(Overtime.findOne({"_id" : {$eq: elementId}}).workover))*-1;

var userId = Overtime.findOne({"_id" : {$eq: elementId}}).userId;
var year =  Math.abs(parseFloat(Overtime.findOne({"_id" : {$eq: elementId}}).year));
var month =  Math.abs(parseFloat(Overtime.findOne({"_id" : {$eq: elementId}}).month));
var type = 2;
var car = Overtime.findOne({"_id" : {$eq: elementId}}).carNum;
var client = Overtime.findOne({"_id" : {$eq: elementId}}).client;
var cost =  Math.abs(parseFloat(Overtime.findOne({"_id" : {$eq: elementId}}).cost))*-1;
var dist =  Math.abs(parseFloat(Overtime.findOne({"_id" : {$eq: elementId}}).dist))*-1;

console.log(userId, year, month, type, dist, car, client, over, cost);
Meteor.call('addStat', userId, year, month, type, dist, car.toString(), client.toString(), over, cost);



Overtime.remove(elementId);
},

Outcome from attempting to del one and only entry is me ending up with 2 entries, one of them having very odd values.
2017-07-28_1207