본문 바로가기

마이크로 ERP

월간 견적 통계 리포트를 PDF로 자동 저장하고 발송하는 시스템 만들기

매월 견적 이력 데이터를 정리하여 보고서 형태로 전달하는 작업은 정기적으로 반복되며, 특히 팀과 함께 일하거나 외부 파트너와 협업하는 경우에는 문서 형식의 보고서가 필요합니다. 하지만 데이터를 수작업으로 정리하고, PDF로 변환한 뒤 이메일로 첨부해 보내는 과정은 시간이 많이 들고 실수가 발생하기 쉽습니다. ERP 시스템에서는 월간 리포트 자동 발송 기능이 기본적으로 제공되지만, 구글 스프레드시트에서도 앱스 스크립트를 활용하면 동일한 기능을 구현할 수 있습니다. 이 글에서는 월별 견적 통계 데이터를 기반으로 PDF 보고서를 자동으로 생성하고, 드라이브에 저장하거나 이메일로 발송하는 방법을 단계별로 안내드립니다.

월간 견적 통계 리포트를 PDF로 자동 저장하고 발송하는 시스템 만들기

 

리포트 시트 구성

먼저 피벗 테이블 또는 요약 데이터가 정리된 시트를 기반으로 리포트 전용 시트를 구성합니다.
예를 들어, 시트 이름을 월간리포트로 설정하고 다음과 같은 형태로 구성합니다.

항목
리포트 월 2025년 04월
총 견적 건수 14건
총 견적 금액 7,430,000원
주요 고객 김예진, 이성훈
인기 상품 TOP3 머그컵, 텀블러, 스티커팩

 

아래에는 차트 영역을 삽입하여 월별 견적 추이, 고객별 점유율, 상품별 견적 비율 등을 시각화합니다.

이 시트는 가급적 A4 인쇄 기준에 맞춰 간결하게 배치하는 것이 좋으며,
PDF 변환 시 불필요한 여백이나 잘림 현상이 없도록 레이아웃을 조정합니다.

앱스 스크립트로 PDF 자동 생성 및 저장

리포트 시트를 기반으로 PDF를 생성하는 기본 스크립트는 다음과 같습니다.

function generateMonthlyReportPDF() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName("월간리포트");
  const folder = DriveApp.getFolderById("폴더ID"); // 저장할 폴더 ID

  const today = new Date();
  const reportMonth = Utilities.formatDate(today, "GMT+9", "yyyy-MM");
  const pdfName = "견적통계리포트_" + reportMonth + ".pdf";

  const url = "https://docs.google.com/spreadsheets/d/" + ss.getId() + "/export?format=pdf" +
              "&exportFormat=pdf&gid=" + sheet.getSheetId() +
              "&size=A4&portrait=true&fitw=true&sheetnames=false&printtitle=false&pagenum=disable&gridlines=false";

  const options = {
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken()
    }
  };

  const response = UrlFetchApp.fetch(url, options);
  const pdfBlob = response.getBlob().setName(pdfName);
  folder.createFile(pdfBlob);
}

 

이 스크립트를 실행하면 월간 리포트 시트가 A4 PDF 형식으로 변환되어 지정된 폴더에 자동 저장됩니다.

이메일 발송 기능 추가

PDF를 저장하는 것과 동시에, 팀원이나 파트너에게 자동으로 발송되도록 설정할 수 있습니다.

MailApp.sendEmail({
  to: "team@example.com",
  subject: "[월간 보고서] 견적 통계 리포트 - " + reportMonth,
  body: "안녕하세요. 첨부된 문서는 " + reportMonth + "의 견적 통계 리포트입니다.",
  attachments: [pdfBlob]
});

트리거를 활용해 매월 1일 오전 9시에 자동으로 실행되도록 설정하면
완전 자동 보고서 발행 시스템이 완성됩니다.

자동화 확장 팁

  • 이메일 수신자를 배열 형태로 설정하면 여러 명에게 동시에 발송할 수 있습니다
  • PDF 파일을 구글 드라이브에 백업한 후, 링크만 메일로 공유하는 방식도 가능합니다
  • 리포트 시트 내의 날짜나 수치를 스크립트 실행 시점 기준으로 자동 업데이트하도록 하면
    별도 수정 없이도 정확한 보고서가 생성됩니다

예시:

sheet.getRange("B1").setValue("리포트 기준일: " + Utilities.formatDate(today, "GMT+9", "yyyy년 MM월 dd일"));

실전 적용 사례

  • 매달 외주 회계사에게 견적 현황을 공유해야 하는 1인 쇼핑몰 운영자가 자동 리포트 발송 시스템을 구성하여 반복 업무에서 벗어남
  • 프리랜서 디자이너가 각 고객별 견적 데이터를 월 단위로 정리하고 PDF 보고서로 저장하여 세금 정산 시 활용
  • 재고 예측을 위해 월간 견적 추세 데이터를 정기 보고서로 활용하는 소규모 브랜드

결론

견적 데이터를 정리하는 것만으로는 충분하지 않습니다.
그 데이터를 한 눈에 확인할 수 있는 형태로 정리하고,
정기적으로 팀이나 파트너와 공유할 수 있는 자동화된 보고 시스템을 구축해야
업무의 전문성과 효율성을 동시에 갖출 수 있습니다.

이번 글에서 소개한 스프레드시트 기반 월간 리포트 자동 생성 시스템
ERP가 없어도 충분히 강력한 비즈니스 도구가 될 수 있으며,
시간을 아끼고 실수를 줄이며, 꾸준한 데이터 기반 경영을 가능하게 해줍니다.