여러 회사의 업무를 담은 ERP에서 우리 회사가 쓰는 길을 찾는 일은 복잡할 수 있다. 이 작업의 중심은 기존 메뉴를 모두 복제하는 것이 아니었다. 실제 회사의 업무에 맞춰 필요 없는 기능을 덜고 필요한 기능과 연결을 더하며, 직원은 일을 처리하기 쉽고 대표는 상황을 확인하기 쉽게 만드는 것이었다. 나는 회사가 프로그램에 맞춰 일하는 대신 프로그램이 회사의 일하는 순서를 설명하게 하려 했다.

재고 잔량을 관리하지 않는 직배송 업무는 그 판단이 드러난 한 사례다. 기능을 빼는 결정과 현장별 주문·발주·수령을 더하는 결정이 함께 있었다. 아래에서는 이 구체적인 사례를 통해 맞춤 업무 시스템의 출발점을 설명한다.

직원과 대표는 같은 자료에 다른 질문을 한다

직원에게 중요한 것은 다음에 무엇을 해야 하는지다. 어떤 품목을 어느 공급처에 요청할지, 문서를 보냈는지, 무엇이 덜 도착했는지 이어서 볼 수 있어야 한다. 대표는 같은 자료에서 미처리 업무와 금액, 현장 진행과 확인이 필요한 차이를 먼저 보고 싶을 수 있다. 입력을 별도로 두 번 받기보다 같은 기록을 역할과 질문에 맞춰 다르게 보여 주는 쪽으로 설계를 생각했다.

대표용 화면에서 보기 좋게 합계를 크게 표시하는 것만으로는 충분하지 않다. 매출과 실제 입금, 발주와 실제 매입, 출고와 현장 수령을 구별해야 한다. 미확인 금액을 영으로 숨기지 않고 어떤 기록 때문에 확인이 필요한지 이어서 열 수 있어야 한다. 직관성은 정보를 무조건 줄이는 일이 아니라 필요한 사람이 필요한 판단을 쉽게 하도록 순서와 의미를 정리하는 일이다.

창고가 없다는 말이 설계를 바꿨다

재고 수량을 관리하지 않는다는 답이 기록에 남아 있다. 이후 공급처가 현장으로 직접 보내고, 한 현장에 여러 공급처가 참여한다는 조건도 확인됐다. 이 조건에서는 회사 창고에 입고했다가 출고하는 모양을 억지로 만들면 실제로 일어나지 않은 이동을 기록하게 된다. 화면은 익숙해 보여도 직원은 가상의 입출고를 맞추는 일을 더 해야 한다.

그렇다고 수량을 버릴 수는 없다. 주문한 수량, 공급처에 배정한 수량, 보냈다고 확인한 수량, 현장에서 받은 수량은 각각 필요하다. 내가 나눈 것은 수량의 유무가 아니라 수량의 의미였다. 창고 잔량을 계산하지 않으면서도 무엇이 덜 도착했는지 확인할 수 있도록, 거래를 이행하는 수량을 별도로 연결하는 방식이다.

수량 옆에는 그 값을 바꾸는 사건과 확인하는 사람이 있어야 한다. 출고했다고 들은 값과 실제 도착을 확인한 값을 구분하면, 숫자가 다를 때 누구에게 무엇을 확인할지도 화면에서 이어서 설명할 수 있다.

한 업체 대신 현장을 중심에 놓았다

매출처와 매입처를 하나씩 짝지으면 첫 사례는 단순해진다. 그러나 같은 현장의 다른 품목을 다른 공급처가 보내는 순간 그 관계는 부족해진다. 작업 기록에서도 한 현장에 여러 매입처가 참여한다는 추가 조건이 나왔다. 나는 현장 아래 주문을 두고 주문의 품목별 수량을 공급처에 나누는 구조를 택했다. 배송과 수령은 그 배정에 이어진다.

이렇게 하면 고객에게 보여 줄 판매 문서와 공급처별 요청 문서를 같은 업무에서 준비하면서도 가격과 받는 사람을 분리할 수 있다. 예를 들어 설명용 주문 열 개를 두 공급처에 여섯 개와 네 개로 나누더라도 고객 주문이 스무 개로 늘지는 않는다. 문서가 여러 장 생기는 일과 실제 주문 수량이 늘어나는 일은 다르게 계산해야 한다.

기능을 빼려면 대신 지킬 것이 명확해야 한다

재고 기능을 빼는 결정은 빠르게 만들겠다는 약속만으로 성립하지 않는다. 부분 배송, 반품, 발주 취소, 공급처 변경이 생겼을 때 어떤 기록을 남길지가 함께 있어야 한다. 나는 기능 이름보다 사건을 먼저 적는 편이 낫다고 본다. 요청서를 만들었음, 실제로 전달했음, 출고를 확인했음, 현장에서 수령했음은 같은 상태가 아니다.

만약 회사가 나중에 자체 창고를 운영한다면 지금의 이행 수량을 그대로 재고라고 부르면 안 된다. 보관 장소, 재고 소유, 입출고 시점과 실사 기준을 새로 정해야 한다. 작은 ERP가 확장 가능하려면 처음부터 모든 기능이 있어야 하는 것이 아니라, 현재 기록의 의미가 분명해야 한다. 그래야 다음 기능이 기존 기록을 훼손하지 않고 붙는다.

제작을 맡기기 전에 물어볼 질문

내가 이 자료에서 다시 확인한 기준은 단순하다. 직원이 하루 동안 무엇을 받아서 누구에게 무엇을 보내는지 먼저 그린다. 그 과정에서 다시 쓰는 값과 확인이 필요한 순간을 표시한다. 다음으로 실제로 보관하지 않는 물건, 아직 모르는 금액, 확인되지 않은 도착을 시스템이 임의로 채우지 않게 한다. 이 순서라면 메뉴가 적어도 업무는 깊게 다룰 수 있다.

여기서 설명한 판단은 당시 요청과 설계 문서, 보관된 코드와 검사 기록을 대조해 정리했다. 이번 글을 쓰면서 운영 장부를 열거나 실제 납품을 다시 실행한 것은 아니다. 자신에게 적용할 때는 공급 경로가 바뀌는 사례, 한 주문이 나뉘는 사례, 취소 뒤에 남아야 할 이력을 직접 골라 보자. 그 예외를 설명할 수 있어야 필요한 기능의 범위도 정할 수 있다.