請求・財務

請求・財務システム向けの請求書PDF API

JSON Render または Template Render で請求データから通常の請求書PDFを生成しつつ、税務と会計のロジックは自社システム側に置いたままにします。

主 API JSON Render
ENDPOINT /api/v1/pdf/render
対象システム 課金バックエンド / ERP / 会計システム / SaaS アプリ
解決する業務課題

請求、ERP、SaaS システムの請求書データを人が読める請求書PDFに変換しつつ、採番、税計算、支払い状態、会計上の意味づけは呼び出し側システムの内側に保ちます。

この API が合う場合

  • 顧客向けの通常の請求書PDF、領収書、明細書、会計エクスポートが必要な場合。
  • 自社システム側で、すでに請求書番号、税計算、明細項目、支払い状態を管理している場合。
  • ブラウザを動かさずに、表、合計、メタデータ、任意の PDF/A 設定がほしい場合。
  • 繰り返し使う請求書レイアウトに、安定した template_id のインターフェイスが必要な場合。

置き換えないもの

  • Factur-X や ZUGFeRD のような法的な電子請求書パッケージが必要な場合。E-Invoice Render を使います。
  • gPdf に税計算、会計ルールの検証、支払いの消込を期待する場合。
  • 構造化 JSON やテンプレートではなく、任意の HTML 請求書変換が必要な場合。

呼び出す endpoint

主経路

/api/v1/pdf/render

JSON Render がこのワークフローの標準パスです。

補助経路 1

/api/v1/template-render

関連 API パス、テンプレート契約、または機能確認が必要な場合に使います。

補助経路 2

/api/v1/e-invoice/render

関連 API パス、テンプレート契約、または機能確認が必要な場合に使います。

最小リクエスト

POST /api/v1/pdf/render - 請求書のヘッダーと合計の最小例。

{
  "pages": [
    {
      "size": "a4",
      "elements": [
        {
          "type": "text",
          "x": 20,
          "y": 24,
          "content": "Invoice INV-1007",
          "style": { "font_size": 18, "font_family": "NotoSans-Regular" }
        },
        {
          "type": "text",
          "x": 20,
          "y": 42,
          "content": "Bill to: Example Customer\nAmount due: USD 245.00",
          "style": { "font_size": 11, "font_family": "NotoSans-Regular" }
        },
        {
          "type": "line",
          "x1": 20,
          "y1": 62,
          "x2": 190,
          "y2": 62
        }
      ]
    }
  ]
}

gPdf が担当すること

  • JSON ページまたはテンプレートデータからの請求書PDFレンダリング。
  • テキスト、表、合計ブロック、ページ分割、メタデータ、任意の PDF/A 出力。
  • 複数システムで使われる安定した請求書レイアウト向けの Template Render。
  • バイナリ PDF レスポンスと一貫した API エラーエンベロープ。

自社システムが担当すること

  • 請求書番号、支払い状態、税計算、割引、クレジット、台帳上の意味。
  • 顧客と発行者のデータ、明細項目のマッピング、通貨、丸めルール。
  • 保持、配信、メール、支払いリンク、会計システムとの消込。

本番前チェックリスト

  1. 表示されるすべての請求書フィールドが、ソースの請求データに対応していることを確認する。
  2. 明細項目のあふれ、長い顧客名、複数ページの請求書、合計をテストする。
  3. そのレイアウトが JSON Render に属するか、公開テンプレートに属するかを決める。
  4. 通常の請求書PDF生成を、法的な電子請求書パッケージングと分けて保つ。
  5. リクエスト ID と出力ファイル名を、自社の請求書レコードとともに保存する。

対応範囲の境界

  • 通常の請求書PDFは、法的な電子請求書要件と同じではありません。
  • gPdf は請求書ドキュメントをレンダリングします。税額や会計状態を計算することはありません。
  • Factur-X / ZUGFeRD の出力は POST /api/v1/e-invoice/render で扱います。

通常の請求書と電子請求書

通常の請求書PDFは、顧客が読むドキュメントです。JSON Render または Template Render から生成できます。自社システムが請求書番号、税、明細項目、通貨、支払い状態を決め、そのうえで gPdf が表示用の PDF をレンダリングします。

法的な電子請求書は別物です。Factur-X と ZUGFeRD は、人が読める PDF/A-3b の請求書と、埋め込まれた EN 16931 CII XML を組み合わせます。そのパッケージには POST /api/v1/e-invoice/render を使います。

通常は Template Render が本番向きのエンドポイント

財務チームが、すべてのサービスに請求書の座標を作り直させたいことはまずありません。一般的な運用は、請求書を一度設計してテンプレートとして公開し、呼び出し側には安定した template_id とデータスキーマを渡す形です。JSON Render は、カスタムレイアウト、社内ツール、テンプレートの試作に引き続き役立ちます。

会計ロジックは上流に保つ

gPdf は、未解決の会計判断ではなく、最終的な表示値を受け取るべきです。税、割引、丸め、支払い状態、請求書の発行可否は、レンダリング API を呼ぶ前に計算します。これにより PDF 出力は再現性を持ち、財務システムが信頼できる情報源であり続けます。

FAQ

請求書PDFは電子請求書と同じですか?
いいえ。通常の請求書PDFは人が読む出力です。Factur-X や ZUGFeRD の電子請求書は、さらに EN 16931 CII XML を PDF/A-3b ラッパーの中に埋め込みます。
繰り返し使う請求書はどのエンドポイントを使うべきですか?
請求書レイアウトが安定し、呼び出し側が template_id とデータだけを送ればよいときは Template Render を使います。コード側でレイアウトを管理するときは JSON Render を使います。
gPdf は税を計算しますか?
いいえ。税、合計、割引、支払い状態は、レンダリングデータを送る前に自社の請求または会計システムが計算します。
請求書PDFで PDF/A を使えますか?
はい。JSON Render は PDF/A 設定をサポートします。請求書を Factur-X や ZUGFeRD としてパッケージする必要がある場合は、E-Invoice Render を使います。