# [비개발자 자동화 노트] 삭제 버튼이 성공이라고 말할 때, AI와 먼저 확인한 것
ERP나 홈서버 자동화를 만지다 보면 제일 무서운 말이 있습니다. “성공했습니다.”
말만 들으면 안심해야 하는데, 김부장 입장에서는 오히려 더 불안할 때가 있습니다. 화면에서는 성공이라고 뜨는데, 실제 데이터가 반대편 시스템에도 똑같이 반영됐는지는 또 다른 문제이기 때문입니다.

이번 작업은 업무용 ERP의 창고이전 흐름을 점검한 기록입니다. 웹에서 새 전표를 만들면 내부적으로 출고 전표와 입고 전표가 생기고, 그것이 오래된 PC ERP 쪽으로도 역동기화되어야 했습니다. 여기까지는 어느 정도 정상으로 보였습니다. 문제는 그다음이었습니다. 웹에서 삭제했는데, 반대편 전표까지 제대로 지워졌는지가 애매했습니다.
- 처음 막힌 지점: 정동기화와 역동기화를 헷갈리기 쉬웠다
처음에는 “PC ERP에서 웹으로 들어오는 정동기화가 안 되는 것 아닌가?”라고 봤습니다. 비개발자인 저는 동기화라는 말이 나오면 일단 한 덩어리로 생각하기 쉽습니다.
그런데 AI와 로그를 같이 보니 방향이 둘이었습니다.
– PC ERP에서 웹으로 들어오는 정동기화
– 웹에서 PC ERP로 보내는 역동기화
확인 결과 정동기화 자체는 최근 전표가 웹 쪽 테이블에 들어온 흔적이 있었습니다. 즉 “전체 동기화가 죽었다”가 아니라, 삭제를 되돌려 보내는 과정에서 추적 정보가 끊기는 문제에 가까웠습니다.
2. 두 번째 막힘: 삭제 큐가 성공처럼 끝나고 있었다
진짜 문제는 삭제 큐였습니다. 웹 전표를 먼저 지운 뒤에는, 반대편 PC ERP 전표번호를 찾기 어려워졌습니다. 그런데 기존 로직은 이 상황을 명확한 실패로 남기지 않고 성공처럼 지나갈 수 있었습니다.
김부장 식으로 풀면 이렇습니다.
“택배 송장번호를 잃어버렸는데도 배송 완료라고 처리한 셈”입니다.
AI는 이 부분을 보고 “매핑이 없으면 성공 처리하지 말고 재시도 또는 실패로 남겨야 한다”고 정리했습니다. 저는 여기서 자동화의 중요한 원칙 하나를 배웠습니다. 자동화는 조용히 실패하면 안 됩니다. 실패할 때는 티가 나야 다음에 사람이 확인할 수 있습니다.
3. 세 번째 막힘: 재고가 두 번 반영될 가능성
점검 중에 다른 문제도 나왔습니다. 창고이전 생성 로직에서 이미 데이터베이스 함수가 출고와 입고 재고를 한 번에 갱신하고 있었는데, 화면 서비스 쪽에서 같은 수량을 한 번 더 반영하는 흐름이 있었습니다.
이건 그냥 보기에는 잘 모릅니다. 버튼을 눌렀을 때 화면이 멀쩡하면 지나치기 쉽습니다. 하지만 재고 시스템에서는 “한 번 더”가 치명적입니다. 출고는 두 번 빠지고, 입고는 두 번 늘어날 수 있기 때문입니다.
AI는 이 부분을 “원자적으로 처리하는 함수가 이미 있다면, 바깥 서비스에서 중복 upsert를 하면 안 된다”는 식으로 설명했습니다. 개발자 말로는 어려운데, 김부장 식으로는 간단합니다.
“이미 계산원이 결제했는데, 옆 직원이 한 번 더 카드 긁는 구조는 없애야 한다.”
※ 해결 방향: 번호를 남기고, 없으면 실패로 남기기
이번 수정의 핵심은 두 가지였습니다.
첫째, 웹에서 PC ERP로 역동기화가 성공했을 때 반대편 전표번호를 큐에 남기도록 했습니다. 나중에 웹 전표가 먼저 삭제되어도, 큐에 남은 번호로 반대편 전표를 찾아 지울 수 있게 한 것입니다.
둘째, 매핑을 못 찾으면 성공 처리하지 않도록 바꿨습니다. 이건 아주 중요했습니다. 자동화에서는 “못 찾았다”와 “처리했다”가 절대 같은 말이 아니기 때문입니다.
추가로 창고이전 생성 시 재고를 중복 반영할 수 있는 서비스 쪽 로직도 제거했습니다. 검증은 문법검사와 대상 파일 린트로 확인했고, 전체 타입검사는 기존에 있던 다른 오류 때문에 실패한 것으로 분리했습니다.
★ 비개발자 김부장이 배운 점
이번 작업에서 제일 크게 배운 것은 “성공 메시지를 믿기 전에 성공의 기준을 확인해야 한다”는 점입니다.
버튼 클릭이 성공인지, 웹 테이블 저장이 성공인지, 반대편 레거시 시스템까지 반영된 것이 성공인지, 삭제 큐가 실제 전표번호를 찾아 지운 것이 성공인지가 모두 다릅니다.
비개발자 입장에서는 이런 구분이 처음엔 어렵습니다. 하지만 AI와 같이 로그를 읽고, 방향을 나누고, 번호가 어디에서 사라지는지 따라가면 원인을 좁힐 수 있었습니다. 코드를 다 외우지 않아도 “무엇을 확인해야 하는지”는 배울 수 있었습니다.
다음 편에서는 이런 업무 자동화에서 배포 전후로 무엇을 확인해야 마음이 덜 불안한지, 김부장식 체크리스트로 정리해보려고 합니다.