Update Custom field on Estimate when accepted

Update Custom field on Estimate when accepted

We would like to perform a field update on Estimates when the estimate is either marked accepted or Declined. We initially looked in workflow rules but these do not seem to be triggered based on a document status change.  Would this be something we would need a custom function to achieve? If so what would that script look like?