領収書をPDFで作成
手書きの領収書は宛名や但し書きの書き間違いが起きやすく、控えも残りにくいものです。この機能は宛名・但し書き・金額のデータから領収書PDFを生成し、発行と同時に控えのデータも手元に残せます。
オンラインで実行
アカウントでログインし、当社のサーバー上で実行します。無料ツールはブラウザ内で動作しますが、これは上記の料金がKIT残高から差し引かれます。
手書きより速く、控えも自動で残る
手書きの領収書は宛名や金額を書き間違えるリスクがあり、複写式でなければ控えも残りません。この機能はデータを渡すだけで宛名・但し書き・金額・発行日を反映した領収書PDFを作り、発行した記録がそのままデータとしても手元に残ります。書き損じによる再発行の手間もなくなります。
確定申告で求められる項目もそのまま入る
確定申告では、領収書に宛名・日付・金額・但し書きが揃っていることが求められます。医療費控除のように用途を明記する必要がある場合も、但し書きの欄にそのまま反映されます。手書きで毎回同じ文言を書く手間がなくなり、記載漏れによる後日の問い合わせも減らせます。
但し書きは用途に合わせて自由に設定
「お品代として」のような定型文だけでなく、取引の内容に応じた但し書きを都度指定できます。宛名を空欄にして受け取る側が後から記入する形にも対応でき、店頭での物販から専門的なサービスの対価まで、幅広い用途で使える形式です。
料金と現在の状況
1リクエスト$0.040に1文書$0.001が加わり、1件あたり$0.041です。上限は25MB・200ページで、通常の領収書であれば余裕を持って収まります。この機能はすでに安定して稼働しており、このページからその場で1件発行するほか、店舗のレジシステムからAPI経由で自動発行することもできます。
活用例
確定申告前に医療費の領収書を整理
個人事業主の伊藤さくらさんが、通院のたびに但し書きを揃えた領収書PDFを発行し、確定申告の医療費控除の準備にまとめて使っています。
レジシステムから自動で領収書を発行
小規模な雑貨店が会計時に金額を入力すると、レジシステムが自動で領収書PDFを生成し、控えのデータも同時に保存しています。
セミナー参加費の領収書をまとめて発行
研修会社が参加者ごとの申込データから、参加費の領収書PDFをまとめて発行し、メールで一括送付しています。
顧問料の領収書を毎月発行
行政書士事務所が顧問先ごとの月額顧問料について、宛名と但し書きをそろえた領収書PDFを毎月自動で発行しています。
よくある質問
確定申告に必要な但し書きは記載できますか?
はい。医療費控除など用途を明記する必要がある場合も、但し書きの欄に反映されます。
宛名を空欄にして発行できますか?
はい。宛名を空欄にして、受け取る側が後から記入する形式にも対応しています。
収入印紙が必要な金額の領収書にも対応していますか?
印紙は書類とは別に貼付が必要なもので、この機能では扱いません。金額に応じた印紙の要否は別途ご確認ください。
1件あたりの料金はいくらですか?
$0.040+$0.001で1件$0.041です。米ドル建てで、発行した分だけ請求されます。
発行した領収書のデータは保存されますか?
書類を生成するためだけに使われ、PDFの受け渡し後は保存されません。控えとして残す場合は発行後にお手元で保管してください。
レジシステムから自動で発行することはできますか?
できます。APIから金額と但し書きを渡せば、会計のたびに自動で発行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/pdf/receipt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/receipt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/receipt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/receipt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/receipt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"pdf": "https://ejemplo.com/documento.pdf"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.receipt",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
422 | task_failed | タスクの処理に失敗しました。このタスクは課金されません。 |