구글 시트로 창고 입출고 자동화하기 — Apps Script 실전 가이드

구글 시트로 창고 입출고 자동화하기 Apps Script 실전 가이드

엑셀은 익숙하지만 동시 편집이 안 되고, WMS는 비용 부담이 크다면 구글 시트가 현실적인 중간 지점이 됩니다. 실시간 공유, 모바일 접속, 자동화 스크립트까지 — 무료로 구현할 수 있는 기능이 생각보다 많습니다.

이 글에서는 창고 입출고 관리에 바로 쓸 수 있는 구글 시트 자동화 구성을 단계별로 안내합니다. Apps Script 경험이 없어도 복사·붙여넣기로 바로 적용할 수 있습니다.

📋 이 글에서 다루는 내용

  1. 구글 시트 재고관리의 장점과 한계
  2. 기본 시트 구조 설계 (3시트 구성)
  3. 입출고 자동 반영 수식 구성
  4. Apps Script로 자동화하기 (실전 코드 포함)
  5. 실전 운영 팁과 주의사항

1. 구글 시트 재고관리의 장점과 한계

구글 시트의 가장 큰 강점은 실시간 동시 편집입니다. 입고 담당자와 출고 담당자가 같은 시트에서 동시에 작업해도 충돌 없이 데이터가 쌓입니다.

2. 기본 시트 구조 설계 — 3시트 구성

📄 시트 1: SKU 마스터

SKU코드 / 품명 / 단위 / 안전재고수량 / 로케이션 / 현재고(자동계산)

📄 시트 2: 입출고 이력

날짜 / 유형(입고·출고·반품) / SKU코드 / 수량 / 담당자 / 비고

📄 시트 3: 일별 재고 스냅샷

날짜 / SKU코드 / 마감재고 (Apps Script 자동 기록)

3. 입출고 자동 반영 수식

=SUMIFS(입출고이력!D:D, 입출고이력!C:C, A2, 입출고이력!B:B, “입고”)
– SUMIFS(입출고이력!D:D, 입출고이력!C:C, A2, 입출고이력!B:B, “출고”)
+ SUMIFS(입출고이력!D:D, 입출고이력!C:C, A2, 입출고이력!B:B, “반품”)

4. Apps Script 자동화

function saveInventorySnapshot() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const master = ss.getSheetByName(‘SKU마스터’);
  const snapshot = ss.getSheetByName(‘일별스냅샷’);
  const today = new Date();
  const data = master.getRange(‘A2:F’ + master.getLastRow()).getValues();
  data.forEach(row => { if (row[0]) snapshot.appendRow([today, row[0], row[5]]); });
}

5. 실전 운영 팁

⚠️ 자주 발생하는 실수

  • SKU마스터 현재고 셀을 직접 수정 → 수식이 깨짐. 시트 보호 필수
  • 입출고이력 행 삭제 시 재고 틀어짐 → 취소 유형 행 추가로 처리

📌 핵심 정리

  • 구글 시트는 팀 동시 접속·무료·모바일이 필요한 소~중형 창고에 최적
  • 3시트 구조(마스터·이력·스냅샷)로 시작하면 확장이 용이
  • SUMIFS 수식 + Apps Script 트리거 조합으로 핵심 자동화 구현 가능
  • 일 출고 300건·SKU 3,000개를 넘으면 전용 SaaS로 전환 검토

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤