서버 없이 무료로 만드는 텔레그램 재고관리 시스템
서버 없이 무료로 만드는 텔레그램 재고관리 시스템
회사에서 재고관리를 하다보면 엑셀로 관리하는 것도 한계가 있고, 그렇다고 비싼 ERP를 도입하기엔 부담스럽죠. 저는 이런 고민 끝에 Google Apps Script와 텔레그램을 연동한 재고관리 시스템을 기획하게 되었습니다.
가장 큰 장점은 서버 비용이 전혀 들지 않는다는 것입니다. 그 과정에서 겪었던 고민과 해결 방법을 공유합니다.
1. 처음 생각했던 방법: Python + 엑셀
처음엔 익숙한 Python으로 구현하려고 했습니다. 텔레그램 봇을 만들고 엑셀 파일을 읽고 쓰는 방식이죠.
- python-telegram-bot 라이브러리로 봇 생성
- openpyxl 또는 pandas로 엑셀 파일 처리
- 명령어로 재고 조회/입고/출고 처리
이 방법의 치명적인 문제점은 Python 스크립트가 계속 실행되고 있어야 한다는 것입니다. PC를 끄거나 프로그램을 종료하면 봇이 작동을 멈춥니다.
2. 서버 운영의 현실적인 문제
그럼 서버를 24시간 가동하면 되지 않냐고요? 하지만 이것도 문제가 있습니다.
| 방법 | 장점 | 단점 |
|---|---|---|
| 회사/집 PC 24시간 가동 | 추가 비용 없음 | 전기세, 소음, 안정성 문제 |
| AWS/Azure 같은 클라우드 | 안정적 | 월 1~3만원 비용 |
| Render/Railway 무료 티어 | 무료 | 15분 미사용시 슬립, 재시작 느림 |
회사에 항상 켜둘 수 있는 PC가 없다면? 그래서 찾은 해결책이 바로 Google Apps Script입니다.
3. Google Apps Script가 정답이었던 이유
Google Apps Script는 구글이 제공하는 무료 클라우드 스크립팅 플랫폼입니다. 쉽게 말해 구글 서버에서 24시간 돌아가는 무료 서버라고 보시면 됩니다.
✅ 핵심 장점
- 완전 무료: 서버 비용 0원, 호스팅 비용 0원
- 24시간 자동 실행: Google 서버에서 돌아가므로 PC 꺼도 작동
- Google Sheets 네이티브 연동: 엑셀보다 더 쉬운 데이터 관리
- 웹앱 생성 가능: 텔레그램 봇 + 웹 대시보드 동시 운영
- 관리 부담 없음: 한 번 설정하면 계속 작동
❌ 단점도 있습니다
- Python 대신 JavaScript 사용 (하지만 어렵지 않음)
- 복잡한 로직에는 제약 있음 (재고관리는 충분)
- 1회 실행시간 최대 6분 제한
4. Google Sheets API 호출 제한은?
무료로 계속 호출해도 괜찮을까 걱정했는데, 일반적인 재고관리 용도로는 전혀 문제없습니다.
- 분당 60회 읽기/쓰기 요청
- 일일 수만 건 수준의 여유로운 할당량
- 직원 10명이 하루 종일 써도 문제없는 수준
자동화 스크립트로 1초에 수십 번씩 호출하지만 않으면 됩니다. 실시간 모니터링처럼 5초마다 자동 조회하는 것만 피하면 OK!
5. 웹 대시보드까지 만들 수 있다고?
여기서 더 놀라운 사실! Google Apps Script로 웹페이지도 만들 수 있습니다.
📊 실시간 재고 현황 대시보드
📝 웹에서 직접 입/출고 입력 폼
📈 재고 변동 그래프 및 차트
🔔 재고 부족 알림 표시
📱 모바일에서도 접근 가능
즉, 이런 구조가 가능합니다:
텔레그램 봇 (모바일에서 간편하게 입출고)
↓
Google Sheets (중앙 데이터 저장소)
↓
웹 대시보드 (PC에서 상세 현황 확인)
HTML, CSS, JavaScript를 사용할 수 있어서 웹개발 경험이 있다면 충분히 멋진 대시보드를 만들 수 있습니다.
6. 전체 구축 순서
그럼 실제로 어떻게 만드는지 단계별로 정리해봤습니다.
📌 1단계: 기본 환경 설정
- Google Sheets 생성
- 재고현황 시트: 품목명 | 현재고 | 단위 | 안전재고 | 최종수정일
- 입출고이력 시트: 일시 | 품목 | 구분 | 수량 | 담당자
- 텔레그램 봇 생성
- @BotFather에게 /newbot 명령어 전송
- 봇 이름과 사용자명 설정
- API 토큰 받기 (꼭 저장!)
- Apps Script 프로젝트 시작
- Google Sheets에서 "확장 프로그램 > Apps Script" 클릭
📌 2단계: Apps Script 코딩
JavaScript로 작성하지만, Python 로직을 변환하는 정도라 어렵지 않습니다.
- doPost(e) 함수로 텔레그램 메시지 수신
- 명령어 파싱 및 분기 처리
- Google Sheets 읽기/쓰기 함수
- 텔레그램 응답 메시지 전송
📌 3단계: 웹앱 배포
- Apps Script에서 "배포 > 새 배포" 클릭
- 유형: 웹앱, 액세스 권한: "누구나"
- 배포 후 웹앱 URL 복사
- 텔레그램에 webhook 등록:
https://api.telegram.org/bot[토큰]/setWebhook?url=[웹앱URL]
📌 4단계: 봇 기능 구현
| 명령어 | 기능 |
|---|---|
/start |
환영 메시지 및 사용법 안내 |
/재고조회 |
전체 재고 현황 표시 |
/입고 품목 수량 |
재고 입고 처리 |
/출고 품목 수량 |
재고 출고 처리 |
📌 5단계: 웹 대시보드 제작 (선택사항)
- Apps Script에서 HTML 파일 생성 (index.html)
- HTML/CSS로 대시보드 UI 작성
- Chart.js 등으로 그래프 추가
- google.script.run으로 시트 데이터 연동
- 웹앱 재배포 후 URL로 접속
7. 예상 소요 시간
- 기본 환경 설정: 30분
- Apps Script 코딩: 2~3시간
- 웹앱 배포 및 연동: 30분
- 봇 기능 구현 및 테스트: 1~2시간
- 웹 대시보드 제작: 3~4시간 (선택)
총 6~9시간 정도면 완성 가능합니다.
8. 마치며
처음엔 Python으로 만들고 서버를 어떻게 운영할까 고민했지만, Google Apps Script라는 완벽한 해결책을 찾았습니다.
💰 서버 비용 완전 무료
🔄 24시간 자동 작동
📊 Google Sheets로 간편한 데이터 관리
🌐 웹 대시보드까지 동시 운영
🛠️ 설정 후 관리 부담 거의 없음
중소기업이나 스타트업에서 비용 부담 없이 실용적인 재고관리 시스템을 구축하고 싶다면 강력 추천합니다!
다음 포스팅에서는 실제 코드와 함께 단계별 구현 과정을 상세하게 다루겠습니다. 🚀
📌 관련 키워드: 텔레그램 봇, 재고관리, Google Apps Script, 무료 서버, 엑셀 자동화, 웹 대시보드, JavaScript, 중소기업 솔루션