0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 印刷屋プラグイン - AI(Codex)に帳票を作らせる(Claude Code 用のしくみで請求書を作成)

0
Last updated at Posted at 2026-10-07

前回の記事(見積書 3 案から実用版へ)では、Claude Code に見積書を 3 案作らせ、評価をもとに実用版へ仕上げました。今回はその続編です。

今回の目的は、Claude Code を前提に作った帳票作成のしくみで、Codex も帳票を作れるかを試すことです。これまで用意した帳票仕様・レシピ・設定ファイルの検査とプレビュー用のコマンドを使い、同じアプリのレコードから請求書を作らせました。

本記事で使った Codex は、VS Code の Codex 拡張機能です。ChatGPT Business の契約で利用し、モデルは GPT-6.1 Sol、推論設定は「中(medium)」にしました。

結果として、今回の環境では、Codex でも請求書の設定 JSON を作成し、検査と HTML プレビューの出力まで進められました。設定・計算式のエラーは 0、HTML 生成関数についての警告は 1 件でした。その後、印刷屋プラグインで PDF を生成し、明細 4 行と金額・振込先・備考が 1 ページに収まることも確認しました。

最初は既存の見積書を土台にした形になったので、続けて「既存の見積書は参考にせずに、あらためて請求書をデザインして」と依頼しました。この記事では、その 2 回のやり取りと確認結果を紹介します。

印刷屋プラグインで生成した PDF の比較(左:最初の請求書、右:請求書としてあらためてデザインした版)

印刷屋で生成したPDFの比較。左は最初の請求書、右は再デザイン版

最初の版は、見積書を引き継いだ枠と表を中心とした形です。再デザイン版は、請求金額を横長の帯で大きく見せ、明細の下に振込先と税額内訳を並べています。発行元や振込先などの「要設定」は、試作のため残しています。

帳票作成用のテンプレート、kintone への接続、印刷屋プラグインの zip については、最初の記事を参照してください。ただし、そちらの接続・権限設定は Claude Code 用です。本記事は、Codex から同じ作業フォルダーの資料とオーサリング用コマンドを使える環境で行った作成例で、Codex の初期設定手順は扱いません。


使ったアプリ

前回と同じ、ゲストスペース 15 の見積書アプリ(アプリ番号 3443)、レコード 5 を使いました。今回は、アプリに 請求番号・請求日・請求書ファイルの項目も用意されています。

帳票に使う内容 フィールドコード 種類
ご請求先 宛名 文字列(1 行)
請求書の番号 請求番号 文字列(1 行)
請求日 請求日 日付
担当者 担当者 ユーザー選択
請求する商品の明細 見積明細 テーブル(型番・商品名・単価・数量・金額)
税抜小計 小計金額 計算
消費税 消費税 計算
税込合計 合計金額 計算
備考 備考 文字列(複数行)
PDF の保存先 請求書ファイル 添付ファイル

テーブルのフィールドコードは「見積明細」のままですが、その内容を請求書にも使います。金額もレコードにある小計・消費税・合計を表示する形です。

例のレコードは明細 4 行で、備考は 2 行です。請求番号と請求日には値があり、請求書ファイルは空でした。既存の見積書ファイルとは、保存先を分けています。

発行元の会社名・住所・電話番号・登録番号、振込先、支払期限に対応する項目は、今回のアプリにはありません。これらは帳票に **「要設定」**の欄として用意されました。

今回使ったレコード(請求番号・請求日・請求書ファイルの項目を用意)

請求専用の項目を用意した見積書アプリのレコード。明細4行、請求書ファイルは空


1 通目: レコードの URL と、これまでの記事を渡す

最初は、レコードの URL と作り方の参考記事を添えて頼みました。

https://(kintone のドメイン)/k/guest/15/3443/show#record=5
のレコードから印刷屋プラグインの請求書の設定ファイルを作成して

作成方法は下記を参照
・AI(Claude Code)に帳票を作らせる
・AI(Claude Code)に帳票を作らせる(時計カタログ編)
・AI(Claude Code)に帳票を作らせる(見積書 3 案から実用版へ)

実際の依頼には、各記事へのリンクも付けています。

Codex は、作業フォルダーの資料と既存の設定を調べ、kintone から項目定義とレコードを取得しました。参考記事の公開ページは取得できなかったため、ローカルにあった記事原稿を読んでいます。

途中では、請求専用の項目がないとして、請求日に作成日を使う案を説明してきました。しかし、最新の項目定義を取得すると「請求番号」「請求日」「請求書ファイル」が見つかり、説明を訂正しました。最終的には、専用の項目を使う設定になっています。

AI が最初に説明した項目の有無も、実アプリと照らし合わせます。 今回は、最新の定義を読み直して修正されました。

最初の請求書

最初にできたのは、前回の実用版の見積書を土台にした請求書です。見出しと項目を請求書に合わせ、振込先と支払期限の欄を足していました。

印刷屋プラグインで生成した PDF の比較(左:前回の実用版の見積書、右:最初に作った請求書)

印刷屋で生成したPDFの比較。左は前回の実用版の見積書、右は最初の請求書

中央の見出し、金額の枠、右上の番号・日付の表などに、見積書の形が残っています。一方、請求書には空き行を足していないため、明細 4 行の下に備考・合計・振込先が続きます。

設定の検査はエラー 0。レコード 5 から HTML プレビューを書き出し、明細や金額の一致も確認されました。

ただ、今回ほしかったのは、見積書の形を引き継ぐ請求書ではなく、請求書として新しく考えたデザインです。そこで、続けて方向を伝えました。


2 通目: 「あらためて請求書をデザインして」

既存の見積書は参考にせずに、あらためて請求書をデザインして

色や配置を細かく指定したわけではありません。「何を土台にするか」を変える依頼です。

Codex は、請求書の本文と CSS を書き直しました。返答では、新しい方向を次のように説明しています。

白地に深い青緑のアクセントを使い、上部に請求番号・請求日、中央に大きな請求金額、下部に振込先と税額内訳を置く構成にしました。

請求番号・請求日・明細などのデータの対応はそのまま使い、見せ方を作り直しています。

新しい請求書の構成

場所 配置と見せ方
上部 左に小さな「INVOICE」と大きな「請求書」。右に請求番号と請求日
宛先と発行元 左にご請求先、右に発行元。宛名の敬称は「様」
請求金額 薄い青緑の帯に、税込金額を大きく表示。右に支払期限
明細 No.・型番・商品名・数量・単価・金額。縦罫線を使わず、横罫線で区切る
明細の下 左に振込先、右に税抜小計・消費税(10%)・税込合計
下部 備考。ページの末尾に請求番号とページ番号

見積書の実用版にあった、15 行にそろえる空き行は入れていません。今回のレコードでは、登録されている 4 行だけを出します。

単価・金額には YEN() を使い、「¥」付きの桁区切りで表示します。数量・単価・金額は右寄せ。商品名の列は残りの幅を使い、長い文字は折り返す設定です。

冒頭の比較画像の右側が、再デザイン版の PDF です。長い商品名は 2 行に折り返し、明細 4 行・税額内訳・振込先・備考まで、下に余白を残して表示されています。白黒印刷の結果や、別のレコードでの収まりは、別途確認します。

VS Code 内で、生成された HTML プレビューを開いた画面

VS Codeで請求書の設定JSONとHTMLプレビューを確認。再デザイン版の請求書が表示されている

左側に設定ファイル APP3443-見積書-請求書.json、右側に out/請求書.html のプレビューが見えます。この画像は HTML プレビューで、PDF の表示画面とは別です。


できあがった設定

設定ファイルは、最初に作ったものと同じ名前で更新されました。

settings/APP3443-見積書-請求書.json
設定 内容
ボタン名 請求書
表示する画面 詳細画面
用紙 A4 縦、96 dpi、1 ページの構成
ボタンを表示する条件 請求番号と請求日が入力され、明細が 12 行以下
PDF のファイル名 請求書-<請求番号>.pdf
保存先 請求書ファイル
ボタンを押したとき 確認後に PDF を作る設定
再発行 PDF がすでにあっても、表示条件を満たせばボタンを出す

12 行という制限は、はみ出しを確実に防ぐものではありません。 商品名や備考が長ければ、12 行以下でもページの下が切れる可能性があります。また、今回は例の 4 行で確認しており、12 行の収まりは未確認です。行数の上限は Codex が設定したもので、こちらから指定した条件ではありません。

前回の見積書は 15 行まで、今回の請求書は 12 行までです。12 行は Codex が最初の版で設定した上限で、再デザイン後の収まりを実測して決めたものではありません。

発行元・登録番号・振込先・支払期限は「要設定」のままです。請求書として使う前に、正しい内容を伝えて入れ替えます。

発行元は〇〇株式会社、住所は……、電話番号は……。
登録番号は……。
振込先は〇〇銀行〇〇支店、普通……、口座名義は……。
お支払期限は……。
請求書の「要設定」をこの内容に差し替えて。

上は追加依頼の例です。今回のやり取りでは、実情報への差し替えまでは行っていません。支払期限が請求ごとに変わるなら、アプリに項目を用意して、その値を帳票に出すよう依頼する方法もあります。


Codex が確かめたこと

Codex は、印刷屋プラグインの zip に含まれるコードを使うオーサリング用コマンドで、設定の検査と HTML プレビューの出力を行いました。

確かめたこと 結果
設定ファイルの検査 エラー 0、警告 1
HTML プレビューの計算式 エラー 0
ページ要素の数 1 ページ
明細 4 行。型番・商品名・数量・単価・金額がレコードと一致
請求番号 レコードと一致
請求金額と税額内訳 合計金額・小計金額・消費税がレコードと一致
ページ番号 1 / 1 に置き換わった
HTML の差し込み 未置換の式や明細の目印は残っていない

最初の版では、請求日・宛名・備考の改行も確認しています。デザインし直した後は、上の表の内容を確認しました。

警告 1 件は、FVAL と TABLE_HTML が生成した内容を HTML に入れることについてです。意図した使い方なので警告を隠さず残しています。型番と商品名には ESC_HTML() を使い、文字として表に入れる形にしました。

プレビューは out/請求書.html に出力されます。手元の Chrome で開いて見た目を確認できます。ただし、今回は Codex がブラウザーで描画した画面を見て評価したわけではなく、生成された HTML の内容を確認した結果です。

また、「ページ要素が 1 個」と「文字や表が 1 ページに収まる」は別の確認です。今回の明細 4 行の収まりは、HTML のページ数だけでなく、印刷屋で生成した PDF でも確認しました。

印刷屋で生成した PDF で確認できたことと、残る確認

最初の版と再デザイン版の両方を印刷屋で PDF にし、明細から備考まで表示されていることを確認しました。その PDF が冒頭と途中の比較画像です。添付ファイルへの保存や、条件によるボタン表示の動きは、別の確認として残っています。

確かめること 結果
レコード 5 の PDF の文字・罫線・金額・改行 明細 4 行・長い商品名の折り返し・金額・備考の 2 行を確認
明細 4 行の PDF が 1 ページに収まるか 両版とも 1 ページに収まり、下に余白がある。ページ番号は 1 / 1
請求書ファイルへの保存 未確認
再発行時、PDF が追加されるか置き換わるか 未確認
請求番号・請求日が空の場合のボタン表示 未確認
明細 12 行・13 行の場合のボタン表示 未確認
明細 12 行で、商品名や備考が長い場合の収まり 未確認

今回、Codex は kintone の項目・レコード・プラグイン設定を書き換えていません。作成したのは、ローカルの設定 JSON とプレビューです。


kintone に取り込む

「要設定」の内容を差し替えてから、印刷屋プラグインの設定画面に取り込みます。

  1. アプリの設定 → プラグイン → 印刷屋プラグインの 設定
  2. 設定をアップロード で APP3443-見積書-請求書.json を選ぶ
  3. 請求書ボタンを新しく足すなら 追加。すでに最初の版を取り込んでいるなら 一部置換で、置き換え先の「請求書」を選ぶ
  4. 保存する → 運用環境に反映
  5. レコードの詳細画面で「請求書」を押し、PDF の見た目・ファイル名・保存先を確かめる

「追加」と「一部置換」を使うと、既存の見積書ボタンを残したまま請求書を取り込めます。同名のボタンがある状態で「追加」にすると「請求書 (2)」になるため、差し替えたい場合は「一部置換」を選びます。


かかった時間・トークン数・概算コスト

今回の会話ログから、請求書作成の 2 回の依頼を集計しました。契約は ChatGPT Business、モデルは **GPT-6.1 Sol、推論設定は「中(medium)」**です。ログにも gpt-6.1-sol と medium が記録されています。

2 回の作業時間は合計 6 分 33 秒。Business の購入クレジットの Standard 単価に換算すると 約 11.05 クレジット、1 クレジット=$0.04 と仮定すると 約 $0.44です。これは今回の実請求額ではなく、月額料金・税を含めない概算です。公式の料金案内

時間にはツール実行・承認待ちを含み、依頼と次の依頼の間の時間、記事作成、kintone での取り込み・PDF 確認は含みません。Business の標準席でプラン内の利用枠に収まっていれば、この作業の追加支払いはありません。

時間・トークン数の集計方法と、コスト計算の内訳
回 依頼 経過時間 入力トークン うちキャッシュ入力 出力トークン
1 通目 請求書の設定ファイルを作成 4 分 28 秒 1,090,112 1,022,592 5,942
2 通目 あらためてデザイン 2 分 05 秒 536,307 516,736 5,455
計 6 分 33 秒 1,626,419 1,539,328 11,397
  • 時間はローカルの会話ログの task_started から task_complete までです。秒未満を四捨五入しています。ツール実行と承認待ちを含み、依頼と次の依頼の間の時間、記事作成、kintone での取り込み・PDF 確認は含みません。厳密には「送信ボタンを押した時刻」ではなく、ログに記録された処理開始から完了までの時間です
  • トークン数は、各依頼の前後の token_count.info.total_token_usage の差分です。累積値を毎回足すと重複するため、差分で集計します。キャッシュ入力は入力トークンの内数で、別途加算しません
  • 入力には依頼文だけでなく、資料・ツールの結果・会話履歴などを、処理を続けるために何度も読み込んだ分が含まれます。最終回答の文字数や、設定ファイルの大きさを表す数値ではありません
  • この表はログに記録された使用量で、請求額ではありません。実際の作業単位の支払額は確認していません

次回も同じように測るなら、対象の依頼の開始・終了イベントと、直前・終了時点の累積使用量を保存します。人が PDF を確認する時間も含めたい場合は、それを別に計測します。

Business の購入クレジットに換算すると

2026 年 10 月 7 日に確認した公式の料金案内では、GPT-6.1 Sol の Standard 速度の単価は、100 万トークンあたり通常入力 50 クレジット、キャッシュ入力 2.5 クレジット、出力 250 クレジットです。この単価で今回の使用量を換算しました。

回 依頼 概算クレジット 1 クレジット=$0.04 と仮定した換算額
1 通目 請求書の設定ファイルを作成 7.42 $0.30
2 通目 あらためてデザイン 3.63 $0.15
計 11.05 $0.44

合計は丸める前の値から計算しています。各行のドル表示を足すと $0.45 になりますが、丸める前の合計は $0.4420848 なので、合計欄は $0.44 です。

計算の内訳は次のとおりです。キャッシュ入力は入力トークンの内数なので、通常入力から差し引きます。

通常入力       87,091 × 50  / 1,000,000 = 4.35455 クレジット
キャッシュ  1,539,328 × 2.5 / 1,000,000 = 3.84832 クレジット
出力           11,397 × 250 / 1,000,000 = 2.84925 クレジット
合計                                    11.05212 クレジット

約 11.05 クレジット、仮に 1 クレジット=$0.04 なら約 $0.44です。ドル換算の単価は仮定で、実際の購入単価や割引を確認したものではありません。月額料金・税は含めていません。

Business の標準席でプラン内の利用枠に収まっていれば、この作業の追加支払いはありません。上の金額は、購入クレジットで同じ使用量を処理した場合の相当額で、今回の請求額ではありません。Codex 専用席や購入クレジットの利用状況によって扱いが変わるため、実際の支払いは契約と使用量画面で確認します。

また、「中(medium)」は推論の強さで、Standard / Fast という速度設定とは別です。今回の計算は Standard 速度を前提とした概算です。ログの速度設定は確定できていません。Fast 速度で購入クレジットを使った場合は公式単価が 2 倍になり、約 22.10 クレジット(同じドル換算の仮定なら約 $0.88)です。


今回の試作で分かったこと

Claude Code を前提に用意した帳票作成のしくみは、今回の試作では Codex でも使えました。 帳票仕様やレシピ、オーサリング用コマンドを使い、請求書の設定 JSON を作成し、検査と HTML プレビューの出力まで進められました。

請求書の作成だけでなく、言葉でデザインの変更を依頼する流れも試せました。これから同じしくみで帳票を作るなら、次の条件を伝えると進めやすくなります。

  • 既存の帳票を参考にするかを最初に伝える。「前回の見積書を土台にして」か「既存の帳票は参考にせず、新しくデザインして」かで、作る方向を指定します
  • 未確定の業務情報は「要設定」にする。会社名・登録番号・口座情報を推測させず、正しい情報がそろってからまとめて差し替えます。今回も、実情報への差し替えは残っています
  • 業務の条件を伝え、最後は実物で確認する。明細の最大行数、支払期限、宛名の敬称などを指定し、使うレコードで PDF の収まりと保存先を確かめます

前回は Claude Code、今回は Codex を使いました。どちらの回も、作業フォルダーの帳票仕様とオーサリング用コマンドを使って設定を作っています。ただし、今回は同じ条件で性能を比較した実験ではありません。前回は 3 案の作成と評価、今回は請求書の作成と再デザインなので、時間の違いをそのまま AI の性能差とは扱えません。


関連記事

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?