売上原価の計算
期首在庫20,000、仕入80,000、期末在庫15,000なら、売上原価は85,000です。どの期間でも期首在庫・純仕入高・期末の棚卸額を入れるだけで、決算時の売上原価が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 期首棚卸資産
- 20,000
- 仕入高
- 80,000
- 期末在庫
- 15,000
- 販売可能商品
- 100,000
- 売上原価
- 85,000
売上原価は、損益計算書ではほぼ常にCOGSと略され、ある期間に事業が実際に売り上げた商品の在庫原価です。定期法の恒等式は、期首棚卸高プラス仕入高マイナス期末棚卸高です。記帳担当、小売、会計の学生はその三項の式を毎決算で使います。この売上原価計算機は、それら三つの有限な金額を受け取り、売上原価を返し、あり得ない在庫数字を恒等式が使わないよう負の期首・期末棚卸を拒否します。
COGSが測るものと定期棚卸の恒等式
売上原価は、顧客が買ったために在庫を出た単位に載る原価であり、棚に残っている単位の原価ではありません。商品の定期法では、毎販売を継続記録の在庫カードに追うのではなく、期末に三行の恒等式で売れた原価を再構成します。期首棚卸高、期間中の純仕入、決算で実地または評価した期末棚卸高です。
その恒等式が、本計算機が実装する定義です。期首棚卸は帳簿が開いたときの商品資産です。仕入は窓のあいだに入ってきた商品の純原価、転売のために取得した商品の請求原価です。
期末棚卸は期間が閉じるときにまだ売れていない商品です。販売可能商品(期首プラス仕入)からその残りを引くと、売れた切片が孤立し、それがCOGSです。二万で開き、八万を仕入れ、一万五千で閉じた店の売上原価は八万五千です。
二十プラス八十マイナス十五が八十五だからです。期首ゼロは許されます。 新規の再販業者は期首棚卸ゼロでも、仕入と決算の実地からCOGSを計算できます。既存在庫だけを売った期間では仕入ゼロも許されます。
負の期首または期末棚卸は在庫数字ではなくデータ誤りであり、本計算機はあり得ない棚から売れた原価を捏造する代わりに拒否します。三つの入力は同じ通貨・同じ期間に揃えてください。一年分の仕入と月末の実地を混ぜると、COGSの数字は静かに嘘をつきます。
式は意図的に三つの算術ステップだけなので、宿題の答え、LMSの判定、決算ノートが表計算の中間丸めのずれなしに再現可能な定義を共有できます。
売上原価計算機が役立つ場面
検索欄に cogs と入れる人はすでに略語を知っており、売れた原価の数字を求めています。継続記録対定期法の在庫システムから始まる講義ではありません。その短い語で順位を取る発行者は、期首実地・仕入合計・期末実地を持つ商家、損益計算書の売上原価欄を埋める学生、負の在庫値を黙って無意味な費用にせず拒否する決定的な神託が必要な記帳者に応えます。
月末ノートを作る小さな小売は、分析者がスライドに書くのと同じ期首プラス仕入マイナス期末の数字を望み、通貨の小数が変わっても手計算の誤りを避けたいのです。定期棚卸法を教える教室や資格講座は、COGS と販売可能商品だけを返す端点が必要です。採点者が教科書の答えと比べられ、本ツールが総勘定元帳一式を装わないためです。
検証失敗は残高を消費しません。売上総利益や在庫回転が必要なら別ツールと組み合わせ、この面は検索 cogs が指す商品原価に集中させてください。
活用例
月末の商品決算
期首在庫、純仕入、期末実地を入れて、表計算で恒等式を組み直さずに期間のCOGSを公表します。
売上を取らずに売上総利益の準備
先に売上原価を計算し、ご自身のノートで純売上から差し引きます。本サービスが返すのはCOGSだけです。
よくある質問
COGSはどう計算しますか?
売上原価は期首棚卸高プラス仕入高マイナス期末棚卸高です。例: 20000 + 80000 − 15000 = 85000。
在庫値が負のときはどうなりますか?
負の期首または期末棚卸は在庫数字ではないため、要求は拒否され課金されません。
期首棚卸や仕入はゼロでもよいですか?
はい。 新規店は在庫ゼロで開業でき、期間に仕入がなくても構いません。拒否されるのは負の在庫(または負の仕入)だけです。
FIFO、LIFO、仕入運賃は使いますか?
いいえ。 計算機は定期法の恒等式だけを適用します。仕入運賃、返品、層別原価は呼び出す前に三つの入力へ織り込んでください。
3つの数字を同じ期間にそろえるのはなぜですか?
期首在庫・仕入・期末在庫が同じ期間と同じ通貨を表していないと、売上原価が合わないためです。1年分の仕入と月末の棚卸を混ぜると、もっともらしい誤った数字になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/cogs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}'const res = await fetch("https://api.kit.forhosting.com/fin/cogs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/cogs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/cogs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/cogs", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.cogs",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
成功した呼び出しは$0.002で課金され、不正な入力は課金されません。
入力契約、応答の形、検証
purchases は枠内で買った純商品であり、同じく非負でなければなりません。負の仕入額も同様に拒否されます。例:期首棚卸二万、仕入八万、期末棚卸一万五千なら販売可能商品は十万、売上原価は八万五千です。書式付き文字列より裸の数値を選んでください。通貨記号、桁区切り、末尾の単位ラベルは解析しません。本サービスは仕入運賃、仕入返品、値引きを別行としては受け取らず、FIFO や LIFO の層も配分しません。それら調整は呼び出す前に purchases または在庫値へ織り込んでください。同じ通貨・同じ報告枠の有限数が三つ必須のJSON本体を送ってください。beginning_inventory は期間開始時の手元商品であり、ゼロ以上でなければなりません。元帳の書き出しで改名しなくて済むよう、別名 beginning、begin_inventory、opening_inventory、opening、bi を受け付けます。別名 net_purchases、merchandise_purchases、p を受け付けます。ending_inventory は決算時にまだ手元にある商品であり、非負でなければなりません。別名 ending、end_inventory、closing_inventory、closing、ei を受け付けます。各欄はJSON数値でも、厳密な有限小数パターンに合う数値文字列でも構いません。欠落欄、空文字、非有限値、負の在庫値は、欄名付きの invalid_input で失敗し、課金されません。成功時は丸めた beginning_inventory、purchases、ending_inventory をエコーし、期首プラス仕入として goods_available を返し、販売可能商品マイナス期末として cogs を返し、ダッシュボードが数字の横に定義を印刷できるよう恒等式を述べ直す式文字列を含めます。成功した1件の料金は一律 $0.002 です。
売上原価計算機が役立つ場面
実装は tier A の解析的 parse コードなので、成功した呼び出しは毎回 $0.002 で安く、モデルトークンも外向きネットワークもありません。要求を小さく保ち、丸めた cogs と goods_available を試験に固定すれば、宿題、試験生成、軽い決算ノート向けの再現可能な売上原価が得られ、自前の在庫補助元帳一式を立てる必要はありません。
連携の活用例
宿題と損益計算書の判定
学生は COGS = 期首 + 仕入 − 期末 を手計算し、負の在庫値を invalid_input として拒否する決定的な結果と比べます。
技術的な質問
売上原価計算機の料金は?
ブラウザの道具は無料です。API要求は成功した呼び出しごとに前払いKIT残高から $0.002 で課金され、不正な入力は課金されません。