본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
비개발자의 개발 일지_Episode

시즌2 1편 — 머릿속으로만 그리던 CRM이, 수출 현장에서 진짜가 됐다

by 왕진 2026. 6. 16.
반응형

 

 

Dev Story · 시즌2 1편 — ERP 시대 시작

머릿속으로만 그리던 CRM이,
수출 현장에서 진짜가 됐다

엑셀 악몽에서 벗어나려던 꿈 — 이번엔 진짜 거래가 오가는 곳에서 실현됐습니다

시즌 2가 시작됩니다. 포트폴리오로 낸 CRM 하나로 입사한 회사에서, 저는 수많은 중고차가 해외로 나가는 수출 ERP를 맡게 됐어요. 그리고 신기한 일이 벌어졌습니다. CRM에서 "이렇게 되면 좋겠다"고 생각만 하던 것들이, 여기서 진짜로 돌아가기 시작한 거예요.

시즌 1은 제가 현장의 문제를 풀려고 만든 CRM(고객·영업 관리) 이야기였습니다. 시즌 2는 그 경험으로 입사한 회사에서 만든 수출 ERP — 중고차를 해외로 파는 분야의 실제 운영 시스템 이야기예요. (회사·제품 이름은 가립니다. 다루는 건 '개념'과 '왜 그렇게 했나'입니다.)
1 생각만 하던 게, 진짜로 돌기 시작했다

시즌 1에서 우리가 줄곧 싸웠던 적은 엑셀 지옥과 보고체계의 악몽이었죠. CRM은 그 악몽에서 벗어나려고 제가 그린 청사진이었어요. 그런데 — 그 CRM은 끝내 회사에 도입되지 못했습니다(시즌 1 마지막 이야기). '이렇게 되면 좋겠다'는 생각으로 남았던 거죠.

그 생각이, 수출 ERP에서 진짜로 현장에서 돌기 시작했습니다.

  • 누락 0 — 단계마다 빠뜨리면 안 되는 일을, 시스템이 챙겨주니 빠지지 않아요.
  • 미수금이 한눈에 — 누가 얼마를 아직 안 줬는지, 엑셀 뒤지지 않고 한 화면에서 봅니다.
  • 미친 엑셀자료 추방 — 수기로 끝없이 채워 넣던 거대한 엑셀을, 시스템이 대신해요.
  • 복잡한 계산도 클릭 몇 번 — 손으로 맞추던 계산이, 이제 버튼 몇 번으로 끝납니다.
CRM — 못 써본 청사진

만들었지만 현장엔 도입되지 못한 시스템. "엑셀을 이렇게 없애면 좋겠다"는 생각으로만 남은 설계도.

수출 ERP — 실현된 현장

그 생각이 진짜로 도는 곳. 누락 0 · 미수금 한눈에 · 엑셀 추방 · 클릭 몇 번으로 실무가 돌아갑니다.

시즌 1 마지막에 했던 말 — "필요 없는 경험은 없다." 묻힌 줄 알았던 CRM의 생각이, 수출 ERP에서 그대로 살아났습니다.

2 수출이라는 새 흐름 — 다행히, 낯설지 않았다

다만 이건 그냥 관리 시스템이 아니라 '수출' ERP였어요. 차 한 대가 해외 바이어에게 넘어가기까지, 정해진 흐름을 따라갑니다.

물품 등록 매입 바이어 판매 선적 수출통관 판매문서 공유 거래완료

이 흐름 사이사이에 챙길 게 많았어요. 영업사원별 정산이 걸려 있고, 단계마다 맞는 서류를 제때 내야 하죠. 게다가 물건이 해외로 나가니까, 국내 거래엔 없는 인보이스(Invoice)·패킹리스트(Packing List) 같은 수출 서류가 필요했습니다.

다행이었던 건, 제가 현장에서 국내외 물류를 직접 해본 사람이라는 거였어요. 인보이스가 뭔지, 통관이 어떻게 돌아가는지, 선적 서류가 왜 필요한지 — 이미 몸으로 아는 일이었습니다. 그래서 이 낯선 흐름도 빠르게 이해하고 시스템으로 옮길 수 있었어요. (시즌 1에서 했던 말 그대로, 현장 경험이 또 한 번 자산이 됐습니다.)

3 맨땅은 아니었다 — CRM이 남긴 자산

출발이 수월했던 또 다른 이유는, CRM을 만들며 한 번씩 다 겪어봤다는 것이었어요.

CRM을 만들 때, 저는 쓸만하다고 검증된 구현 방식·디자인 규칙·그리고 "이렇게 하면 터지더라" 하는 함정들을 따로 정리해뒀습니다. ERP를 시작할 때, 그걸 그대로 가져다 썼어요.

  • 화면 뼈대·디자인 — 사이드바, 카드, 색·뱃지 규칙, 모바일 대응. CRM에서 다듬은 걸 거의 그대로 이식.
  • 한 번 데었던 함정들 — 화면이 깨지던 설정, 날짜가 사라지던 버그, 목록 정렬이 꼬이던 패턴… CRM에서 피 흘리며 배운 십수 개를 ERP에선 처음부터 피해 갔어요.
요즘은 AI와 함께 개발하니까, 이런 정리를 'SKILL'로 만들어 둘 수 있어요. "우리 프로젝트는 이렇게 만들고, 이런 함정은 이렇게 피한다"를 문서로 정리해두면, AI 팀이 새 작업을 할 때마다 그걸 참고하게 됩니다. CRM에서 쌓은 SKILL을, ERP에서 다시 꺼내 쓴 셈이죠.
솔직히 말하면, 이 코드들을 제가 한 줄 한 줄 다시 쓴 건 아니에요. 구현은 AI 팀이 했고, 저는 "CRM에서 이건 이렇게 했고 이런 함정이 있었으니 이번에도 챙기자"라고 방향과 의도를 짚는 역할이었습니다. 제 일은 코드 리뷰가 아니라, '내 의도대로 만들어졌는가'를 확인하는 검수였어요.

4 그런데 — CRM엔 없던 숙제 세 개

재사용으로 출발은 수월했지만, 진짜 거래를 다루다 보니 CRM엔 아예 없던 새 숙제 세 개를 만났습니다. 이 셋이 시즌 2의 진짜 주제예요.

  • ① 돈·환율 — 숫자가 '맞기만' 해선 안 된다 (외화·환율·정산)
  • ② 회계 — 한 번 끝난 거래는 못 건드린다 (확정·잠금·증명)
  • ③ 권한 — 승인하는 사람과 실행하는 사람은 달라야 한다 (분리)

하나씩, 왜 이게 어려운 문제인지만 짚어볼게요. (구체적인 사건과 해결은 다음 편들에서 한 편씩 풀어냅니다.)


반응형
5 숙제 ① 돈·환율 — 같은 거래인데, 환율이 자꾸 달라진다

중고차를 수출한다는 건, 한국 돈이 아니라 외화로 판다는 뜻이에요. 그리고 환율은 매일 바뀝니다. 여기서 골치 아픈 일이 생겨요.

바이어에게 "1만 달러에 팔겠다"고 약속한 시점의 환율과, 실제로 돈을 받아 영업사원에게 정산하는 시점의 환율이 서로 다릅니다. 같은 1만 달러인데, 환율이 1,300원이었다가 1,280원이 되면 — 원화로 손에 쥐는 금액이 달라져요. 이 차이를 환차익(또는 환차손)이라고 부릅니다.

더 까다로운 건, 정산이 한 번으로 안 끝난다는 거였어요. 먼저 1차 정산을 합니다. 그런데 말소비·면허비·탁송비 같은 실제 비용은 한 달쯤 지나야 정확한 금액이 나와요. 그래서 한 달 뒤, 그 실비를 반영한 2차 정산을 하고 1차와의 +/- 차액을 기록합니다. 마지막으로 환차익까지 확정해서 더한 뒤, 최종 +/-된 금액을 다음 달로 이월하죠.

즉, 환율과 비용을 한 번 "딱 정해두면 끝"이 아니라, 시점마다 확정되는 실비와 환율 차액을 1차 → 2차 → 환차로 따라가며 정산에 반영해야 했습니다.

이걸 예전엔 거대한 엑셀로 손계산했어요. 그걸 클릭 몇 번으로 끝나게 만드는 게 ERP의 숙제였습니다. (정산·환차·이월이 어떻게 시스템이 됐는지는 다음 편들의 주제예요. 회사의 영업 비밀이라 '모양'까지만 다룹니다.)


6 숙제 ② 회계 — 한 번 끝난 거래는 못 건드린다

시즌 1의 한 편에서, "덮어쓰면 과거가 사라지니, 덮기 직전에 옛 값을 붙잡아 둔다"는 이야기를 했었죠(자동 기록 편). ERP의 회계는 그걸 훨씬 더 엄격하게 끌고 갑니다.

그래서 ERP는 완전히 끝난 거래만 잠급니다. 1차 정산으로 돈이 나가도 곧바로 잠그지 않아요 — 아직 2차 정산(실비 보정)과 환차가 남아 있으니까요. 그래서 그동안은 '정산완료' 상태에서 2차 정산 화면이 열려 있습니다. 그리고 마지막 환차까지 마무리된 뒤에야, 그 시점의 모든 숫자를 사진 찍듯 박제하고 잠가버려요. 그 뒤엔 누가 환율이나 비용을 수정해도, 이미 확정된 회계는 바뀌지 않습니다.

"지금 숫자가 맞다"가 아니라, "그때도 맞았다"를 보여줄 수 있어야 한다.

왜 이렇게까지 할까요? 돈이 걸린 시스템은 언젠가 "이 거래, 그때 정말 이 금액이 맞았어?"라는 질문을 받기 때문이에요. 그때 "지금 다시 계산하면 이래요"는 답이 안 됩니다. "그 순간 이렇게 확정됐고, 그 뒤로 안 건드렸습니다"가 답이 돼야 해요. CRM에선 한 번도 고민할 필요 없던 차원이었습니다.


7 숙제 ③ 권한 — 결국, 책임이 누구에게 있느냐

CRM에서 '권한'은 단순했어요. "이 메뉴를 볼 수 있냐 없냐" 정도였죠.

그런데 돈이 오가는 ERP에선, 권한이 결국 "이 돈을 내보낸 책임이 누구에게 있느냐"의 문제였어요.

한 사람이 "이 돈 지급해도 됨"이라고 승인하고, 그 사람이 직접 "지급 완료"까지 처리하면 — 나중에 문제가 생겨도 그 돈이 누구의 판단으로 나갔는지, 책임이 누구에게 있는지가 흐려집니다.

그래서 두 가지를 만들었어요.

  • 승인과 실행을 갈랐다 — 결정하는 사람과 실행하는 사람을 나눠서, 승인한 결정권자가 그 결정에 책임을 지게요. 한 사람이 혼자 처음부터 끝까지 처리하지 못합니다.
  • 모든 결정·실행을 로그로 남겼다 — 누가, 언제, 무엇을 승인하고 실행했는지가 전부 기록돼요. 그래서 나중에 "이 거래 왜 이렇게 됐지?"라고 물으면, 책임 소재가 분명하게 드러납니다.

불편하라고 만든 게 아니에요. 그 승인 단계와 기록이 곧 책임을 분명히 하는 장치인 거죠. 누구를 의심해서가 아니라, 모두를 보호하기 위해서요. (화면에서 버튼만 숨긴다고 끝이 아니라 요청을 행동마다 다시 확인해야 하는 보안 이야기는, 시즌 2의 보안 편에서 따로 다룹니다.)


8 이번 편의 산출물 — 재사용 vs 새 설계 체크리스트

"엑셀을 없애는 관리 시스템"을 "진짜 거래가 도는 시스템"으로 키울 때, 무엇을 가져다 쓰고 무엇을 새로 설계해야 하는지 — 제가 ERP를 시작할 때 실제로 갈랐던 기준입니다.

☑ CRM → ERP, 무엇을 재사용하고 무엇을 새로 짜나
화면 뼈대·디자인·공통 부품 → 재사용 OK. 검증된 걸 또 짜지 마라
"한 번 데었던 함정 목록"(SKILL) → 최고의 자산. 새 프로젝트에 그대로 들고 가라
돈·환율·외화 → 새로 설계. 시점마다 다른 환율의 차액(환차)을 추적·정산하는가?
확정·잠금(회계) → 새로 설계. 끝까지(환차까지) 마무리된 거래만 잠그고, 그때를 보여줄 수 있는가?
권한·책임 → 새로 설계. 승인과 실행이 갈려 있고, 누가 결정·실행했는지 로그로 남는가?

9 AI가 갈린 지점 / 사람이 결정한 지점

🤝 시즌 2를 열며 — 솔직한 예고

이번 편은 '지도'입니다. 시즌 2 내내 제가 AI 팀과 가장 많이 부딪힌 축이 바로 이 셋 — 돈·회계·권한이었어요. 구체적인 충돌 장면은 다음 편들에서 한 편씩 풀어냅니다.
작게 미리 보는 한 장면: CRM 땐 모든 항목을 "나중에 자유롭게 바꿀 수 있게" 유연하게 만드는 걸 기본으로 삼았어요. 그런데 ERP에선, 잘 안 바뀌는 항목까지 굳이 유연하게 만들면 오히려 복잡해지고 실수가 늘었습니다. "전부 유연하게"가 늘 정답은 아니더라고요. 어디는 유연하게, 어디는 단단하게 — 그 선을 긋는 건 결국 현장을 아는 사람의 판단이었어요.
그래서 시즌 2의 메시지: AI 팀은 "어떻게 만들지"를 잘 압니다. 하지만 "이 회사의 거래는 이렇게 돌아간다, 그러니 여긴 잠가야 한다"는 건 — 코드가 아니라 현장에서 나오는 판단이고, 사람이 책임지는 몫이었습니다.

CRM에서 ERP까지 와서 돌아보니, 제가 하는 일이 뭔지 비로소 분명해졌어요.

저는 코드를 짜는 사람이 아니었습니다. 회사의 업무 프로세스를 설계하고, 줄이고, 간편하게 만들고, 자동화하는 사람 — '업무 프로세스 설계자'였어요. 그 프로세스를 그리는 게 제 몫이고, 구현은 AI 팀이 해냈습니다.

핵심 한 줄 요약 — 시즌 2 시작

실현된 것CRM에서 생각만 하던 '엑셀 탈출'이 수출 ERP에서 진짜로 돔
ERP의 가치누락 0 · 미수금 한눈에 · 엑셀 추방 · 클릭 몇 번
새 흐름물품등록→매입→판매→선적→통관→문서공유→거래완료 (+정산·수출서류)
또 자산국내외 물류 현장 경험 → 수출 흐름을 빠르게 이해
가져온 것CRM의 화면 뼈대·디자인·"데었던 함정 목록"(SKILL) 재사용
새 숙제 셋돈·환율(1차·2차·환차·이월) / 회계(최종 잠금) / 권한·책임(승인≠실행·로그)
내 역할업무 프로세스 설계자 — 설계·축소·간편화·자동화 (구현은 AI 팀)
다음 편카톡과 엑셀, 한 사람의 손으로 굴러가던 회사를 시스템으로

Tags

#ERP #수출ERP #CRM #엑셀자동화 #미수금 #정산 #무역서류 #비개발자 #AI협업 #시스템설계 #웹개발 #티스토리
▼ 티스토리 태그 입력란 복사용
ERP, 수출ERP, CRM, 엑셀자동화, 미수금, 정산, 무역서류, 비개발자, AI협업, 시스템설계, 웹개발, 티스토리
반응형

댓글