In Settings > Sales, the onchange_timesheet ensure that if you check timesheet, it checks module_account_analytic_analysis.
Therefore, if module_account_analytic_analysis is installed, timesheet should be checked by default
Until now, it worked "luckily", because the onchange_timesheet of the field module_account_analytic_analysis was triggered before the onchange_timesheet of the timesheet field. Nevertheless, we shouldn't trust the onchange calls order.
except ValueError:
# keep default value in that case
_logger.warning("Product with xml_id 'product.product_product_consultant' not found")
+ res['timesheet'] = res.get('module_account_analytic_analysis')
return res
def _get_default_time_unit(self, cr, uid, context=None):