바이브코딩으로 재고관리하다가
[질문]
안녕하세요. 인천에서 중소형 식자재 유통 창고 재고관리 담당하고 있는 20대 후반 직원입니다.
저희 창고는 아직도 수기로 재고 관리하고 엑셀로 발주 넣는 곳이라, 제가 일이 너무 많아서... 유튜브 보고 바이브코딩(Cursor + 구글 시트 연동)으로 '입출고/유통기한/자동발주' 관리 프로그램을 직접 만들었습니다.
처음 2달은 너무 편했습니다. 유통기한 임박한 것부터 먼저 출고(FIFO)하라고 AI한테 시켜놨고, 재고 떨어지면 자동으로 거래처에 발주 문자까지 가게 해놨거든요. 사장님도 좋아하셨습니다.
그런데 어제, 저희 거래처인 어린이집이랑 고깃집 두 곳에서 동시에 클레임이 왔습니다.
지금 터진 심각한 문제입니다.
1. 유통기한 로직 오류로 폐기해야 할 식자재가 정상으로 출고됐습니다.
AI가 짜준 코드가 유통기한을 월/일/년 미국식으로 계산하고 있었습니다. 2025.11.08 까지인 소스가 2025.08.11 까지로 인식돼서, 이미 상한 닭고기 40kg이랑 소스류 한 박스가 어제 그대로 출고됐습니다. 어린이집에 간 물건이라... 생각만 해도 손이 떨립니다. 지금 당장 회수하러 가야 하는 상황입니다.
2. 재고 수량이 전부 꼬여서 음수(-)가 떴습니다.
입고는 10개 했는데 출고는 15개 잡히는 식으로 재고가 안 맞습니다. AI가 "동시성 처리" 같은 걸 안 해놔서, 직원 두 명이 동시에 출고 버튼 누르면 숫자가 이상하게 계산되더라고요. 그래서 자동발주도 엉망이 됐습니다. 어떤 품목은 창고에 산더미인데 또 발주가 들어가고, 어떤 건 재고 0인데 발주가 안 나가서 오늘 아침 거래처 3곳에 납품을 못 했습니다.
3. 이력 추적이 하나도 안 됩니다.
누가, 언제, 어떤 식자재를 어디로 보냈는지 로그가 없습니다. 문제가 터지니까 어디서부터 잘못된 건지 추적이 안 됩니다. 사장님이 "이거 식약처에서 HACCP 점검 나오면 바로 영업정지다"라고 하십니다.
이게 제 욕심 때문에 만든 프로그램 때문에 식중독 사고까지 날까 봐 너무 무섭습니다.
현업에 계신 개발자, 물류 전문가님들께 여쭤보고 싶습니다.
지금 당장 이 프로그램 끄고 다시 수기로 돌아가야 할까요?
이렇게 AI가 만든 재고 로직은 원래 실무에서 쓰면 안 되는 건가요?
만약 다시 제대로 만들려면 어떤 부분을 사람이 반드시 검증하고 만들어야 하나요?
거래처 사장님들한테는 일단 어떻게 말씀드려야 할지도 조언 부탁드립니다.
[답변]
안녕하세요. IT전문 컨설턴트 입니다.
작성자님께서 말씀하신 상황을 보면 단순히 프로그램에 버그가 발생한 상황으로 보기에는 어려울 것 같습니다.
특히 상한 닭고기가 실제 어린이집과 거래처에 출고된 상황이라면 프로그램 수정이나 개발방법에 대한 고민보다 현재 출고된 제품에 대한 확인과 회수, 그리고 시스템을 통한 추가 출고를 막는 것이 우선이라고 생각됩니다.
현재 시스템상의 재고와 유통기한 데이터를 그대로 신뢰하기 어려운 상황이라면, 우선 프로그램 사용을 중단하고 실제 창고의 재고와 유통기한을 직접 확인하여 기준 데이터를 다시 잡는 과정이 필요합니다. 자동발주나 문자 발송 등의 기능이 연결되어 있다면 추가적인 발주나 출고가 발생하지 않도록 함께 확인해야 합니다.
이후 현재 사용하고 계신 프로그램을 어떻게 수정할 것인지 검토해야 합니다.
이번 문제를 단순히 "바이브코딩으로 만든 프로그램이라서 문제가 생겼다"라고만 생각하기보다는, 식품 물류 시스템에서 반드시 필요한 데이터 구조와 안전장치가 처음부터 제대로 설계되어 있었는가를 확인해보시는 것이 중요합니다.
물류·재고관리 시스템은 일반적인 홈페이지나 단순 업무관리 프로그램과 달리 실제 제품의 입고와 출고를 직접 관리하기 때문에 작은 데이터 오류가 실제 영업상의 문제로 이어질 수 있습니다.
특히 식품을 취급하는 경우에는 유통기한과 LOT, 입출고 이력, 재고 수량 등이 정확하게 연결되어야 하며 문제가 발생했을 때 어떤 제품이 언제 어디로 출고되었는지 추적할 수 있어야 합니다.
이런 관점에서 현재 시스템을 다시 점검하실 때에는 다음과 같은 부분을 확인해보시는 것을 추천드립니다.
1. 유통기한 및 날짜 관리
물류 시스템에서 날짜 데이터는 단순한 입력값이 아닙니다.
입고일, 제조일, 유통기한 등의 날짜가 서로 다른 형식으로 저장되거나 문자열 형태로 처리될 경우 날짜를 잘못 인식하거나 비교하는 문제가 발생할 수 있습니다.
특히 11/08/2025와 같이 월·일의 순서가 다른 형태를 시스템에서 제대로 구분하지 못한다면 정상 제품과 유통기한이 지난 제품을 잘못 판단할 가능성이 있습니다.
따라서 모든 날짜를 일관된 형식으로 관리하고 데이터베이스에서도 날짜 타입을 적절하게 적용하며, 유통기한이 임박했거나 지난 제품에 대해서는 출고 단계에서 다시 한번 검증할 수 있는 구조가 필요합니다.
2. 재고 정합성 및 동시성 관리
현재 재고가 실제 재고와 다르게 표시되는 문제가 있다면 단순히 수량을 다시 입력하는 것으로 끝내서는 안 됩니다.
여러 직원이 동시에 출고를 처리하는 환경에서는 같은 재고를 동시에 조회하고 각각 수량을 차감하면서 실제 재고와 시스템상의 재고가 달라지는 문제가 발생할 수 있습니다.
따라서 재고를 변경하는 과정에서 트랜잭션 등의 데이터 처리 구조를 적용하고, 출고 가능한 수량을 검증하여 재고가 음수로 내려가거나 동일한 재고가 중복으로 출고되지 않도록 하는 안전장치가 필요합니다.
재고관리 시스템에서 재고 수량의 정합성은 가장 기본적인 부분이기 때문에 이 부분이 제대로 설계되어 있는지 우선적으로 확인해야 합니다.
3. LOT 및 이력관리
물류 시스템에서 현재 재고만큼이나 중요한 것이 입출고 이력입니다.
어떤 제품이 언제 입고되었고, 어떤 LOT에 해당하며, 누가 언제 출고를 처리했고, 어느 거래처로 출고되었는지를 확인할 수 있어야 합니다.
이러한 이력관리가 제대로 되어 있어야 문제가 발생했을 때 해당 제품의 이동 경로를 추적하고 필요한 제품만 선별하여 대응할 수 있습니다.
반대로 현재 재고 수량만 관리되고 과거의 입출고 기록이나 수정 이력이 남지 않는 구조라면 문제가 발생했을 때 원인을 찾는 것 자체가 어려워질 수 있습니다.
4. 업무 프로세스 정의
시스템을 다시 구축한다면 가장 먼저 코딩부터 시작해서는 안 됩니다.
현재 창고에서 실제로 어떤 방식으로 입고하고, 어떻게 보관하며, 어떤 기준으로 출고하고, 문제가 발생했을 때 어떻게 처리하는지를 먼저 정리해야 합니다.
예를 들어 단순한 선입선출인지, 유통기한이 임박한 제품을 우선 출고하는 방식인지, 냉장·냉동 제품을 어떻게 구분하는지, 거래처별로 출고 기준이나 단가가 다른지 등에 따라 시스템의 설계가 달라질 수 있습니다.
이러한 업무 프로세스를 먼저 정의한 이후 그 과정을 시스템에 반영해야 합니다.
5. 시스템의 안전장치 설계
식품 물류 시스템에서는 사람이 실수할 수 있다는 것을 전제로 시스템을 설계해야 합니다.
유통기한이 지난 제품이 출고되지 않도록 차단하고, 유통기한 임박 제품을 별도로 표시하며, 재고보다 많은 수량을 출고할 수 없도록 제한하고, 중요한 재고 데이터를 수정했을 경우 누가 수정했는지 기록이 남도록 하는 등의 안전장치가 필요합니다.
특히 문제가 발생했을 때 단순히 "왜 오류가 발생했는지"를 확인하는 것뿐만 아니라, 같은 문제가 다시 발생하지 않도록 시스템에서 사전에 차단할 수 있어야 합니다.
6. 단계적인 시스템 구축
처음부터 자동발주나 자동문자 등 모든 기능을 넣는 것보다는 가장 중요한 핵심 기능부터 안정적으로 구축하는 것이 좋습니다.
예를 들어
입고 등록 → LOT 및 유통기한 관리 → 출고 시 유통기한 검증 → 재고 관리 → 일일 재고 마감
과 같은 기본적인 물류 프로세스가 정확하게 작동하도록 먼저 구축하고, 이후 자동발주나 문자 알림, 통계 및 리포트 등의 기능을 단계적으로 추가하는 방식입니다.
기능이 많다고 좋은 시스템이 되는 것이 아니라, 실제 현장에서 가장 중요한 업무가 오류 없이 처리되는 것이 우선입니다.
[IT 컨설턴트 생각]
바이브코딩은 아이디어를 빠르게 구현하고 실제 필요한 기능을 확인하는데에는 상당히 유용한 방법입니다.
하지만 실제 제품의 출고와 재고관리를 담당하는 물류 시스템이라면 단순히 화면이 정상적으로 작동하는 것만으로는 충분하지 않습니다.
특히 식품 물류와 같이 유통기한과 LOT, 재고 수량, 입출고 이력 등이 중요한 시스템에서는 개발도구보다 업무 프로세스와 데이터 구조를 어떻게 설계하고, 문제가 발생했을 때 시스템에서 어떻게 차단할 것인지가 더욱 중요합니다.
작성자님께서 지난 2개월 동안 직접 프로그램을 만들어 사용해보신 경험도 결코 실패라고만 볼 필요는 없습니다. 오히려 실제로 운영해보면서 어떤 기능이 필요했고, 어떤 부분에서 문제가 발생했는지를 직접 확인하셨기 때문에 새로운 시스템을 구축할 때 상당히 중요한 요구사항이 될 수 있습니다.
다만 현재처럼 실제 출고와 연결된 데이터에 문제가 발생한 상황이라면 AI를 통해 계속해서 기능을 수정하기보다는, 우선 실제 재고와 시스템 데이터를 대조하고 현재 프로그램의 데이터 구조와 업무 프로세스를 전문적으로 점검해보시는 것을 추천드립니다.
필요하다면 기존 시스템을 전부 폐기하고 처음부터 다시 만드는 것이 아니라, 현재 사용하고 계신 프로그램과 데이터 중 활용할 수 있는 부분을 먼저 진단한 후 핵심적인 물류·재고관리 영역부터 맞춤형으로 재구축하는 방법도 가능합니다.
결국 중요한 것은 바이브코딩을 사용했느냐, 외주 개발을 했느냐가 아니라 실제 업무에서 발생할 수 있는 오류를 사전에 예측하고 이를 시스템에서 차단할 수 있도록 설계했느냐입니다.
IT전문컨설턴트의 다양한 경험을 활용하여 현재 업무 프로세스와 기존 시스템을 먼저 진단하고, 식품 물류에 필요한 데이터 관리와 안전장치를 중심으로 시스템을 설계한다면 불필요한 시행착오를 줄이고 보다 안정적인 물류관리 시스템을 구축할 수 있을 것으로 생각됩니다.







