Google Drive, Gemini와 Make로 영수증 자동 정리 워크플로우 만들기

소개

이 프로젝트는 스타트업 실험실에서 진행한 토요 실습의 일환으로 시작되었어요. 📚 (타이칸님 강의!)

평소에 번거롭게 느껴지던 영수증 정리 작업을 자동화해보고자 했고, 이를 통해 실제 업무에 적용 가능한 자동화 역량을 기르려는 목적도 있었죠.

목표는 간단했습니다:

"영수증 이미지를 Google Drive에 업로드하면, 날짜/항목/금액이 자동으로 추출되어 Google Sheets에 저장되고, 알림까지 오는 흐름 만들기!"


진행 방법

🛠 사용한 도구들

  • Make: 전체 자동화 시나리오 구성 플랫폼

  • Google Drive: 영수증 이미지 업로드 감지 트리거

  • Google Gemini AI: 이미지 인식 및 텍스트 분석 (OCR + 정보 추출)

  • Google Sheets: 정리된 데이터를 저장

  • Apple iOS (Push 알림): 결과 알림 전송

🔄 전체 워크플로우 설명

“Google Drive에 영수증 사진을 업로드하면 → AI가 인식해서 → 날짜, 항목, 금액을 추출 → Google Sheets에 자동 기록 → iOS 알림까지!”

아래는 실제 Make에서 구현한 시나리오입니다. ⬇️

앱 생성 과정을 보여주는 다이어그램

세부 흐름:

  1. Google Drive - Watch Files in a Folder

    • 특정 폴더에 새 파일(영수증 이미지)이 업로드되면 자동으로 감지합니다.

    Google Drive - Download a File

    • 감지된 이미지를 다운로드합니다. 이 파일이 이후 AI에 전달됩니다.

    Google Gemini AI - Upload a File

    • 다운로드한 이미지를 Gemini AI에게 업로드합니다.

    Google Gemini AI - Create a Completion

    • 업로드한 이미지 기반으로 “날짜, 항목, 금액” 정보를 추출하도록 프롬프트 요청을 보냅니다.

    📌 사용한 프롬프트 예시:

    이 영수증 이미지에서 날짜, 항목, 금액을 JSON 배열 형식으로 추출해줘.  
    예: [{"날짜": "2023-09-01", "항목": "점심식사", "금액": 12000}]
    

    JSON - Parse JSON

    • Gemini로부터 받은 텍스트 결과를 JSON 형식으로 파싱합니다.

    Iterator

    • JSON 배열을 반복 처리하기 위해 각 항목으로 분해합니다.

    Google Sheets - Add a Row

    • 각 항목을 Google Sheets의 새로운 행에 추가합니다.
      예: 2023-09-01 | 점심식사 | 12000

    Array Aggregator

    • 전체 데이터를 정리해 하나의 텍스트로 묶습니다.

    • 이 텍스트가 알림 메시지로 사용됩니다.

    Apple iOS - Send a Push Notification

    • 최종적으로 사용자에게 iOS 푸시 알림 전송: 날짜, 항목, 금액


결과와 배운 점

✅ 얻은 인사이트

"왜 Gemini의 응답을 JSON으로 파싱해야 할까?" — 이건 자동화 흐름의 핵심 중 하나예요.

🧠 이유: 자동화에서 데이터를 '쪼개서' 써야 하기 때문입니다.

💬 Gemini 응답은 '텍스트'

Google Gemini는 이미지 분석 결과를 텍스트 문자열(string) 형태로 반환해요.
예를 들어 이런 응답이 온다고 가정해볼게요:

[
  {"날짜": "2023-09-01", "항목": "커피", "금액": 4500},
  {"날짜": "2023-09-02", "항목": "점심식사", "금액": 12000}
]

이건 겉보기엔 JSON처럼 보이지만, 실제로는 그냥 긴 문자열(text)입니다.
따라서 Make에서는 이걸 JSON 형식으로 '파싱(분해)' 해야 다음 단계에서 다룰 수 있어요.

🧩 파싱을 하면 어떤 일이 가능해질까?

JSON → Iterator → Google Sheets 구조에서,

  • Parse JSON: 텍스트를 실제 JSON 객체로 변환

  • Iterator: 배열 안의 각 객체(영수증 항목)를 반복 처리

  • Google Sheets: 각 항목을 시트에 한 줄씩 자동 입력

이렇게 여러 건의 영수증을 하나씩 분해해서 반복 처리하려면
파싱은 필수 과정이에요!

📌 비유하자면...

Gemini가 "엑셀 전체 내용"을 복사해줬다면,
JSON 파싱은 그걸 셀 단위로 나눠서, 시트에 '줄줄이 자동 입력'할 수 있게 해주는 거예요.

⚠️ 시행착오

  • 푸시 알림 설정 오류: iOS 유저인데 Android용 알림 경로를 설정해서 작동 안 됨 😅

  • 모듈 위치 선정 어려움: 특히 JSON → Iterator → Aggregator의 흐름 구성에서 헷갈림이 많았음

마지막 한마디..

  • 답지를 보지 않고, 삽질을 해봐야 메이크는 감이 잡히고 실력이 늘 수 있다는데.... ^^

  • 그래도 시간관계상.. 한번의 성취경험을 목표로 했기에, 타이칸님의 도움을 받아 일단 성공시켜봤다.

  • 삽질을 하면서 스스로 성공시켜보는 그날까지..!

👉 이 게시글도 읽어보세요