# Grant-Stack Eligibility Optimizer (`boundedtools/grant-stack-eligibility-optimizer`) Actor

日本の中小企業向け補助金について、併用・経費重複・支払順序・入金時期を公式根拠付きで判定します。

- **URL**: https://apify.com/boundedtools/grant-stack-eligibility-optimizer.md
- **Developed by:** [Sean](https://apify.com/boundedtools) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$12.70 / private project analysis

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Grant-Stack Eligibility Optimizer

> **「この設備投資で、補助金Aと補助金Bは併用できる？ 同じ経費を二重計上していない？ 支払いと入金の順番は？」**

1件の `business_project.json` から、対応する日本の中小企業向け補助制度について、制度別の適合可能性、併用マトリクス、経費の二重計上、契約・支払順序、立替資金の見込みを返す Apify Actor です。重要な結論には、ルールID、公式文書、版、SHA-256、節・ページ、短い正規化ルールが付きます。

これは補助金の検索エンジンではありません。候補制度が決まっている1つの具体的な事業を分析する道具です。

### 対応制度と版

2026年9月7日に、次の公式PDFを目視確認し、PDF全文と公式日程ページのSHA-256を固定しました。

| programId | 対応版 | 状態 |
|---|---|---|
| `shoryokuka_ippan_08` | 中小企業省力化投資補助金 一般型・第8回、2026-08-18版 | 公募日程の詳細公表待ち |
| `monodukuri_23` | ものづくり補助金 第23次・製品/サービス高付加価値化枠、2026-02-06版 | 新規申請締切済み。既存申請の検証用 |
| `digital_ai_2026_normal` | デジタル化・AI導入補助金2026 通常枠、2026-08-28改訂版 | 確認済み第5次締切 2026-09-29 17:00 |
| `digital_ai_2026_invoice` | デジタル化・AI導入補助金2026 インボイス枠（インボイス対応類型）、2026-08-28改訂版 | 確認済み第5次締切 2026-09-29 17:00 |

対応外の `programId` は推測せず `unsupported` を返します。地方自治体制度、持続化補助金、事業承継・M\&A補助金、新事業進出補助金などは現在未対応です。

公式資料:

- [省力化投資補助金 一般型・第8回公募要領](https://shoryokuka.smrj.go.jp/assets/pdf/application_guidelines_ippan_08.pdf)
- [省力化投資補助金 一般型スケジュール](https://shoryokuka.smrj.go.jp/ippan/schedule/)
- [ものづくり補助金 第23次公募要領](https://portal.monodukuri-hojo.jp/common/bunsho/ippan/23th/%E5%85%AC%E5%8B%9F%E8%A6%81%E9%A0%98_23%E6%AC%A1%E7%B7%A0%E5%88%87_20260206.pdf)
- [デジタル化・AI導入補助金2026 通常枠 公募要領](https://it-shien.smrj.go.jp/pdf/it2026_koubo_tsujyo.pdf)
- [デジタル化・AI導入補助金2026 インボイス対応類型 公募要領](https://it-shien.smrj.go.jp/pdf/it2026_koubo_invoice.pdf)
- [デジタル化・AI導入補助金2026 事業スケジュール](https://it-shien.smrj.go.jp/schedule)

### どんな人向けか

- 日本の中小企業・小規模事業者
- 補助金支援者、会計・行政支援者
- 顧客の設備導入を支援する販売会社・施工会社

入力は1事業だけです。会社名、法人番号、担当者名、住所、メール、電話番号は不要です。

### できること

- 対応制度ごとの `applicable` / `not_applicable` / `unknown` / `unsupported`
- `compatible` / `incompatible` / `conditionally_compatible` / `unknown` / `unsupported` の制度ペア判定
- 同一経費行を2制度以上に割り当てた二重計上の検出
- 3制度以上にまたがる同一経費の多制度衝突検出
- 経費区分の制度別マッピング
- 交付決定前の契約、支払順序、事業期間外支払の検出
- 後払いを前提とした税抜概算補助額と一時的な必要資金のタイムライン
- 公式ルール、決定論的解釈、案件計算、不確実性の分離
- 実行時の固定済み公式PDF・日程ページ再取得とSHA-256照合

二重計上候補が残る制度、または公式ソースを検証できない制度では、補助額・入金額を `null` にしてキャッシュ表へ足しません。

### しないこと

- 全補助金の検索・推薦
- 採択可能性の予測、申請書作成、電子申請、行政判断の代行
- 未対応制度や曖昧な条文の断定
- 利用者指定URL・PDFの取得
- ログイン、申請ポータル操作、個人・法人データ収集
- 公式PDF全文の再配布

### 入力

Storeの初期値は `freeExample: true` です。合成サンプルが無料で動き、`businessProject` は処理されません。

無料合成サンプルは、次の入力だけで実行できます。

```json
{
  "freeExample": true
}
```

非公開事業を分析する場合は、`freeExample` を `false` にして `businessProject` を入力します。

```json
{
  "freeExample": false,
  "businessProject": {
    "schemaVersion": "1.0",
    "analysisDate": "2026-09-07",
    "title": "設備導入と請求業務DX",
    "prefecture": "埼玉県",
    "applicant": {
      "entityType": "corporation",
      "industry": "manufacturing_other",
      "employeeCount": 18,
      "capitalYen": 10000000,
      "headOfficeInJapan": true,
      "projectSiteInJapan": true
    },
    "purposeCodes": ["labor_saving", "operational_digitization"],
    "facts": {
      "gBizIdPrime": true,
      "securityActionDeclared": true,
      "minimumWageCompliant": true,
      "laborShortage": "unknown",
      "productivityPlanPrepared": true,
      "wagePlanPrepared": true,
      "customOrIntegratedEquipment": "unknown"
    },
    "startDate": "2026-11-10",
    "endDate": "2027-04-30",
    "costLines": [
      {
        "id": "cloud",
        "description": "登録済み生産計画クラウド",
        "category": "cloud_service",
        "amountYenExcludingTax": 900000,
        "workstreamId": "production-dx",
        "plannedContractDate": "2026-11-12",
        "plannedPaymentDate": "2026-12-20",
        "officialItToolRegistered": true,
        "invoiceFunctions": [],
        "sameCostClaimedElsewhere": false,
        "otherFundingProgramIds": []
      }
    ],
    "programApplications": [
      {
        "programId": "digital_ai_2026_normal",
        "status": "considering",
        "applicationDate": "2026-09-20",
        "projectScopeId": "production-dx",
        "costLineIds": ["cloud"],
        "itBusinessProcessCount": 1,
        "expectedGrantDecisionDate": "2026-11-09",
        "expectedReimbursementDate": null
      }
    ]
  }
}
```

日付は `YYYY-MM-DD`、金額は税抜円です。事実が不明なら、対応する三値フィールドに必ず文字列 `"unknown"` を入れてください。日付の見込みがない場合は `null` とします。`itBusinessProcessCount` は通常枠へ申請する登録ITツールが保有する対象業務プロセス数です（通常枠以外は `0`、不明なら `"unknown"`）。

### 判定の意味

| 値 | 意味 |
|---|---|
| `compatible` | 現在エンコード済みの公開ルールでは併用可能。個別制度の適合と経費分離も確認済み |
| `incompatible` | 同一経費、同一事業、期限、または個別適合性に明確な衝突あり |
| `conditionally_compatible` | 経費・事業は分離されているが、制度間併用を公式文書が明示承認していない。事務局確認が必要 |
| `unknown` | 必要事実、適用版、または最新公式文書の確認が不足。`compatible` には繰り上げない |
| `unsupported` | MVP対応外。解釈を生成しない |

### 出力

1件の完全なJSONレポートを既定DatasetとKey-value storeの `OUTPUT` に保存します。主要フィールドは次の通りです。

```json
{
  "analysisId": "gso_0950cf53fea98645c25b7525",
  "programResults": [
    { "programId": "digital_ai_2026_normal", "eligibilityStatus": "applicable" }
  ],
  "pairwiseCompatibility": [
    {
      "programA": "digital_ai_2026_normal",
      "programB": "digital_ai_2026_invoice",
      "status": "compatible",
      "evidence": [{ "ruleId": "ITN-MULTI-001", "sourceId": "SRC-IT-NORMAL-2026", "page": "23-24" }]
    }
  ],
  "cashFlowSchedule": {
    "temporaryCashRequirementYen": 7700000,
    "calculationCompleteness": "partial_conflicted_or_unverified_grants"
  }
}
```

実際の出力には、制度版、経費マッピング、重複・時期衝突、順序、補助額概算、missing facts、ambiguities、warnings、文書ハッシュを含みます。

### キャッシュタイミング

公式ルールに沿って「交付決定後に契約」「請求後に支払」「支払・実績報告後に額確定」「原則後払い」を表示します。`expectedGrantDecisionDate` と `expectedReimbursementDate` は利用者の計画値です。公式日程として扱いません。日付が不足すると、Actorは日付を作らず `partial_missing_dates` とします。未検証ソースまたは未解消の重複申請がある補助金は入金額を `null` にし、`partial_conflicted_or_unverified_grants` として過大な入金見込みを防ぎます。

### API利用

Apify APIトークンを環境変数 `APIFY_TOKEN` に設定し、次のActor IDをそのまま使用できます。

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/boundedtools~grant-stack-eligibility-optimizer/runs?token=$APIFY_TOKEN" \
  -H 'content-type: application/json' \
  --data-binary @input.json
```

結果はRunの既定Dataset、またはKey-value storeの `OUTPUT` から取得できます。

### 料金

- 無料合成サンプル: **$0.00**（`freeExample: true`）。有料イベントは発生しません。
- 非公開事業分析: 正常に完了したRun 1件につき **$12.70 USD**（`freeExample: false`）。
- 失敗または入力不正の非公開Run: **$0.00**。有料イベントは発生しません。

このActorはPay per event方式です。有料イベントは `project-analysis` で、利用者が確認できる結果を既定DatasetとKey-value storeの `OUTPUT` に正常に保存した後、1 Runにつき最大1回だけ発生します。上記価格にはApifyプラットフォーム利用料が含まれ、別途プラットフォーム利用料はかかりません。外部チェックアウトや別のSaaS契約は不要です。

入力検証に失敗したRun、対応ルール版が1件もないRun、必要な公式ソースを検証できないRun、または内部エラーで結果を保存できないRunでは、有料イベントを発生させません。公式ソースを検証できない場合は、安全側の `unknown` レポートを返します。

### プライバシーと保持

- ログには事業名、経費説明、金額、法人情報を出しません。件数、実行種別、分析ID、警告件数のみです。
- Apify入力スキーマでは `businessProject` をsecret入力にし、プラットフォーム保存時の暗号化対象にします。
- 出力は利用者自身のRunストレージに1レポートとして保存されます。Actor独自の長期DBや外部分析基盤には送信しません。
- アカウントID、会社名、担当者、連絡先を収集しません。
- 原文書は実行中に最大5MiBまで検証し、保存・再配布しません。
- 保持期間はApifyの利用者側Runストレージ設定に従います。不要なRun/Datasetは利用者が削除できます。

### ルール鮮度

有料・無料とも、使用する公式PDFと公式日程ページを実行時に固定URLから取得し、登録SHA-256と照合します。URLと媒体型はコード内の許可リストだけを使用し、リダイレクト、非HTTPS、想定外の媒体型、5MiB超を拒否します。

ハッシュ不一致、取得不能、適用日の版不足があれば、関係する制度とペアは安全側の `unknown` になります。古いルールで自信のある回答を継続しません。

### 制限と免責

本Actorは公開情報の決定論的整理と案件計算です。行政機関の公式見解、法務・税務・行政書士業務、採択保証ではありません。公式文書に裁量・例外・曖昧さがある場合は `unknown` または `conditionally_compatible` とし、引用元を確認して各事務局へ相談するよう案内します。

現MVPは法人・個人事業主の基本的な中小企業区分だけを自動判定します。みなし大企業、複雑な資本関係、特殊法人、再生事業者、賃上げ特例、リース共同申請、過年度受給回数制限は完全自動化していません。

# Actor input Schema

## `freeExample` (type: `boolean`):

オンの場合は合成サンプルを使い、businessProjectは処理しません。

## `businessProject` (type: `object`):

freeExampleをオフにして、READMEとschemas/business\_project.schema.jsonに従う1件のJSONオブジェクトを入力してください。true/false/"unknown"の三値を使用します。Actor内でも全フィールド、参照、日付、サイズを再検証します。

## Actor input object example

```json
{
  "freeExample": true
}
```

# Actor output Schema

## `report` (type: `string`):

No description

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("boundedtools/grant-stack-eligibility-optimizer").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("boundedtools/grant-stack-eligibility-optimizer").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call boundedtools/grant-stack-eligibility-optimizer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,boundedtools/grant-stack-eligibility-optimizer"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3osecB87aydfarsob/builds/U0om1ZCYZbSPCEn1r/openapi.json
