AGI(調整後総所得)— 総所得から above-the-line 控除を差し引く
税務申告の土台となるAGIを求められます。総所得85,000から学生ローンの利息2,500とIRAへの拠出6,500を引くと76,000です。標準控除や税額控除はその後の段階なので含めません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
調整後総所得(AGI)計算ツールは、総所得と above-the-line 控除の一覧(学生ローンの利息、IRA への拠出、教育関係費用、健康貯蓄口座への拠出など)を受け取り、確定申告全体の基準となる AGI を返します。AGI は、税額控除の適格性、控除の段階的縮小、多くの州税計算を左右する数値ですので、後続の計算を行う前に正確に求めることが重要です。
調整後総所得とは何か
調整後総所得は推測や見積もりではなく、定義された引き算です。出発点は総所得であり、これはその期間に得たすべての収入、すなわち給与、自営業収入、利子、配当、賃貸収入、退職金の分配、その他の課税対象となる流入の合計です。その合計に対して、税法では above-the-line 控除と呼ばれる特定の控除項目の一覧が認められています。
申告書上で調整後総所得の行より前に適用されるため、この名前が付いています。代表的なものとして、学生ローンの利息、伝統的 IRA や健康貯蓄口座への拠出、自営業税の控除対象部分、教育関係費用、古い協定に基づく養育費の支払いなどがあります。これらを差し引いた残りが AGI です。調整後総所得(AGI)計算ツールは、まさにこの操作を実行します。
総所得の金額と項目別の控除を受け取り、各入力を検証して差額を返します。基礎控除や項目別控除、申告区分の規則、税額控除は適用しません。これらはすべて AGI の後に来るものであり、混同することが非公式な税計算で最も多い誤りです。
実務における AGI の位置づけ
AGI は確定申告の要となる数値です。教育税額控除の適格性、Roth IRA への拠出、保険料税額控除、多くの控除の段階的縮小は、AGI またはそれを基礎とする修正 AGI に対する閾値として表されます。
給与・福利厚生ツールは、従業員が税引前拠出を変更したときに AGI を再計算し、奨学金の申請書類はその値をそのまま求め、貸し手は申告所得との整合性チェックに使用します。この計算ツールをこうしたフローに組み込むことで、スプレッドシートのセルが検証済みの契約に置き換わります。最低料金はなく、データも保持されません。
数値は処理後に破棄され、計算結果だけが呼び出し側に返されます。
活用例
税額控除の適格性を見積もる
まず AGI を計算し、教育税額控除の閾値や退職拠出の上限と比較してください。
税引前拠出の変更をシミュレーションする
控除一覧に IRA や HSA への拠出を追加・削除し、AGI がどう動くかをすぐに確認できます。
よくある質問
どの控除が above-the-line に該当しますか?
学生ローンの利息、伝統的 IRA や HSA への拠出、教育関係費用、自営業税の控除対象部分などです。本ツールはお送りいただいた一覧をそのまま受け付けます。何が該当するかの判断は税理士にご相談ください。
控除が総所得を超えるとどうなりますか?
above-the-line 控除だけで AGI がゼロを下回ることはあり得ないため、その場合は入力が混在していることを意味します。
負の金額は許可されますか?
いいえ。 総所得と各控除額は有限でゼロ以上である必要があります。
所得データは保存されますか?
いいえ。 数値はメモリ上で処理された後に破棄され、計算結果のみが返されます。
納税額や還付額も計算しますか?
いいえ。 AGI で終わります。課税所得、税率区分、税額控除、還付は AGI の後に来るものであり、このケイパビリティの範囲外です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/agi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gross_income":85000,"deductions":[{"label":"student loan interest","amount":2500},{"label":"traditional IRA contribution","amount":6500}]}'const res = await fetch("https://api.kit.forhosting.com/fin/agi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gross_income": 85000,
"deductions": [
{
"label": "student loan interest",
"amount": 2500
},
{
"label": "traditional IRA contribution",
"amount": 6500
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/agi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gross_income": 85000,
"deductions": [
{
"label": "student loan interest",
"amount": 2500
},
{
"label": "traditional IRA contribution",
"amount": 6500
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/agi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gross_income":85000,"deductions":[{"label":"student loan interest","amount":2500},{"label":"traditional IRA contribution","amount":6500}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gross_income":85000,"deductions":[{"label":"student loan interest","amount":2500},{"label":"traditional IRA contribution","amount":6500}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/agi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"gross_income": 85000,
"deductions": [
{
"label": "student loan interest",
"amount": 2500
},
{
"label": "traditional IRA contribution",
"amount": 6500
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.agi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
総所得と控除を構造化データとしてお送りいただければ、API がすべての値を検証し、控除を合計して差し引き、内訳とともに AGI を返します。このページでは同じ決定論的なコードがブラウザ内で無料で実行されますので、自動化する場合にのみ料金が発生します。
計算と検証の仕組み
すべての数値は有限でゼロ以上でなければなりません。控除額は合計され、総所得と比較されます。すべて小数点以下2桁に丸められ、出力はマシン間でバイト単位で安定し、監査証跡に安全に保存できます。このエンドポイントは、総所得の金額と、ラベルと金額を持つ控除レコードの配列という2つのフィールドを受け付けます。負の控除は還付ではなくデータエラーであり、API は黙って所得を加算するのではなく、その旨を明示します。合計が所得を超える場合、above-the-line 控除だけで AGI がゼロを下回ることはあり得ず、基礎控除や住宅ローン利息のような below-the-line の項目が混在したことを意味しますので、型付きエラーでリクエストを拒否します。入力が有効な場合、レスポンスは AGI、総所得、控除合計、受け取ったとおりの項目別一覧を返します。計算はネットワーク呼び出し、乱数、時計を使わない純粋な算術であり、同じリクエストは常に同じレスポンスを返します。これは、数か月後のレビューや監査で結果を再現する必要がある場合に重要な性質です。
実務における AGI の位置づけ
呼び出し側は正しい AGI か、問題のフィールドを明示する明確なエラーのどちらかを受け取り、もっともらしい誤った数値を受け取ることはありません。同じモジュールがこのページのブラウザで動作しますので、開発者は統合が送信するのとまったく同じペイロードを貼り付け、コードを書く前に結果を確認できます。その後、API は同一の回答に対して1リクエスト $0.002 を請求します。
連携の活用例
申告前に数値を検証する
収集したとおりの総所得と控除を送信し、負の金額や所得を超える控除を API に検出させてください。
技術的な質問
料金はいくらですか。
1リクエスト $0.002 です。このページではブラウザ内で無料で実行でき、同じコードが両方の回答を生成します。