明細と合計付きの領収書を作成
購入データから一貫した領収書を作成でき、アプリごとに計算や書式を実装する必要がありません。店舗名、1 件以上の明細、支払方法をご指定ください。小計、税額、合計を計算し、安定した領収書番号を付与します。生成された JSON は、保存、画面表示、注文への関連付け、別の文書処理への受け渡しにご利用いただけます。
無料で実行
領収書の情報をご用意ください
表示する店舗名を入力し、商品やサービスを明細ごとに追加してください。各明細には説明、数量、単価が必要です。小数の数量にも対応するため、量り売り、作業時間、重量、距離にもご利用いただけます。課税対象の場合だけ税率を指定してください。支払方法には現金、振込、番号を伏せたカード表記など、表示に適した内容を入力し、完全なカード番号などの機密情報は送信しないでください。通貨は任意で、初期値は USD です。簡潔な説明と安全な支払表記により、読みやすい記録になります。空の購入では有効な領収書を作れないため、明細は最低 1 件必要です。
計算方法と番号をご確認ください
単価は数量との乗算前に通貨の最小単位へ変換され、浮動小数点による誤差を防ぎます。各明細の小計を丸めてから税額を計算します。全体の小計は各明細の小計、税額は各明細の税額を合算し、最終合計はその両方を加えます。支払額は必ず最終合計と一致します。領収書番号は正規化された入力から決定されるため、同じリクエストでは同じ番号になります。再試行や重複確認に便利ですが、公的な連番、税務上の承認番号、法令で必要な会計番号を置き換えるものではありません。必要な正式番号は別の制度で管理してください。
業務フローへ組み込んでください
応答では識別情報、店舗、計算済み明細、支払情報、合計が分かれています。印刷用領収書の描画、購入記録の保存、メール作成、PDF 生成への連携が容易です。照合に備え、元のリクエストと応答を一緒に保存してください。安定した番号は検索キーとして使えますが、データベース側でも独自の一意性と権限を管理する必要があります。不完全な入力は明確に拒否され、値を推測して補いません。ネットワーク、保存、現在日時、乱数を使用しないため、結果は毎回安定します。1 リクエストは $0.002 で、予測可能な領収書データが必要な小規模取引に適しています。
活用例
注文領収書を作成
購入明細と伏せ字の支払情報から、保存や表示に適した統一記録を作成します。
PDF 用データを準備
PDF 描画へ渡す前に、明細と合計を確実に計算します。
手入力の売上を標準化
店舗や管理画面の入力を、照合とサポートに使える一定の形式へ変換します。
よくある質問
料金はいくらですか?
API リクエスト 1 件につき $0.002 です。
明細なしで作成できますか?
いいえ。最低 1 件が必要で、空の配列は入力エラーになります。
税額はどのように計算されますか?
丸めた各明細の小計に税率を適用し、その税額を合算します。
領収書番号はランダムですか?
いいえ。正規化データから決まり、同じ入力では同じ番号になります。
法的に有効な税務書類ですか?
いいえ。地域の番号付与、登録、開示要件はお客様側でご対応ください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/doc/receipt-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"merchant_name":"Northwind Coffee","line_items":[{"description":"Cappuccino","quantity":2,"unit_price":4.5,"tax_rate":8.25},{"description":"Blueberry muffin","quantity":1,"unit_price":3.25}],"payment_method":"Visa ending 4242"}'const res = await fetch("https://api.kit.forhosting.com/doc/receipt-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"merchant_name": "Northwind Coffee",
"line_items": [
{
"description": "Cappuccino",
"quantity": 2,
"unit_price": 4.5,
"tax_rate": 8.25
},
{
"description": "Blueberry muffin",
"quantity": 1,
"unit_price": 3.25
}
],
"payment_method": "Visa ending 4242"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/receipt-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"merchant_name": "Northwind Coffee",
"line_items": [
{
"description": "Cappuccino",
"quantity": 2,
"unit_price": 4.5,
"tax_rate": 8.25
},
{
"description": "Blueberry muffin",
"quantity": 1,
"unit_price": 3.25
}
],
"payment_method": "Visa ending 4242"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/receipt-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"merchant_name":"Northwind Coffee","line_items":[{"description":"Cappuccino","quantity":2,"unit_price":4.5,"tax_rate":8.25},{"description":"Blueberry muffin","quantity":1,"unit_price":3.25}],"payment_method":"Visa ending 4242"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"merchant_name":"Northwind Coffee","line_items":[{"description":"Cappuccino","quantity":2,"unit_price":4.5,"tax_rate":8.25},{"description":"Blueberry muffin","quantity":1,"unit_price":3.25}],"payment_method":"Visa ending 4242"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/receipt-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"merchant_name": "Northwind Coffee",
"line_items": [
{
"description": "Cappuccino",
"quantity": 2,
"unit_price": 4.5,
"tax_rate": 8.25
},
{
"description": "Blueberry muffin",
"quantity": 1,
"unit_price": 3.25
}
],
"payment_method": "Visa ending 4242"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.receipt_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 25 |
max_pages | 200 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |