국내에서는 김진원(金晉源)이라고 불렀고, 중국망명 후 김갑(金甲)이라 하였다. 부산 출신.
부산 동명학교(東明學校: 동래고등학교의 전신)를 졸업하였다.
서울에서 부기학교를 다니다가 1919년 3·1운동을 맞아 함양·산청 등지의 항일투쟁 연락책임을 띠고 활동하였다. 그러던 중 헌병보 김영호·장두철이 이를 감지하고 체포하려 하자 북경으로 망명하였다.
1919년 대한민국임시정부 교통위원, 의정원의원을 지냈으며, 1923년에는 국민대표회의에 참여하여 정신(鄭信) 등과 함께 대표자격심사위원에 당선되기도 하였다.
1924년 법무차관, 곧 이어 법무총장 대리, 노동총판(勞動總辦)을 역임하였다. 1926년 국무령 김구(金九)를 중심으로 한 지도체제의 내각에 참여하였다.
1927년 임시정부가 국무령지도체제를 국무위원 중심의 집단지도체제로 개헌하는 약헌기초위원회(約憲起草委員會) 위원이 되어 개헌작업을 하였다.
같은 해 8월 이동녕(李東寧)·김구·오영선(吳永善)·김철(金澈) 등과 함께 국무위원으로 선출되어 재무장으로서 활동하였다. 또, 1929년 이동녕·조소앙(趙素昻)·조완구(趙琬九)·옥성빈(玉成彬)·김구·김철 등과 한국독립당을 조직하였다.
1986년 건국훈장 독립장이 추서되었다.