📦 Sophia의 물류 노트

← 목록 · 2026-07-31

🚚

도크·야드 예약 시스템, 구글 시트로 어디까지 가능할까

창고나 물류 현장에서 하루 70~90건씩 트럭이 들고 나는 규모라면, 엑셀·전화·메신저로만 도크 예약을 관리하기가 금방 한계에 옵니다. 누가 언제 오고, 어느 도어를 쓸지, 야드에 어느 트레일러가 어디 서 있는지 실시간으로 보이지 않으면 지연·중복·헛대기가 반복되죠. 이때 많이 거론되는 것이 상용 도크·야드 관리 솔루션입니다. 다만 라이선스 비용이나 도입 절차 때문에, “우리도 비슷한 걸 구글 스프레드시트랑 앱스 스크립트로 구현해서 써보면 안 될까?”라는 고민을 현장에서 실제로 많이 합니다.

실제로 한 물류 현장에서 스프레드시트 기반 예약 시스템을 상용 솔루션 구조에 가깝게 확장해 본 적이 있습니다. 기본은 구글 시트 하나에 예약 요청(APPT_REQUEST)을 모으고, 코드로 상단 메뉴를 만들어 예약 생성·수정·도어 자동 배정까지 처리했습니다. 여기에 DOCK_DOORS, YARD_SLOTS, TRAILER_MOVES 같은 설정·이력 시트를 추가해, 도크 도어 30개 이상, 일 최대 90건 수준까지 돌아가도록 설계했죠. 핵심은 “예약-체크인-야드 대기-도어 작업-출차” 전체 흐름을 상태값으로 관리하면서, 그때그때 필요한 화면만 HTML UI로 띄워주는 방식입니다. 사무실에서는 대시보드 화면으로 오늘 일정과 지연 건을 한눈에 보고, 운전자는 간단한 체크인 화면에서 차량 번호와 예약번호를 입력하면, 시스템이 위치·시간을 체크해 상태를 자동으로 바꿉니다.

구현하면서 느낀 건, 상용 솔루션과 ‘기능 1:1 복제’는 애초에 목표가 아니어야 한다는 점입니다. 상용 제품이 제공하는 복잡한 최적화나 다수 고객사 연동은 구글 앱스 스크립트 한 프로젝트로 재현하기 어렵습니다. 대신, 이미 쓰고 있는 스프레드시트 구조를 유지하면서 상위 20% 기능만 잘 챙기자는 식으로 접근하면 현실적으로 쓸 만한 시스템이 나옵니다. 예를 들어, 도크 도어·야드 슬롯 정보를 별도 시트에서 관리하고, 예약 시점에 간단한 규칙(장비 타입, 시간대, 우선순위)에 따라 자동 배정되게 만드는 것만으로도 전화·단순 확인 작업이 크게 줄었습니다. 또, 상태값을 몇 단계(예약, 도착, 야드대기, 도어상차, 완료, 출차)로만 정의해 두면, 복잡한 화면 없이도 필터·피벗으로 운영 상황을 금방 볼 수 있습니다.

실무에서 이런 자가 구축형 시스템을 쓸 때 중요한 포인트는 몇 가지가 있습니다. 첫째, 구글 앱스 스크립트의 파일명과 코드에서 부르는 이름은 대소문자까지 정확히 맞춰야 합니다. 실제 현장에서도 파일 이름을 camelCase로 쓰지 않아 화면이 안 뜨는 일이 반복됐습니다. 둘째, appsscript.json 같은 매니페스트 파일은 일반 코드 파일이 아니라는 점을 이해해야 합니다. 코드 파일로 잘못 만들어서 오류가 나는 경우가 자주 있었고, 이 부분만 잡아도 배포 오류가 많이 줄어듭니다. 셋째, 초기에는 기능을 최대한 단순하게 가져가는 게 좋습니다. 예약·도어 배정·야드 현황 세 가지만 안정적으로 돌아가도, 전화·메신저 중심 운영에서 오는 혼선을 크게 줄일 수 있습니다.

결국 상용 솔루션급의 완성도를 기대하기보다는, 우리 현장의 운영 흐름을 구글 시트와 간단한 웹 UI로 “눈에 보이게” 만드는 데 초점을 두는 것이 현실적인 접근입니다. 상용 시스템을 바로 도입하기 부담스러운 규모라면, 스프레드시트 기반 프로토타입을 먼저 돌려보며 우리에게 진짜 필요한 기능이 무엇인지 정리해 보는 것도 좋은 방법입니다. 그렇게 쌓인 경험은 나중에 상용 시스템을 도입하더라도, 요구사항을 명확히 정의하는 데 큰 도움이 됩니다.