Here is order of execution in salesforce
The original record is loaded from the database.
System Validation Rules.
Executes all before triggers.
Custom Validation rules.
Executes duplicate rules.
Saves the record to the database, but doesn’t commit yet.
Executes all after triggers.
Executes assignment rules.