You can use the below formula in a workflow after the field change of the trandate to add days to the last day of the trandate.
(new Date((new Date(new Date({trandate}).getFullYear(),new Date({trandate}).getMonth()+1 ,0)).getFullYear(),(new Date(new Date({trandate}).getFullYear(),new Date({trandate}).getMonth()+1 ,0)).getMonth() ,(new Date(new Date({trandate}).getFullYear(),new Date({trandate}).getMonth()+1 ,0)).getDate()+30)).toLocaleDateString()