---
title: "Code Apps で「SaaS 製造」― 買っているシステムを作り直してコストを下げる試算の考え方"
url: "https://www.geekfujiwara.com/tech/powerplatform/9527/"
author: ギークフジワラ
published: "2026-10-26T21:48:09+00:00"
updated: "2026-10-26T23:41:14+00:00"
categories: [Power Platform]
tags: [AI CoE, Code apps, GitHub Copilot, Power Apps, コスト管理, 内製化]
description: "毎年払う SaaS の利用料や委託の保守費を、GitHub Copilot と Power Apps の Code Apps で作ったアプリに置き換える「SaaS 製造」。対象にするシステムの見分け方、インフラと守りを任せられる理由、最近の Web の侵害、Premium を土台にしたコストの試算と KPI の優先順位を、グラフと例で紹介します。"
---

# Code Apps で「SaaS 製造」― 買っているシステムを作り直してコストを下げる試算の考え方

毎年払っている SaaS の利用料や、外部に委託しているシステムの保守費。それを、自分たちで作ったアプリに置き換えて減らす。私はこれを **「SaaS 製造」** と呼んでいます。

ユースケースとインパクトのロングテールでいうと、一番左の「数は少ないけれど、1 件で大きな効果を出せる」領域です。

https://www.geekfujiwara.com/copilot/9491/

この記事では、SaaS 製造をなぜ Power Apps の **Code Apps** でやるのか、そしてコストをどう試算するのかを、グラフと具体的な例で紹介します。

{.point}
- SaaS 製造とは何か、なぜ今できるようになったのか
- 同心円で見る、対象にするシステムとしないシステム
- GitHub Copilot で作ったアプリの「置き場所」の問題と、Code Apps が面倒を見てくれること
- 最近の Web の侵害の例と、Code Apps で小さくなるリスク
- コストの試算の考え方と、4 つのユースケース・CRM での試算例
- KPI の優先順位と、経営に説明するプロトタイプからの始め方

> [!IMPORTANT] 結論
> 4 つの業務アプリを Code Apps で作り直す例では、年間の総費用が **3,700 万円から 1,130 万円**に下がり、3 年で約 **6,800 万円**の効果が出ます。Power Apps Premium は 1 人で何個のアプリを使っても同じ料金なので、==1 つ目のアプリで買ったライセンスが、2 つ目以降のアプリの土台になります。==

## SaaS 製造とは

SaaS 製造は、外から買っているサービスや、外に頼んで作ってもらったシステムを、==社内で作って、社内で持つ==ことです。

たとえば、こんなものが対象になります。

{.check}
- 社内ポータルや、業務の進み具合を管理するサービス（ユーザー数で毎年払っている）
- 問い合わせや依頼の受付システム（保守と小さな改修を外部に委託している）
- 営業日報や商談の管理（SaaS の一部の機能しか使っていない）
- 会議室や備品の予約（Excel とメールの手作業で回している）

> [!NOTE]
> この記事で紹介するユースケースと金額は、考え方を説明するための==例==です。どのシステムが対象になるか、どれだけ下がるかは、会社によって違います。自社の契約と見積もりの数字に置き換えて試算してください。

これまでは「作るのは大変」「作っても保守できない」と、買う・委託するが当たり前でした。それが変わったのは、**GitHub Copilot** で、仕様を伝えればアプリのコードを作れるようになったからです。自社の開発標準に沿って AI に作らせれば、品質もそろえられます。

https://www.geekfujiwara.com/tech/powerplatform/8554/

## どのシステムを対象にするか

社内のシステムを、同心円で 4 つに分けて考えます。SaaS 製造の対象にするのは、==外から 2 つ目の「業務システム」==です。

:::raw
<figure class="geek-chart" style="margin:1.5rem 0">
<svg viewBox="0 0 760 470" role="img" aria-labelledby="c0-title c0-desc" style="width:100%;height:auto;display:block;font-family:inherit">
<title id="c0-title">SaaS 製造の対象になるシステム</title>
<desc id="c0-desc">同心円の中心は基幹系システム、その外は法令対応システムで、どちらも監査の観点から対象外。その外の業務システムが SaaS 製造の対象。一番外側の、システムになっていない個人の生産性は、Cowork に任せるので対象外。</desc>
<circle cx="235" cy="235" r="220" fill="#0d9488" fill-opacity=".10" stroke="#0d9488" stroke-width="1.5" stroke-dasharray="6 5"/>
<circle cx="235" cy="235" r="160" fill="#4f46e5" fill-opacity=".22" stroke="#4f46e5" stroke-width="3"/>
<circle cx="235" cy="235" r="100" fill="#94a3b8" fill-opacity=".35" stroke="#64748b" stroke-width="1.5"/>
<circle cx="235" cy="235" r="50" fill="#64748b" fill-opacity=".55" stroke="#475569" stroke-width="1.5"/>
<text x="235" y="231" text-anchor="middle" font-size="13" font-weight="700" fill="#ffffff">基幹系</text>
<text x="235" y="248" text-anchor="middle" font-size="11" fill="#ffffff">システム</text>
<text x="235" y="160" text-anchor="middle" font-size="13" font-weight="700" fill="#334155">法令対応システム</text>
<text x="235" y="102" text-anchor="middle" font-size="15" font-weight="700" fill="#4f46e5">業務システム</text>
<text x="235" y="40" text-anchor="middle" font-size="13" font-weight="700" fill="#0d9488">システムになっていない仕事</text>
<line x1="285" y1="235" x2="482" y2="235" stroke="#475569" stroke-width="1"/>
<line x1="320" y1="180" x2="482" y2="160" stroke="#475569" stroke-width="1"/>
<line x1="345" y1="120" x2="482" y2="85" stroke="#4f46e5" stroke-width="1.5"/>
<line x1="395" y1="390" x2="482" y2="380" stroke="#0d9488" stroke-width="1"/>
<text x="490" y="230" font-size="13" font-weight="700" fill="currentColor">基幹系システム：対象外</text>
<text x="490" y="248" font-size="11" fill="currentColor">複雑で、監査の対象。会計・給与・固定資産など</text>
<text x="490" y="155" font-size="13" font-weight="700" fill="currentColor">法令対応システム：対象外</text>
<text x="490" y="173" font-size="11" fill="currentColor">監査の対象。法令の届け出・記録の保管など</text>
<text x="490" y="80" font-size="14" font-weight="700" fill="#4f46e5">業務システム：対象！</text>
<text x="490" y="98" font-size="11" fill="currentColor">組織で使う。ポータル・受付・CRM・予約など</text>
<text x="490" y="375" font-size="13" font-weight="700" fill="#0d9488">個人の生産性：対象外</text>
<text x="490" y="393" font-size="11" fill="currentColor">作るのはもったいない。Cowork に任せる</text>
</svg>
</figure>
:::

| 層 | 例 | SaaS 製造 | 理由 |
| --- | --- | --- | --- |
| 基幹系システム（中心） | 会計、給与、固定資産、生産管理 | 対象外 | 複雑で、ほかのシステムとのつながりも多い。監査の対象 |
| 法令対応システム | 法令の届け出、帳簿や記録の保管 | 対象外 | 監査の対象。法令の変更への追随も要る |
| **業務システム** | 社内ポータル、問い合わせの受付、CRM、日報、予約 | **対象** | 組織で使っていて、費用が見えやすい。作り直しやすい |
| システムになっていない仕事（一番外） | 個人の調べもの、資料づくり、メールの整理 | 対象外 | アプリを作るのはもったいない |

一番外の==個人の生産性は、アプリを作らずに、すべて Cowork に任せられます。==また、どの層の仕事でも、作る前に「そもそも Cowork でできないか」を一度確かめましょう。作らずに済むのが、いちばん安上がりです。

https://www.geekfujiwara.com/copilot/9490/

## GitHub Copilot で作れる。では、どこで動かす？

GitHub Copilot を使えば、React などで思いどおりの画面を、短い時間で作れます。ところが、作ったあとに困るのが==「どこで動かすか」==です。

自分でサーバーやクラウドに置くと、アプリの外側にやることがたくさん出てきます。

| 自分で用意するもの | 中身 |
| --- | --- |
| 動かす場所 | サーバーやクラウドのサービスの契約、構築、費用の申請 |
| ログイン | 社員のアカウントでのサインイン、権限の設計 |
| データへの接続 | API のキーやパスワードの保管、接続先ごとの認証 |
| 守り | 脆弱性の修正、WAF、証明書の更新、侵入の監視 |
| 運用 | 監視、バックアップ、障害の対応、本番と開発の分け方 |

多くの会社では、ここで情報システム部門やセキュリティの審査に止められます。==作るのは数日でも、出すまでに数か月==ということも珍しくありません。

## Code Apps は、インフラの面倒を見てくれる

**Code Apps** は、VS Code などでコードで作った Web アプリを、Power Platform の上で動かせる仕組みです[^1]。React や Vue など、好きなフレームワークで作れます。

アプリの外側は、Power Platform が受け持ちます[^1]。

{.check}
- **ログイン**：Microsoft Entra ID のサインインと権限。Power Apps のホストが、使う人の認証とアプリの読み込みを受け持ちます[^2]。
- **データへの接続**：Dataverse や 1,500 以上のコネクタを、JavaScript からそのまま呼べます。接続はプラットフォームが管理するので、アプリに API のキーを持たせません。
- **公開**：`pa app push` で、作ったアプリを環境に公開するだけです[^2]。サーバーを用意しません。
- **管理者のルール**：共有の制限、条件付きアクセス、データ損失防止（DLP）ポリシー、アプリの検疫、テナントの分離が、そのまま効きます[^1]。
- **運用**：アプリの正常性の指標を、Power Platform 管理センターで見られます[^1]。

### 誰が何を受け持つか：オンプレミス・IaaS・Code Apps

クラウドが出てきたころによく見た、「誰がどこまで受け持つか」の比較を、Code Apps で描いてみます。

:::raw
<figure class="geek-chart" style="margin:1.5rem 0">
<svg viewBox="0 0 760 395" role="img" aria-labelledby="m-title m-desc" style="width:100%;height:auto;display:block;font-family:inherit">
<title id="m-title">オンプレミス・IaaS・Code Apps で、誰が何を受け持つか</title>
<desc id="m-desc">オンプレミスはインフラからアプリの運用まで全部が自社。IaaS は設備とサーバーだけがクラウドベンダーで、OS の更新から上は自社。Code Apps はインフラとインフラの保守運用を Microsoft が受け持ち、セキュリティとアプリの運用は Microsoft の基盤の上で自社が設定する共同、自社が持つのはアプリとデータ。</desc>
<text x="289.0" y="44" text-anchor="middle" font-size="14" font-weight="700" fill="currentColor">オンプレミス</text>
<text x="289.0" y="62" text-anchor="middle" font-size="11" fill="currentColor" fill-opacity=".75">自社で全部</text>
<text x="475.0" y="44" text-anchor="middle" font-size="14" font-weight="700" fill="currentColor">IaaS</text>
<text x="475.0" y="62" text-anchor="middle" font-size="11" fill="currentColor" fill-opacity=".75">サーバーを借りる</text>
<text x="661.0" y="44" text-anchor="middle" font-size="16" font-weight="700" fill="#4f46e5">Code Apps</text>
<text x="661.0" y="62" text-anchor="middle" font-size="11" fill="currentColor" fill-opacity=".75">Power Platform（SaaS）</text>
<text x="188" y="94" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">アプリ運用</text>
<text x="188" y="110" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">公開・ホスティング・監視</text>
<rect x="200" y="77" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="102.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="77" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="475.0" y="102.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="572" y="77" width="178" height="40" rx="8" fill="#a5b4fc"/>
<text x="661.0" y="102.0" text-anchor="middle" font-size="12" font-weight="700" fill="#1e1b4b">共同（基盤は Microsoft）</text>
<text x="188" y="140" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">アプリ</text>
<text x="188" y="156" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">画面・ロジック</text>
<rect x="200" y="123" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="148.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="123" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="475.0" y="148.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="572" y="123" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="661.0" y="148.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<text x="188" y="186" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">データ</text>
<text x="188" y="202" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">中身・アクセス権</text>
<rect x="200" y="169" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="194.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="169" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="475.0" y="194.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="572" y="169" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="661.0" y="194.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<text x="188" y="232" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">セキュリティ</text>
<text x="188" y="248" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">認証・DLP・脆弱性の修正</text>
<rect x="200" y="215" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="240.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="215" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="475.0" y="240.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="572" y="215" width="178" height="40" rx="8" fill="#a5b4fc"/>
<text x="661.0" y="240.0" text-anchor="middle" font-size="12" font-weight="700" fill="#1e1b4b">共同（基盤は Microsoft）</text>
<text x="188" y="278" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">インフラ保守運用</text>
<text x="188" y="294" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">OS・ミドルウェアの更新・バックアップ</text>
<rect x="200" y="261" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="286.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="261" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="475.0" y="286.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="572" y="261" width="178" height="40" rx="8" fill="#4f46e5"/>
<text x="661.0" y="286.0" text-anchor="middle" font-size="12" font-weight="700" fill="#ffffff">Microsoft</text>
<text x="188" y="324" text-anchor="end" font-size="13" font-weight="700" fill="currentColor">インフラ</text>
<text x="188" y="340" text-anchor="end" font-size="10" fill="currentColor" fill-opacity=".75">設備・サーバー・ネットワーク</text>
<rect x="200" y="307" width="178" height="40" rx="8" fill="#f59e0b" fill-opacity=".85"/>
<text x="289.0" y="332.0" text-anchor="middle" font-size="12" font-weight="700" fill="#78350f">自社</text>
<rect x="386" y="307" width="178" height="40" rx="8" fill="#4f46e5"/>
<text x="475.0" y="332.0" text-anchor="middle" font-size="12" font-weight="700" fill="#ffffff">クラウドベンダー</text>
<rect x="572" y="307" width="178" height="40" rx="8" fill="#4f46e5"/>
<text x="661.0" y="332.0" text-anchor="middle" font-size="12" font-weight="700" fill="#ffffff">Microsoft</text>
<rect x="568" y="73" width="186" height="278" rx="10" fill="none" stroke="#4f46e5" stroke-width="2.5"/>
<rect x="200" y="366" width="14" height="14" rx="3" fill="#f59e0b" fill-opacity=".85"/><text x="220" y="378" font-size="12" fill="currentColor">自社が受け持つ</text>
<rect x="350" y="366" width="14" height="14" rx="3" fill="#4f46e5"/><text x="370" y="378" font-size="12" fill="currentColor">クラウドベンダー（Microsoft）が受け持つ</text>
<rect x="630" y="366" width="14" height="14" rx="3" fill="#a5b4fc"/><text x="650" y="378" font-size="12" fill="currentColor">共同</text>
</svg>
</figure>
:::

| 観点 | オンプレミス | IaaS | Code Apps |
| --- | --- | --- | --- |
| インフラ（設備・サーバー・ネットワーク） | 自社 | クラウドベンダー | **Microsoft** |
| インフラ保守運用（OS・ミドルウェアの更新・バックアップ） | 自社 | 自社 | **Microsoft** |
| セキュリティ（認証・DLP・脆弱性の修正） | 自社 | 自社 | **共同**：基盤は Microsoft、ポリシーの設定は自社 |
| データ（中身・アクセス権） | 自社 | 自社 | 自社 |
| アプリ（画面・ロジック） | 自社 | 自社 | 自社（GitHub Copilot で作る） |
| アプリ運用（公開・ホスティング・監視） | 自社 | 自社 | **共同**：ホスティングと正常性の指標は Microsoft、公開と利用者の対応は自社 |

IaaS は、サーバーを買わずに済んでも、OS の更新から上はすべて自社です。Code Apps なら、==インフラとその保守運用を、まるごと Microsoft に任せられます。==自社に残るのは、アプリそのものと、データ、そしてポリシーの設定です。保守の委託費や、サーバーの管理の手間が、試算で大きく下がる理由はここにあります。

> [!NOTE]
> どの形でも、==データの中身と、誰が見てよいかを決めるのは自社==です。Code Apps でも、Dataverse のセキュリティ ロールや DLP ポリシーは、自社で決めて設定します。

つまり、==GitHub Copilot で柔軟に作り、置き場所と守りは Power Platform に任せる==という分担です。情報システム部門がすでに管理している Power Platform の環境なので、審査も通しやすくなります。

## 最近の Web の侵害から考える

自分で Web アプリを運用するリスクは、年々大きくなっています。最近の例を 2 つ挙げます。

### サーバーで動く部品の脆弱性（React2Shell）

2025 年 12 月、React Server Components に、認証なしでサーバー上のコードを実行される脆弱性（CVE-2025-55182、通称 React2Shell、CVSS 10.0）が公開されました[^3]。標準的な手順で作った Next.js のアプリが、そのままで攻撃を受ける状態でした。公開の翌日には攻撃のコードが出回り、クラウドの認証情報を盗む動きも確認されています[^3]。

自分でサーバーを運用していると、こうした修正を==公開されたその日に当てる==体制が要ります。

### 開発に使う部品からの侵入（ChainDrop）

2026 年 8 月には、npm の 400 以上のパッケージに、自分で広がるワームが仕込まれました[^4]。インストールするだけで動き、開発者のパソコンや CI から、npm・GitHub・クラウドの認証情報を盗みます。盗んだ権限で、ほかのパッケージにも自分を仕込んで公開し直します[^4]。

### Code Apps で小さくなるリスク、残るリスク

Code Apps は、ブラウザで動く画面（SPA）だけを公開する仕組みです[^2]。==自分で運用するアプリのサーバーがありません。==React2Shell のような、サーバー側で動く部品の脆弱性を、自分で追いかける場面が減ります。データへの接続はプラットフォームが受け持つので、API のキーやパスワードを画面のコードに書かずに済みます。

一方、作るときに npm の部品を使うのは同じです。ChainDrop のような攻撃に備えて、開発の環境は次のように守りましょう。

{.check}
- ロックファイルで部品の版を固定し、公開されたばかりの版はすぐに入れない（npm の `min-release-age` など）[^4]
- 開発用のアカウントと本番の環境を分け、本番への公開は CI からだけにする
- CI の権限とトークンは必要な分だけにする

> [!NOTE]
> Code Apps の画面のファイルは、インターネットから届く場所に置かれ、IP アドレスでは絞れません。場所で制限したいときは、Microsoft Entra ID の条件付きアクセスを使います[^1]。

## コストの試算の考え方

SaaS 製造の効果は、==今の年間の総費用==と、==作り直したあとの年間の総費用==を比べ、そこから==最初にかかる費用==を引いて出します。

| | 入れるもの |
| --- | --- |
| 今の年間の総費用 | SaaS の契約料、保守費、改修費、手作業の人件費（時間 × 社内の単価） |
| 作り直したあとの年間の総費用 | 社内での保守の人件費、監視と対応、Power Apps Premium、GitHub Copilot（ユースケースで割る）、Dataverse の追加の容量 |
| 最初にかかる費用（初期移行費） | 開発の人件費、教育と並行稼働、予備費（開発と教育の 10%） |
| 3 年の純効果 | 年間の削減額 × 3 年 − 初期移行費 |

### 試算の前提

| 項目 | 値 | メモ |
| --- | --- | --- |
| Power Apps Premium | 2,998 円／ユーザー／月 | 公式の価格（税別、年払い相当）[^5]。実際の契約の価格があれば、そちらを使う |
| 社内の人件費の単価 | 5,000 円／時間 | 社内の標準の単価に置き換える |
| 評価の期間 | 3 年 | TCO の評価の期間 |
| 予備費の率 | 10% | 開発・教育・並行稼働にかける |
| GitHub Copilot | 68,400 円／年 | 開発者 2 名 × 19 ドル × 150 円／ドル × 12 か月。4 つのユースケースで割る |

### Premium は「人」に付く。だから 1 つ目のアプリが土台になる

Power Apps Premium は、ユーザーごとのライセンスです。==1 人が何個のアプリを使っても、料金は同じ==です[^5]。

そこで、最初のアプリは**全社で使うもの**を選びます。そこで買った Premium があれば、2 つ目以降のアプリは、まだ持っていない人の分だけ買い足せば済みます。

> [!TIP] 買い足す数の計算
> 新しく買う Premium の数 ＝ 0 と「使う人の数 − すでに Premium を持っている人の数」の大きいほう。重なっている人は、社員番号などの名簿で確かめます。

| 順番 | ユースケース | 使う部門 | 使う人 | すでに Premium | 新しく買う | Premium の年額 |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | 社内ポータル・業務進捗管理 | 複数部門 | 100 | 0 | 100 | 3,597,600 円 |
| 2 | 社内問い合わせ・依頼受付 | コーポレート | 80 | 60 | 20 | 719,520 円 |
| 3 | 営業日報・商談活動管理 | 営業 | 50 | 30 | 20 | 719,520 円 |
| 4 | 会議室・共有備品予約 | 総務 | 120 | 100 | 20 | 719,520 円 |
| 合計 | | | 350 | 190 | 160 | 5,756,160 円 |

4 つのアプリを延べ 350 人が使いますが、買う Premium は 160 です。190 人分は、すでに持っている Premium で追加の費用なしに使えます。

## 試算の例：4 つの業務アプリを作り直す

### ユースケースごとの費用

:::raw
<figure class="geek-chart" style="margin:1.5rem 0">
<svg viewBox="0 0 760 340" role="img" aria-labelledby="c1-title c1-desc" style="width:100%;height:auto;display:block;font-family:inherit">
<title id="c1-title">ユースケースごとの年間の総費用（今と作り直したあと）</title>
<desc id="c1-desc">社内ポータルは 1,100 万円から 579 万円、問い合わせ受付は 1,095 万円から 192 万円、営業日報は 1,060 万円から 214 万円、会議室予約は 445 万円から 146 万円に下がる。</desc>
<rect x="470" y="12" width="14" height="14" fill="#94a3b8"/><text x="490" y="24" font-size="13" fill="currentColor">今の年間の総費用</text>
<rect x="610" y="12" width="14" height="14" fill="#4f46e5"/><text x="630" y="24" font-size="13" fill="currentColor">作り直したあと</text>
<line x1="70" y1="270" x2="740" y2="270" stroke="currentColor" stroke-opacity=".5"/>
<line x1="70" y1="160" x2="740" y2="160" stroke="currentColor" stroke-opacity=".12"/>
<line x1="70" y1="50" x2="740" y2="50" stroke="currentColor" stroke-opacity=".12"/>
<text x="62" y="274" text-anchor="end" font-size="11" fill="currentColor">0</text>
<text x="62" y="164" text-anchor="end" font-size="11" fill="currentColor">550万</text>
<text x="62" y="54" text-anchor="end" font-size="11" fill="currentColor">1,100万</text>
<rect x="128" y="50" width="44" height="220" fill="#94a3b8"/><rect x="178" y="154.3" width="44" height="115.7" fill="#4f46e5"/>
<text x="150" y="44" text-anchor="middle" font-size="11" fill="currentColor">1,100万</text><text x="200" y="148" text-anchor="middle" font-size="11" font-weight="700" fill="#4f46e5">579万</text>
<rect x="288" y="51" width="44" height="219" fill="#94a3b8"/><rect x="338" y="231.7" width="44" height="38.3" fill="#4f46e5"/>
<text x="310" y="45" text-anchor="middle" font-size="11" fill="currentColor">1,095万</text><text x="360" y="225" text-anchor="middle" font-size="11" font-weight="700" fill="#4f46e5">192万</text>
<rect x="448" y="58" width="44" height="212" fill="#94a3b8"/><rect x="498" y="227.3" width="44" height="42.7" fill="#4f46e5"/>
<text x="470" y="52" text-anchor="middle" font-size="11" fill="currentColor">1,060万</text><text x="520" y="221" text-anchor="middle" font-size="11" font-weight="700" fill="#4f46e5">214万</text>
<rect x="608" y="181" width="44" height="89" fill="#94a3b8"/><rect x="658" y="240.9" width="44" height="29.1" fill="#4f46e5"/>
<text x="630" y="175" text-anchor="middle" font-size="11" fill="currentColor">445万</text><text x="680" y="235" text-anchor="middle" font-size="11" font-weight="700" fill="#4f46e5">146万</text>
<text x="175" y="292" text-anchor="middle" font-size="12" fill="currentColor">社内ポータル</text>
<text x="335" y="292" text-anchor="middle" font-size="12" fill="currentColor">問い合わせ受付</text>
<text x="495" y="292" text-anchor="middle" font-size="12" fill="currentColor">営業日報</text>
<text x="655" y="292" text-anchor="middle" font-size="12" fill="currentColor">会議室予約</text>
<text x="405" y="325" text-anchor="middle" font-size="12" fill="currentColor" fill-opacity=".75">年間の総費用（円）</text>
</svg>
</figure>
:::

| ユースケース | 今の年間の総費用 | 作り直したあと | 年間の削減額 | 初期移行費 | 3 年の純効果 |
| --- | --- | --- | --- | --- | --- |
| 社内ポータル・業務進捗管理 | 11,000,000 円 | 5,786,700 円 | 5,213,300 円 | 3,410,000 円 | 12,229,900 円 |
| 社内問い合わせ・依頼受付 | 10,950,000 円 | 1,916,620 円 | 9,033,380 円 | 1,980,000 円 | 25,120,140 円 |
| 営業日報・商談活動管理 | 10,600,000 円 | 2,136,620 円 | 8,463,380 円 | 2,310,000 円 | 23,080,140 円 |
| 会議室・共有備品予約 | 4,450,000 円 | 1,456,620 円 | 2,993,380 円 | 1,155,000 円 | 7,825,140 円 |
| **合計** | **37,000,000 円** | **11,296,560 円** | **25,703,440 円** | **8,855,000 円** | **68,255,320 円** |

1 つ目の社内ポータルは、Premium を 100 人分買うので、作り直したあとの費用がいちばん大きくなります。それでも年 521 万円下がります。2 つ目からは Premium の買い足しが少なく、==削減額が大きくなります。==

:::details ユースケースごとの内訳（クリックで開く）

**今の年間の総費用**

| ユースケース | 契約料 | 保守費 | 改修費 | 手作業（時間／年） | 手作業の人件費 |
| --- | --- | --- | --- | --- | --- |
| 社内ポータル・業務進捗管理 | 4,000,000 円 | 1,200,000 円 | 800,000 円 | 1,000 | 5,000,000 円 |
| 社内問い合わせ・依頼受付 | 2,400,000 円 | 300,000 円 | 250,000 円 | 1,600 | 8,000,000 円 |
| 営業日報・商談活動管理 | 3,600,000 円 | 600,000 円 | 400,000 円 | 1,200 | 6,000,000 円 |
| 会議室・共有備品予約 | 1,200,000 円 | 150,000 円 | 100,000 円 | 600 | 3,000,000 円 |

**作り直したあとの年間の総費用**

| ユースケース | 保守（時間／年） | 保守の人件費 | 監視・対応 | GitHub Copilot | Dataverse | Premium |
| --- | --- | --- | --- | --- | --- | --- |
| 社内ポータル・業務進捗管理 | 360 | 1,800,000 円 | 300,000 円 | 17,100 円 | 72,000 円 | 3,597,600 円 |
| 社内問い合わせ・依頼受付 | 200 | 1,000,000 円 | 180,000 円 | 17,100 円 | 0 円 | 719,520 円 |
| 営業日報・商談活動管理 | 240 | 1,200,000 円 | 200,000 円 | 17,100 円 | 0 円 | 719,520 円 |
| 会議室・共有備品予約 | 120 | 600,000 円 | 120,000 円 | 17,100 円 | 0 円 | 719,520 円 |

**初期移行費**

| ユースケース | 開発（時間） | 開発費 | 教育・並行稼働 | 予備費（10%） | 初期移行費 |
| --- | --- | --- | --- | --- | --- |
| 社内ポータル・業務進捗管理 | 480 | 2,400,000 円 | 700,000 円 | 310,000 円 | 3,410,000 円 |
| 社内問い合わせ・依頼受付 | 280 | 1,400,000 円 | 400,000 円 | 180,000 円 | 1,980,000 円 |
| 営業日報・商談活動管理 | 320 | 1,600,000 円 | 500,000 円 | 210,000 円 | 2,310,000 円 |
| 会議室・共有備品予約 | 160 | 800,000 円 | 250,000 円 | 105,000 円 | 1,155,000 円 |
:::

### 何が減るのか

:::raw
<figure class="geek-chart" style="margin:1.5rem 0">
<svg viewBox="0 0 760 250" role="img" aria-labelledby="c2-title c2-desc" style="width:100%;height:auto;display:block;font-family:inherit">
<title id="c2-title">年間の総費用の内訳（4 つのユースケースの合計）</title>
<desc id="c2-desc">今は契約料 1,120 万円、保守費 225 万円、改修費 155 万円、手作業の人件費 2,200 万円で合計 3,700 万円。作り直したあとは保守の人件費 460 万円、監視と対応 80 万円、Premium 576 万円、GitHub Copilot と Dataverse 14 万円で合計 1,130 万円。</desc>
<text x="10" y="58" font-size="13" font-weight="700" fill="currentColor">今</text>
<rect x="110" y="35" width="181.6" height="36" fill="#64748b"/>
<rect x="291.6" y="35" width="36.5" height="36" fill="#94a3b8"/>
<rect x="328.1" y="35" width="25.1" height="36" fill="#cbd5e1"/>
<rect x="353.2" y="35" width="356.8" height="36" fill="#f59e0b"/>
<text x="200" y="58" text-anchor="middle" font-size="12" fill="#ffffff">契約料 1,120万</text>
<text x="531" y="58" text-anchor="middle" font-size="12" font-weight="700" fill="#1f2937">手作業の人件費 2,200万</text>
<text x="310" y="90" text-anchor="middle" font-size="11" fill="currentColor">保守 225万・改修 155万</text>
<text x="710" y="27" text-anchor="end" font-size="12" font-weight="700" fill="currentColor">3,700万</text>
<text x="10" y="153" font-size="13" font-weight="700" fill="#4f46e5">あと</text>
<rect x="110" y="130" width="74.6" height="36" fill="#7c3aed"/>
<rect x="184.6" y="130" width="13" height="36" fill="#a78bfa"/>
<rect x="197.6" y="130" width="93.3" height="36" fill="#4f46e5"/>
<rect x="290.9" y="130" width="2.3" height="36" fill="#0d9488"/>
<text x="300" y="153" font-size="12" font-weight="700" fill="currentColor">1,130万</text>
<text x="147" y="185" text-anchor="middle" font-size="11" fill="currentColor">保守の人件費 460万</text>
<text x="244" y="200" text-anchor="middle" font-size="11" fill="currentColor">Premium 576万</text>
<text x="110" y="222" font-size="11" fill="currentColor" fill-opacity=".75">ほかに 監視・対応 80万、GitHub Copilot と Dataverse 14万</text>
</svg>
</figure>
:::

いちばん大きいのは、==手作業の人件費（2,200 万円）==と==SaaS の契約料（1,120 万円）==です。アプリにすると、転記や集計、問い合わせの振り分けといった手作業がなくなり、SaaS の契約も止められます。

### 3 年でどう回収するか

:::raw
<figure class="geek-chart" style="margin:1.5rem 0">
<svg viewBox="0 0 760 300" role="img" aria-labelledby="c3-title c3-desc" style="width:100%;height:auto;display:block;font-family:inherit">
<title id="c3-title">累計の効果（初期移行費を引いたあと）</title>
<desc id="c3-desc">最初に 885 万円の初期移行費がかかり、1 年目の終わりで累計 1,685 万円、2 年目で 4,255 万円、3 年目で 6,826 万円になる。</desc>
<line x1="70" y1="230" x2="740" y2="230" stroke="currentColor" stroke-opacity=".5"/>
<text x="62" y="234" text-anchor="end" font-size="11" fill="currentColor">0</text>
<line x1="70" y1="40" x2="740" y2="40" stroke="currentColor" stroke-opacity=".12"/>
<text x="62" y="44" text-anchor="end" font-size="11" fill="currentColor">6,826万</text>
<rect x="120" y="230" width="80" height="24.6" fill="#ef4444" fill-opacity=".8"/>
<text x="160" y="272" text-anchor="middle" font-size="11" font-weight="700" fill="#ef4444">−885万</text>
<rect x="290" y="183.2" width="80" height="46.8" fill="#4f46e5" fill-opacity=".55"/>
<text x="330" y="176" text-anchor="middle" font-size="12" font-weight="700" fill="#4f46e5">1,685万</text>
<rect x="460" y="111.8" width="80" height="118.2" fill="#4f46e5" fill-opacity=".75"/>
<text x="500" y="105" text-anchor="middle" font-size="12" font-weight="700" fill="#4f46e5">4,255万</text>
<rect x="630" y="40.2" width="80" height="189.8" fill="#4f46e5"/>
<text x="670" y="33" text-anchor="middle" font-size="13" font-weight="700" fill="#4f46e5">6,826万</text>
<text x="160" y="290" text-anchor="middle" font-size="12" fill="currentColor">移行のとき</text>
<text x="330" y="250" text-anchor="middle" font-size="12" fill="currentColor">1 年目</text>
<text x="500" y="250" text-anchor="middle" font-size="12" fill="currentColor">2 年目</text>
<text x="670" y="250" text-anchor="middle" font-size="12" fill="currentColor">3 年目</text>
<text x="330" y="80" text-anchor="middle" font-size="12" fill="currentColor" fill-opacity=".8">毎年 2,570万 ずつ増える</text>
</svg>
</figure>
:::

初期移行費 885 万円は、年間の削減額 2,570 万円の約 4 か月分です。==1 年目のうちに回収==でき、3 年で累計 6,826 万円の効果になります。

### 控えめに見ると

この試算は、アプリにすると手作業がすべてなくなる前提です。実際には、確認や例外の対応が残ります。==手作業が半分しか減らない==として計算し直しても、次のとおりです。

| | 前提どおり | 手作業が半分残る |
| --- | --- | --- |
| 年間の削減額 | 25,703,440 円 | 14,703,440 円 |
| 3 年の純効果 | 68,255,320 円 | 35,255,320 円 |

それでも 3 年で 3,500 万円の効果が出ます。経営に出すときは、==両方の数字を並べて==見せると、議論が早く進みます。

## もっと大きな例：CRM を解約して作り直す

もう 1 つ、規模の大きい例です（これも考え方を説明するための例です）。

1 ユーザー月 1 万円の CRM を、1,000 人で使っているとします。払っているのは==月 1,000 万円、年 1 億 2,000 万円==です。

これを Code Apps で作り直すと、Power Apps Premium は 1,000 人分で月 約 300 万円（年 約 3,600 万円）です[^5]。開発と保守の費用を引く前ですが、==月 約 700 万円、年 約 8,400 万円==の差があります。

| | 今（CRM） | 作り直したあと（Code Apps） |
| --- | --- | --- |
| ライセンス | 1 万円 × 1,000 人 × 12 か月 ＝ 1 億 2,000 万円／年 | 2,998 円 × 1,000 人 × 12 か月 ＝ 約 3,600 万円／年 |
| 画面と機能 | 製品に合わせて使う | 自分たちが使いやすいように直し続けられる |
| 開発と保守 | 改修は外部に頼む | 社内で作る（人件費は別に見込む） |

しかも、効果はコストだけではありません。

{.check}
- **使いやすさ**：現場の声に合わせて、画面と機能を自分たちで直し続けられます。
- **内製の技術**：作って保守する力が、社内に残ります。
- **開発の生産性**：開発標準と GitHub Copilot で、2 つ目以降のアプリを速く作れます。
- **人材育成**：作る経験そのものが、社内の人材を育てます。

> [!CAUTION]
> CRM のように多くの人が毎日使うシステムは、データの移行や、ほかのシステムとのつながりの評価が欠かせません。いきなり全部を置き換えず、プロトタイプで確かめてから進めます。

## KPI には優先順位を付ける

効果がたくさんあると、全部を KPI にしたくなります。でも、経営に最初に見せるのは==外注費の削減==です。BS・PL に表れ、議題になるからです。

| 優先 | KPI | 理由 |
| --- | --- | --- |
| **1** | **外注費・SaaS の費用の削減** | お金で示せる。予算と人を確保する根拠になる |
| 2 | 使いやすさ・業務の改善 | 1 で作ったアプリを直し続けて出す |
| 3 | 内製の技術・開発の生産性 | 2 つ目以降のアプリを作る速さで示す |
| 4 | 人材育成 | 作る人が増えたかで示す |

まず 1 で効果を出し、その上に 2〜4 を積みます。この順番を先に決めて、経営に説明しておきましょう。外注費から始める考え方は、こちらの記事にまとめました。

https://www.geekfujiwara.com/ai-coe/9485/

## 経営に説明するためのプロトタイプから始める

いきなり本番のアプリを作る必要はありません。最初にやるのは、==経営に説明するためのプロトタイプ==です。動く画面と試算を並べると、話が一気に具体的になります。

プロトタイプは、**GitHub Copilot を用意して、開発標準から始めます。**最初から標準に沿って作れば、プロトタイプがそのまま本番の土台になります。

https://www.geekfujiwara.com/tech/powerplatform/8554/

{.steps}
1. **外注費の一覧から、候補を選びます。** 同心円の「業務システム」の層で、今の費用が大きく、全社で使うものを選びます。
2. **GitHub Copilot と開発標準を用意します。** 開発用の環境で、標準に沿ってプロトタイプを作ります。
3. **プロトタイプと試算を並べて、経営に説明します。** 外注費の削減額を 1 番目の KPI として示し、副次的な効果は 2 番目以降に置きます。
4. **承認されたら、環境を整えて展開します。** 開発・テスト・本番の環境を分け、DLP ポリシーを決めます。2 つ目以降のアプリは、足りない人の分だけ Premium を買い足します。

> [!TIP] パートナー企業と組むなら
> 環境やガバナンスの準備がまだのうちは、パートナー企業の環境でプロトタイプを作って見せてもらうと、早く始められます。パートナー企業との組み方（FDE か、内製の支援か）は、[こちらの記事](https://www.geekfujiwara.com/ai-coe/9553/)にまとめました。

> [!WARNING] 最初は対象にしないもの
> 同心円の中心の基幹系システム（固定資産・会計・給与など）と、その外の法令対応システムは、最初の展開から分けます。法令、監査、権限、既存のシステムとの連携を、個別に評価してから判断しましょう。

## まとめ

{.check}
- SaaS 製造は、買っている・委託しているシステムを、社内で作って持つことです。GitHub Copilot で作れるようになりました。
- 作ったアプリの置き場所と守りは、Code Apps に任せられます。ログイン、データへの接続、DLP、条件付きアクセスが最初から効きます。
- サーバーを自分で持たないので、React2Shell のようなサーバー側の脆弱性を追いかける場面が減ります。開発で使う npm の部品は、自分たちで守ります。
- Premium は人に付くので、1 つ目は全社で使うアプリにし、2 つ目からは足りない人の分だけ買い足します。
- 対象は同心円の「業務システム」の層です。基幹系と法令対応は外し、個人の生産性は Cowork に任せます。
- 4 つのユースケースの例では、年間 2,570 万円の削減、3 年で約 6,800 万円の効果です（金額は例です）。
- KPI は外注費の削減を 1 番目に置き、使いやすさ・内製の技術・人材育成はその上に積みます。
- 経営に説明するプロトタイプから始めます。GitHub Copilot と開発標準を用意しましょう。

Code Apps のライセンスの考え方は、こちらで確かめられます。

https://www.geekfujiwara.com/tech/powerplatform/1398/

[^1]: [Power Apps code apps overview](https://learn.microsoft.com/power-apps/developer/code-apps/overview)（Microsoft Learn）
[^2]: [Power Apps code apps architecture](https://learn.microsoft.com/power-apps/developer/code-apps/architecture)（Microsoft Learn）
[^3]: [React2Shell (CVE-2025-55182)](https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182)（Wiz）、[CVE-2025-55182](https://www.vulncheck.com/blog/cve-2025-55182-react-nextjs)（VulnCheck）
[^4]: [ChainDrop supply chain compromise: Anatomy of a self-propagating worm](https://www.microsoft.com/en-us/security/blog/2026/08/04/chaindrop-supply-chain-compromise-anatomy-self-propagating-worm/)（Microsoft Security Blog）
[^5]: [Power Apps の価格](https://www.microsoft.com/ja-jp/power-platform/products/power-apps/pricing)（Microsoft）。Premium は 2,998 円／ユーザー／月相当（年払い、税別）で試算。実際の契約の価格を優先してください。
