請求書処理スキル
請求書の内容を読み取り、フィールド抽出・仕訳分類・税区分判定・整合性検証を行い、
請求書処理スキル
概要
請求書の内容を読み取り、フィールド抽出・仕訳分類・税区分判定・整合性検証を行い、
会計システムに取り込み可能な構造化データ(JSON)を出力するスキル。
入力
ユーザーから以下の情報を受け取る:
フェーズ1: フィールド抽出
以下のフィールドを請求書から正確に抽出する:
ヘッダー情報
| フィールド | 説明 | 必須 |
|-----------|------|------|
| invoice_number | 請求書番号 | ○ |
| invoice_date | 請求日 | ○ |
| due_date | 支払期限 | ○ |
| vendor_name | 取引先名(請求元) | ○ |
| vendor_address | 取引先住所 | △ |
| vendor_registration_number | 適格請求書発行事業者登録番号(T+13桁) | ○ |
| buyer_name | 宛先(自社名) | ○ |
| payment_method | 振込先情報 | △ |
明細情報(Line Items)
| フィールド | 説明 |
|-----------|------|
| item_description | 品名・サービス名 |
| quantity | 数量 |
| unit | 単位 |
| unit_price | 単価 |
| tax_rate | 適用税率(10% / 8% / 0%) |
| amount | 金額(税抜) |
合計情報
| フィールド | 説明 |
|-----------|------|
| subtotal | 小計(税抜) |
| tax_amount_10 | 消費税額(10%対象) |
| tax_amount_8 | 消費税額(8%対象) |
| total | 合計金額(税込) |
フェーズ2: 勘定科目の自動分類
抽出した明細を勘定科目に自動分類する:
分類ルール
| カテゴリ | 勘定科目 | 判定キーワード例 |
|---------|---------|----------------|
| オフィス消耗品 | 消耗品費 | コピー用紙、トナー、文具 |
| IT・ソフトウェア | 通信費 / ソフトウェア | SaaS、クラウド、ライセンス |
| 外注・業務委託 | 外注費 | 開発委託、デザイン、翻訳 |
| 広告・マーケティング | 広告宣伝費 | Google Ads、SNS広告、PR |
| 交通・出張 | 旅費交通費 | 航空券、宿泊、タクシー |
| 飲食・接待 | 交際費 / 会議費 | 接待、懇親会、来客対応 |
| 家賃・設備 | 地代家賃 | オフィス賃料、駐車場 |
| 水道光熱費 | 水道光熱費 | 電気、ガス、水道 |
| 保険 | 保険料 | 火災保険、賠償責任保険 |
| コンサルティング | 支払手数料 | 顧問料、コンサル費用 |
分類の確信度
フェーズ3: 税区分の判定
インボイス制度対応
税率判定
| 税率 | 対象 |
|------|------|
| 10% | 標準税率(一般的な商品・サービス) |
| 8% | 軽減税率(飲食料品、新聞) |
| 0% | 非課税(土地譲渡、保険料等)/ 免税(輸出取引) |
判定フロー
1. 明細ごとに税率の記載を確認
2. 記載がない場合、品目から推定し「要確認」と注記
3. 税率ごとの小計と消費税額の整合性を検証
フェーズ4: 支払期限の管理
抽出した支払期限を基に、以下の情報を付加する:
- 🔴 3日以内
- 🟡 7日以内
- 🟢 7日超
フェーズ5: 整合性検証
以下の検証を自動実行し、不整合を報告する:
出力フォーマット
```json
{
"invoice": {
"invoice_number": "INV-2026-0042",
"invoice_date": "2026-03-01",
"due_date": "2026-03-31",
"vendor": {
"name": "株式会社サンプル",
"registration_number": "T1234567890123"
},
"line_items": [
{
"description": "Webアプリケーション開発 3月分",
"quantity": 1,
"unit": "式",
"unit_price": 500000,
"tax_rate": 0.10,
"amount": 500000,
"account_code": "外注費",
"classification_confidence": 0.95
}
],
"subtotal": 500000,
"tax_breakdown": [
{ "rate": 0.10, "taxable_amount": 500000, "tax_amount": 50000 }
],
"total": 550000,
"payment_priority": "green",
"days_until_due": 25
},
"validation": {
"all_passed": true,
"checks": [
{ "name": "明細金額の検算", "status": "OK" },
{ "name": "税額の検算", "status": "OK" },
{ "name": "合計金額の検算", "status": "OK" },
{ "name": "登録番号フォーマット", "status": "OK" }
]
}
}
```