Invovate ← 請求書ジェネレーターに戻る

請求書API ドキュメント

シンプルなREST APIでプロの請求書PDFをプログラムで生成

v1.0

概要

Invovate請求書APIを使用すると、開発者はシンプルなHTTP POSTリクエストでプロの請求書を生成できます。すべての計算を含む構造化されたJSONレスポンスか、直接PDFダウンロードかを選択できます。APIは11言語、20以上の通貨、5種類のデザインテンプレートをサポートしています。日本のフリーランサー、SaaS企業、会計アプリケーションに最適です。

無料で開始

40リクエスト/時間、カード不要

JSONまたはPDF

出力形式を選択

消費税計算

行ごとまたは全体 (10%/8%)

多言語対応

ja, en, de, fr, zh など

ベースURL:
https://invovate.com/api

クイックスタート

3ステップで最初の請求書を作成:

ステップ1 — アカウント作成
invovate.comで無料登録し、メールアドレスを確認してください。
ステップ2 — APIキー取得
ダッシュボードで「APIキーを生成」をクリック。キーはinv_で始まります。
ステップ3 — 最初のリクエスト
curl -X POST https://invovate.com/api/generate-invoice \ -H "Content-Type: application/json" \ -H "Authorization: Bearer inv_yourApiKeyHere" \ -d '{ "from": {"name": "株式会社サンプル"}, "to": {"name": "クライアント株式会社"}, "items": [{"description": "ウェブ制作", "quantity": 1, "unit_price": 500000, "tax_rate": 10}], "invoice": {"currency": "JPY", "language": "ja"} }'

認証

APIは3種類の認証方法をサポートしています:

1. APIキー(サーバーサイドに推奨)

Authorization: Bearer inv_yourApiKeyHere

2. セッションCookie(Webアプリ向け)

ブラウザでログイン済みの場合、inv_sessionクッキーが自動的に送信されます。

3. 匿名(認証なし)

認証なしでの呼び出しはJSON出力のみに制限され、IPアドレスによるレート制限があります。APIのテストに便利です。

セキュリティ: APIキーをクライアントサイドのコードに含めたり、Gitリポジトリに保存したりしないでください。サーバーの環境変数を使用してください。

制限とプラン

プラン料金1時間あたり1週間あたり
無料¥040400
Starter¥1,400/月2004,000
Pro¥4,400/月1,00040,000
Enterpriseお問い合わせ無制限無制限

制限はレスポンスヘッダーで確認できます:

X-RateLimit-Limit-Hourly: 40 X-RateLimit-Remaining-Hourly: 39 X-RateLimit-Reset-Hourly: 1712123456 X-RateLimit-Limit-Weekly: 400 X-RateLimit-Remaining-Weekly: 399 X-RateLimit-Reset-Weekly: 1712345678

請求書生成

POST
/api/generate-invoice

請求書を生成し、すべての計算を含むJSONまたはバイナリPDFファイルを返します。

リクエスト形式

送信者 (from)

フィールド必須説明
from.namestring必須会社名または氏名
from.addressstring任意住所
from.emailstring任意メールアドレス
from.tax_idstring任意法人番号または適格請求書発行事業者登録番号

受信者 (to)

フィールド必須説明
to.namestring必須取引先の名称
to.addressstring任意取引先の住所
to.emailstring任意取引先のメールアドレス

請求書データ (invoice)

フィールドデフォルト説明
invoice.numberstring自動請求書番号
invoice.datestring本日請求日 (YYYY-MM-DD)
invoice.due_datestring支払期日 (YYYY-MM-DD)
invoice.currencystringUSD通貨コード(例: JPY)
invoice.languagestringen言語コード(例: ja)
invoice.termsstring支払い条件
invoice.po_numberstring発注番号

明細 (items 配列)

フィールド必須説明
descriptionstring必須商品またはサービスの説明
quantitynumber必須数量
unit_pricenumber必須単価(税抜)
discountnumber任意割引(パーセントまたは金額)
discount_typestringpercent"percent" または "amount"
tax_ratenumber任意行ごとの消費税率(例: 10)

その他のフィールド

フィールド説明
global_taxnumber全体税率(行ごとの税率がない場合に適用)
global_discountnumber合計に対する割引
amount_paidnumber既払い金額(部分払いの場合)
notesstring請求書下部の備考
templatestringテンプレート名: classic, modern, bold, minimal, navy
outputstring"json"(デフォルト)または "pdf"

レスポンス形式

JSONレスポンス (output: "json")

{ "success": true, "invoice": { "number": "INV-2026-042", "date": "2026-04-03", "due_date": "2026-05-03", "currency": "JPY", "language": "ja", "template": "classic", "from": { "name": "株式会社サンプル" }, "to": { "name": "クライアント株式会社" }, "items": [ { "description": "ウェブサイト制作", "quantity": 1, "unit_price": 500000, "discount": 0, "tax_rate": 10, "tax_amount": 50000, "line_total": 550000 } ], "subtotal": 500000, "total_tax": 50000, "grand_total": 550000, "amount_paid": 0, "balance_due": 550000, "notes": "お取引ありがとうございます。" }, "meta": { "processing_ms": 11, "credits_remaining": { "hourly": 39, "weekly": 399 } } }

PDFレスポンス (output: "pdf")

以下のヘッダーを含むバイナリPDFファイルを返します:

Content-Type: application/pdf Content-Disposition: attachment; filename="invoice.pdf"

エラーコード

{ "success": false, "error": { "message": "少なくとも1つの明細が必要です" } }
HTTPステータス意味
400バリデーションエラー — リクエスト形式を確認してください
401認証が必要またはAPIキーが無効
403メールアドレスが未確認
429レート制限を超過
500サーバー内部エラー

認証エンドポイント

メソッドパス説明
POST/api/auth/registerメールとパスワードでアカウント作成
POST/api/auth/loginログイン、セッションCookieを返す
POST/api/auth/logoutログアウト
GET/api/auth/me現在のユーザー情報とAPIキーを取得
POST/api/auth/generate-api-key新しいAPIキーを生成(メール確認済み必須)

コードサンプル

cURL — 消費税込みPDF請求書

curl -X POST https://invovate.com/api/generate-invoice \ -H "Content-Type: application/json" \ -H "Authorization: Bearer inv_yourApiKeyHere" \ -d '{ "from": { "name": "株式会社ウェブクリエイト", "address": "東京都渋谷区道玄坂1-1-1", "tax_id": "T1234567890123", "email": "billing@webcreate.co.jp" }, "to": { "name": "株式会社クライアント", "address": "大阪府大阪市北区梅田2-2-2", "email": "accounting@client.co.jp" }, "invoice": { "number": "INV-2026-042", "date": "2026-04-03", "due_date": "2026-05-03", "currency": "JPY", "language": "ja", "terms": "30日以内にお支払いください" }, "items": [ {"description": "ウェブサイト制作", "quantity": 1, "unit_price": 800000, "tax_rate": 10}, {"description": "SEOコンサルティング", "quantity": 5, "unit_price": 50000, "tax_rate": 10} ], "notes": "お取引ありがとうございます。", "template": "classic", "output": "pdf" }' --output invoice.pdf

JavaScript (Node.js)

// Invovate APIで請求書を生成 const response = await fetch('https://invovate.com/api/generate-invoice', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer inv_yourApiKeyHere' }, body: JSON.stringify({ from: { name: '株式会社サンプル', tax_id: 'T1234567890123' }, to: { name: 'クライアント株式会社', email: 'client@example.co.jp' }, invoice: { number: 'INV-001', currency: 'JPY', language: 'ja', due_date: '2026-05-03' }, items: [{ description: 'コンサルティング', quantity: 10, unit_price: 30000, tax_rate: 10 }], output: 'json' }) }); const data = await response.json(); if (data.success) { console.log('合計金額(税込):', data.invoice.grand_total, '円'); console.log('残りリクエスト数(1時間):', data.meta.credits_remaining.hourly); }

Python

import requests API_KEY = "inv_yourApiKeyHere" URL = "https://invovate.com/api/generate-invoice" # 日本語請求書の作成 invoice = { "from": { "name": "フリーランス デザイナー", "tax_id": "T1234567890123" }, "to": { "name": "株式会社クライアント", "address": "東京都新宿区1-1-1" }, "invoice": { "number": "INV-2026-001", "currency": "JPY", "language": "ja" }, "items": [ {"description": "ロゴデザイン", "quantity": 1, "unit_price": 150000, "tax_rate": 10}, {"description": "名刺デザイン", "quantity": 2, "unit_price": 30000, "tax_rate": 10} ], "output": "pdf" } response = requests.post(URL, json=invoice, headers={"Authorization": f"Bearer {API_KEY}"}) if response.status_code == 200: with open("invoice.pdf", "wb") as f: f.write(response.content) print("請求書を保存しました: invoice.pdf") else: print(f"エラー: {response.json()['error']['message']}")

対応言語

コード言語テキスト方向
ja日本語LTR
en英語LTR
deドイツ語LTR
frフランス語LTR
nlオランダ語LTR
esスペイン語LTR
itイタリア語LTR
ptポルトガル語LTR
ruロシア語LTR
hiヒンディー語LTR
arアラビア語RTL

PDFテンプレート

名前スタイル
classicブルーアクセント、交互グレー行(デフォルト)
modernティール/シアン、クリーンでモダンなデザイン
boldダークアンスラサイトヘッダー、高コントラスト
minimalライトグレー、ボーダーなし
navyネイビーヘッダーとゴールドアクセントライン

対応通貨

JPY, USD, EUR, GBP, CAD, AUD, CHF, CNY, INR, AED, SAR, SGD, NZD, KRW, BRL, MXN, ZAR, SEK, NOK, DKK