Google Apps Script × Misocaで納品書を自動作成する実務向けガイド
Google Apps Script × Misocaで納品書を自動作成する実務向けガイドPDF請求書→CSV→スプレッドシート→帳票発行までの業務ワークフロー

請求・納品関連の事務作業は、帳票そのものの作成よりも「情報の転記」「ファイルの探索」「作成状況の把握」「差し戻し対応」に時間が取られやすい領域です。PDFで届いた請求書を見ながら手入力し、作った帳票の状態を人が目視で追う運用は、少量なら回りますが、件数が増えるほど時間的工数が増える上、ミスの発生が増えます。
一方で、生成AIと業務ツールの組み合わせは「帳票を速く作る」だけでなく、入力→整形→発行→完了管理までを一つの流れとして固定化しやすくしています。結果として、属人化しやすい転記工程を減らし、後から見返せる履歴を残し、例外処理(差し戻し・未確定・不備)も運用に組み込めます。
この記事では、Misoca(弥生株式会社のクラウド見積・納品・請求書サービス)とGoogle Apps Script(GAS)を中心に、次の到達点を目指します。
- PDF請求書を起点に、納品書の作成までを自動化する
- スプレッドシートを“作業台兼ステータス管理”として標準化する
- 人がやるのは例外対応と最終確認に寄せる
Misocaは見積書・納品書・請求書などの作成・送付・管理をクラウドで行えるサービスです。
目次
TL;DR(先に要点)
- PDFで届く請求書は「人が読む前提」のため、まずCSV化して構造データに変換する
- 変換後のCSVはスプレッドシートへ取り込み、行=1取引で管理し、ステータス列で進捗を可視化する
- GASはスプレッドシートの行を読み、Misoca APIにPOSTして納品書を自動作成する(成功時にスプレッドシート側のDone更新)
- 例外(読み取り不確実・取引先未登録・税区分不一致など)は、自動化対象から外して手動キューに積む
- 併用した場合の全体像:PDF→AIでCSV→Sheetsで検収・整形→GASでMisoca発行→Sheetsで完了管理の循環にする
各ツール/機能の解説
1. Misoca(納品書作成の“発行先”を統一する)
【課題】
- 納品書の作成場所が人や部署で分散し、テンプレ・番号・税区分が揺れる
- 帳票発行の完了がメール/チャット頼りになり、後追い確認に時間がかかる
- 転記の二重入力(シート→帳票ツール)が発生しやすい
【解決】
- 帳票作成・管理をMisocaに寄せ、GASからMisoca APIを呼び出して納品書作成を自動化する
- API連携により「発行の成否」を機械的に扱えるため、スプレッドシート側のDone更新まで含めて一連化できる
- Misoca API v3では納品書作成のエンドポイントが提供されている

【導入ポイント】
- アプリケーション登録・認証情報の管理(クライアントID/シークレット等)をチームの運用資産として保管し、個人管理にしない
- 「取引先」「品目」「税区分」「端数処理」など、Misoca側のマスタ設計が未整備だと自動作成が不安定になるため、最初に“表記ゆれが出る項目”を決めて固定化する
- まずは「納品書あるいは請求書だけ」にスコープを絞り、後で他項目へ拡張する(帳票種が増えるほど例外も増える)
【使いどころ】
仕入れ・外注など、月次で同型の取引が繰り返される業務
帳票の発行後に「ステータス管理」や「送付管理」が必要なチーム運用
2. 生成AI(PDF請求書を“行データ”へ変換する)
【課題】
- PDF請求書はレイアウトが相手先ごとに異なり、コピー&ペーストが崩れる
- 品目・数量・単価・税の内訳など、表構造が崩れると転記ミスが増える
- 人が読む工程がボトルネックになり、処理量が増えるほど遅延する
【解決】
- PDFを一度CSV(構造化データ)にし、以降は「行」を処理単位にすることで、転記工程を減らす
- 不確実な箇所(読取信頼度が低い、複数税率、値引き、内税/外税混在など)は、自動化から除外してレビュー対象に回す設計にする
【導入ポイント】
- 生成AIは“ゼロミスのOCR”として扱わず、検収しやすい出力仕様を先に決める(例:必須列・数値形式・税区分の表現)
- CSVの列定義(例:取引先名、請求書番号、発行日、品目、数量、単価、税区分、金額、摘要)を固定し、プロンプトや変換処理はその定義に合わせて標準化する
- 機密情報を含むPDFを扱うため、利用するAIの提供形態(社内ポリシー、学習利用の有無、保管期間)を確認し、**“投入してよいデータ範囲”**を運用ルール化する
【使いどころ】
相手先のフォーマットが複数あり、手作業の転記コストが高い業務
月次の処理量が増えるほど「人手で読む工程」がボトルネックになるチーム
3. Googleスプレッドシート(作業台+ステータス管理の“単一の真実”)
【課題】
- どの請求書が処理済みかが分からず、二重処理や取りこぼしが起きる
- 証跡が分散(メール、PDF、チャット、ローカルメモ)し、監査・引継ぎが弱い
- 自動化しても例外対応の置き場がないと、結局人が混乱する
【解決】
- CSVをインポートして「1行=1取引(または1請求書)」の形にし、処理ステータス列で進捗を統一する
- 「入力済」「要確認」「Misoca作成中」「Done」「Error」などに分類し、例外は“見える化したまま止める”
【導入ポイント】
- 列設計を最初に固定する(後から列を増減するとGAS側の参照が壊れやすい)
- ステータス更新は人手編集を減らし、GASが書き戻す列を決めて保護(編集権限・保護範囲)
- 原本PDFのリンク(Drive URL等)を行に持たせ、いつでも追跡できるようにする
【使いどころ】
チームで運用し、引継ぎや監査対応も意識したいケース
“帳票作成”だけでなく、月次締め・支払管理など周辺業務とつなげたいケース
4. Google Apps Script(GAS)(連携の自動実行・書き戻し・再実行を担う)
【課題】
- API連携が属人化すると、エラー時に止まったまま復旧できない
- 手動実行だと「実行忘れ」「同じ行を二回流す」など運用事故が起きる
- 認証・ログ・リトライがないと、安定運用が難しい
【解決】
- Sheetsの行データを読み、Misoca APIへリクエストし、結果をSheetsへ書き戻すことで、自動実行と完了管理を一体化できる
- UrlFetchAppで外部APIを叩き、OAuth2が必要な場合はライブラリ活用で実装できる
【導入ポイント】
- 冪等性(同じ行を二回処理しない):行ID(ユニークキー)・Misoca側の作成結果IDを保存し、二重作成を防ぐ
- エラー設計:HTTPエラー、認証切れ、必須項目欠落、取引先未登録などを「Error理由」列に分類して書き戻す
- トリガー運用:時間主導(例:毎時)/イベント主導(例:インポート完了フラグ)を決め、再実行手順も手順書化する
- 権限と秘密情報:トークンやシークレットはプロパティに保存し、閲覧権限を最小化する(担当交代を前提に管理)
【使いどころ】
“スプレッドシートを業務ハブ”にして、外部SaaSと連携したいケース
実行ログ・リトライ・ステータス更新を含めて、運用を標準化したいケース
実務ワークフローへの組み込み例

以下は、単体機能ではなく「循環」として定着させるための組み込み例です。
- 受領(PDF集約)
- 仕入れ先からPDF請求書が届く
- PDFは保管場所を統一し、スプレッドシートの行に「原本リンク」を必ず持たせる(後追いの探索時間を削る)
- 探索→構造化(生成AIでCSV化)
- PDFを生成AIでCSVへ変換
- 変換時点で「必須列が埋まらない」「税区分が不明」などの行は 要確認 に振り分ける(自動化ラインに入れない)
- 整形(Sheetsへインポート+検収)
- CSVをSheetsへインポート
- チームの検収ルール(例:金額一致、取引先名の表記揺れ、品目コードの付与)に沿って整える
- ここで「自動作成してよい行」だけを Ready にする(チェック済の意味を持たせる)
- 実行(GAS→Misocaで納品書作成)
- GASがReady行を取得し、Misoca APIへ納品書作成をリクエスト
- 成功:Misocaの帳票IDやURLを行に記録し、ステータスを Done
- 失敗:エラー理由を記録し Error(担当者が例外処理)
- 再編集(例外処理→再投入)
- Error行は原因別に対応(マスタ不足、税区分、品目の変換失敗など)
- 修正後はReadyに戻して再実行(再実行手順を固定化して属人化を防ぐ)
この形にすると、業務の中心は「帳票を作る」ではなく、例外を潰して標準入力に寄せる改善活動になります。結果として、件数が増えても破綻しにくい運用に寄ります。
よくある質問(FAQ)
Q1. 導入難易度は高いか
A. “動かすだけ”なら高くない一方、定着には「列設計」「ステータス設計」「例外の扱い」「再実行手順」の整備が必要です。まずは納品書の一部取引先・一部月次だけを対象にして、例外パターンを洗い出してから拡張すると崩れにくいです。
Q2. セキュリティ/権限はどう考えるべきか
A. 機密PDFを扱うため、(1) PDF保管場所の権限、(2) AIに投入してよい情報範囲、(3) GASが保持する認証情報の管理、を分けて設計します。特にGASの実行権限とスプレッドシート編集権限が広いと、運用上のリスクが増えます。
Q3. 企業利用時の注意点は
A. 監査・内部統制の観点では「誰がいつ何を確定し、いつ自動発行されたか」が追えることが重要です。Sheetsのステータス列・ログ列・原本リンクをセットで残し、例外処理の履歴も残せる形にすると説明が容易になります。
まとめ
MisocaやGASを導入する目的は「帳票を速く作る」ことではなく、PDF起点の転記作業を“標準データ”に寄せ、発行と完了管理までを一続きの業務フローにすることです。
この設計にすると、作業は「入力」から「検収と例外処理」へ移り、ミスが起きやすい箇所を工程として隔離できます。
進め方は、個人運用→小チーム→標準化が崩れにくいです。
最初から全社最適を狙わず、対象範囲を絞って例外パターンを集め、列設計とステータス設計を固めてから拡張すると、定着しやすくなります。
弊社では、生成AI導入初期フェーズのガイドライン策定や運用戦略、組織的業務効率化のAIソリューションパートナーとしてAI活用支援を行っております。
まずはじめに何をすればいいのか、業務にしっかり組み込んで運用するにはどうしたらいいか?などお悩みの際にはお気軽にお問い合わせください。
\お気軽にお問い合わせください。初回相談は無料で承っております。/

