Hi @David_Torrejon 

Doesn't you example code perform SCD Type 1 rather than Type 2?

whenMatchedUpdate() updates an existing record.

whenNotMatchedInsert() inserts new records.

whenNotMatchedBySourceUpdate() updates records not available in the source

In SCD Type 2, when an old record is updated, a corresponding new row needs to be inserted with is_current as 'true'. Where is this happening?