炀帝大业末年，察孝廉，为谒者台散从员外郎。王世充废黜皇泰主杨侗，为郑国皇帝，以张行成为度支尚书。621年，王世充被唐朝击灭后，张行成以隋朝的资历补宋州（今河南省商丘市）谷熟县尉。应制举乙科，改陈仓县尉。吏部侍郎张锐向唐高祖推荐，高祖授张行成雍州富平县主簿，有能干的名声。任职期满，补殿中侍御史。弹劾不避权戚，唐太宗对宰相房玄龄说：“古今用人没有不通过别人介绍，而行成是朕自己发现的。”唐太宗在宴会上，提到山东（陕州以东）人、关中人时，常常有所区别。说：“天子四海为家，没有东西之别。如果有，将会被人看作偏狭。