kintoneで請求書を作って出す。明細テーブルと計算式、印刷まで

公開 書いた人 大林 諒

kintoneで請求書アプリを作ります。明細をテーブルで入れ、合計と消費税は計算式で出し、ステータスで「下書き」から「入金済」までを追い、最後は標準の「レコードを印刷」でPDFにします。読み終わると、顧客管理アプリとつながった請求書アプリが1つでき、見積書や案件のレコードからボタン1つで請求書を起こせる状態になります。前提として、顧客管理アプリがすでにあり、アプリの管理権限を持っていることを想定しています。

先に結論を書いておくと、明細と金額の計算、ステータス、入金の確認までは標準機能で足ります。弱いのは「見た目の整った請求書を印刷する」ところだけです。印刷用画面のレイアウトはフォームの並びそのままで、変えられません。少量ならブラウザのPDF保存で出し、社外に出す量が増えたら帳票プラグインに移る、という順番が無駄がありません。

この記事の内容
  1. 先に決めること
  2. 請求書アプリの設計表
  3. 作る手順
  4. 印刷して出す
  5. 応用
  6. できないことと、その代わり
  7. よく詰まるところ
  8. 次にやること

先に決めること

ここを決めずに作り始めると、データが溜まってから作り直しになります。経理の担当者と一緒に決めてから手を動かします。

1枚の請求書を1レコードにする

請求書1枚を1レコードにし、明細はそのレコードの中の[テーブル]に入れます。明細を別アプリに分けると、合計も印刷も1画面で済まなくなります。

ただし、テーブル内のフィールドはソートに使えず、一覧にも常時は表示されません。「品目別にいくら売れたか」を細かく分析したい会社は、明細を別アプリに持つ形も検討します。請求書を出すことが目的なら、テーブルで十分です。

請求番号をどう振るか

kintoneの[レコード番号]は、レコードを作った順に自動で付く連番です。あとから変更はできず、書式の指定もできません。削除したレコードの番号は欠番になります。

「2026-0001」のように年度を頭に付けたい場合、標準機能ではできません。[レコード番号]は計算式で参照できないフィールドなので、計算で年度とつなげることもできません。年度付きの番号が必須なら、JavaScriptでカスタマイズするか、採番の機能を持つプラグインなど外部の手段を使います。

「INV-1」「INV-2」のような接頭辞だけでよければ、アプリコードで実現できます。番号を1から振り直したくなったら、アプリを作り直してデータを読み込み直すしかないので、運用前に決めておきます。

消費税の端数と税率の持ち方

端数を切り捨てるか、四捨五入するか、切り上げるかを経理に確認します。多くの会社は切り捨てです。

インボイス制度では、消費税の端数処理は請求書1枚につき税率ごとに1回です。明細の行ごとに税額を出して足し合わせる作りにすると、このルールから外れます。なので消費税はテーブルの外で、税率ごとの合計に対して1回だけ計算します。

軽減税率(8%)の品目を扱わない会社は、税率を持たずに10%で固定した式にします。扱う会社は、明細の各行に税率を持たせます。

ステータスはプロセス管理で持つ

ステータスを[ドロップダウン]で作ると、印刷したときに「入金済」などの文字が紙に出てしまいます。プロセス管理のステータスは、レコードを印刷しても印刷されません。さらに、ステータスを条件にレコードのアクセス権をかけられるので、発行済の請求書を勝手に直せないようにできます。この2つの理由で、ステータスはプロセス管理で持ちます。

請求書をどこから起こすか

案件管理アプリから起こすのか、見積書アプリから起こすのかを決めます。見積書の明細をそのまま請求書に移したいなら、見積書アプリを作り、アプリアクションでテーブルごと転記します。案件の金額だけ分かればよいなら、案件管理アプリから起こします。

請求書アプリの設計表

顧客管理アプリに「会社名」「住所」「担当者名」があり、「会社名」に「値の重複を禁止する」をかけている前提で書きます。フィールドコードはフィールド名と同じにしておくと、計算式が読みやすくなります。

フィールド名種類設定
請求番号レコード番号フィールド名を「請求番号」に変更。アプリコードを設定すると「INV-1」の形になる
請求先ルックアップ関連付けるアプリ:顧客管理。コピー元のフィールド:会社名。必須
請求先住所文字列(1行)ルックアップの「ほかのフィールドのコピー」でコピー
請求先担当者文字列(1行)同上
請求日日付「レコード登録時の日付を初期値にする」にチェック
支払期限日付「必須項目にする」にチェック
件名文字列(1行)必須
明細テーブル中身は次の表
税抜合計計算SUM(金額)。単位記号「¥(円)」
消費税計算ROUNDDOWN(税抜合計*10/100)
税込合計計算税抜合計+消費税
自社情報ラベル社名・登録番号・振込先を固定文で書く
経理担当ユーザー選択プロセス管理の作業者に使う
入金日日付入金を確認した日
入金額数値桁区切りを表示する
差額計算税込合計-入金額

明細テーブルの中身です。

フィールド名種類設定
品目文字列(1行)品目マスタがあればルックアップにする
単価数値「桁区切りを表示する」にチェック
数量数値初期値:1
単位文字列(1行)式・時間・個など
金額計算単価*数量

軽減税率を扱う場合は、テーブルに次の3列を足し、テーブル外の合計を税率ごとに分けます。

フィールド名種類設定
税率ドロップダウン(テーブル内)項目:10%、8%。初期値:10%
金額10計算(テーブル内)IF(税率="10%",金額,0)
金額8計算(テーブル内)IF(税率="8%",金額,0)
税抜10計算(テーブル外)SUM(金額10)
税抜8計算(テーブル外)SUM(金額8)
消費税10計算(テーブル外)ROUNDDOWN(税抜10*10/100)
消費税8計算(テーブル外)ROUNDDOWN(税抜8*8/100)
消費税計算(テーブル外)消費税10+消費税8
税抜合計計算(テーブル外)税抜10+税抜8

kintoneにはSUMIF関数がありません。テーブル内でIF関数を使って税率ごとの列に振り分け、それをテーブル外でSUM関数で合計するのが、税率ごとの合計を出す形です。

作る手順

アプリを作る

  1. ポータルの「アプリ」エリアで「アプリを作成する」をクリックします。
  2. 「kintoneアプリストア」画面で「はじめから作成」をクリックします。
  3. アプリ名に「請求書」と入力します。
はじめから作成した直後のフォーム編集画面
はじめから作成した直後のフォーム編集画面

ヘッダー部分のフィールドを置く

フォームの上から、印刷したときに請求書として読める順に並べます。印刷用画面はこの並びのまま出るので、ここでの配置がそのまま紙のレイアウトになります。

  1. 左のフィールド一覧から[レコード番号]を右へドラッグします。
  2. 歯車アイコンから「設定」を開き、「フィールド名」を「請求番号」にして保存します。
  3. [ルックアップ]を置き、「フィールド名」を「請求先」にします。
  4. 「関連付けるアプリ」で顧客管理アプリを選びます。
  5. 「コピー元のフィールド」で「会社名」を選びます。
  6. 「ほかのフィールドのコピー」で、顧客管理の「住所」を請求書の「請求先住所」へ、「担当者名」を「請求先担当者」へ対応させます。
  7. 「コピー元のレコードの選択時に表示するフィールド」に、会社名と住所を入れます。同名の会社を選び間違えないためです。
  8. [日付]を2つ置き、「請求日」と「支払期限」にします。
  9. 「請求日」は「レコード登録時の日付を初期値にする」にチェックを入れます。
  10. 「支払期限」は「必須項目にする」にチェックを入れます。

「関連付けるアプリ」と「コピー元のフィールド」は、一度選んでフォームを保存すると変更できません。キーにするフィールドは、顧客管理で値が重複しないものを選びます。

ルックアップの設定画面(関連付けるアプリ・コピー元のフィールド・ほかのフィールドのコピー)
ルックアップの設定画面(関連付けるアプリ・コピー元のフィールド・ほかのフィールドのコピー)

ルックアップで取ってきた住所は、顧客管理側の住所が変わっても自動では更新されません。請求書にはこれが都合よく、発行したときの宛先が残ります。最新の住所にしたいときだけ、編集画面で「取得」を押し直します。

明細テーブルを作る

  1. [テーブル]をフォームにドラッグします。
  2. テーブルの中に[文字列(1行)]を置き、「品目」にします。
  3. 同じく[数値]を2つ置き、「単価」「数量」にします。
  4. 「単価」は「桁区切りを表示する」にチェックを入れ、「単位記号」に「¥(円)」を指定します。
  5. 「数量」の「初期値」に1を入れます。
  6. [文字列(1行)]を置き、「単位」にします。
  7. [計算]を置き、「金額」にします。
  8. テーブルの設定を開き、「テーブル名」に「明細」と入れます。

テーブルにできないフィールドがあります。[レコード番号][作成者][更新者][作成日時][更新日時][ラベル][関連レコード一覧][グループ]などは、テーブルの中に置けません。また、いったんテーブル外に置いて「アプリを公開」や「アプリを更新」をしたフィールドは、あとからテーブルに入れられません。明細の列は最初からテーブルの中に作ります。

テーブルの目安は、公式の制限値で「フィールド10個・行100行程度」とされています。上限ではなく推奨値ですが、明細が毎回100行を超えるような請求書は、明細を別アプリにする設計を考えます。

明細テーブルを配置したフォーム
明細テーブルを配置したフォーム

テーブルの中の計算式を書く

「金額」の計算式は 単価*数量 です。テーブルの中に置いた計算フィールドは、行ごとに計算されます。1行目の金額は1行目の単価と数量、2行目の金額は2行目の単価と数量で出ます。

公式ヘルプに載っている行ごとの計算の例は、どれも同じ行の値だけを使うものです。「1つ上の行の金額」や「ここまでの累計」を行の中で出す作りは考えず、合計はテーブルの外でSUMして見ます。

計算式には、フィールド名ではなくフィールドコードを書きます。式を書く前に各フィールドの設定で「フィールドコード」を確かめ、必要に応じて名前と同じにしておくと、間違いが減ります。計算式の入力欄の「フィールドコードを挿入する」から選べば、打ち間違いもありません。

数量に「1.5」のような小数が入る会社(時間単価の請求など)は、金額が小数になります。行ごとに円未満を処理したいなら、ROUND(単価*数量) のように関数で包みます。

テーブル内の計算フィールドの設定(計算式の入力欄)
テーブル内の計算フィールドの設定(計算式の入力欄)

テーブルの外で合計と消費税を出す

テーブルの外に[計算]を3つ置きます。

  1. 「税抜合計」に SUM(金額) を入れます。
  2. 「消費税」に ROUNDDOWN(税抜合計*10/100) を入れます。
  3. 「税込合計」に 税抜合計+消費税 を入れます。

テーブルの外からテーブルの中のフィールドを参照すると、値は1つではなく列全体(配列)として扱われます。そのため使える関数はSUM関数とCONTAINS関数に限られます。金額*1.1 のようにテーブル外から直接計算しようとすると、「配列型の値に対して適切な関数が利用されていません。」というエラーで保存できません。

端数処理の関数は3つです。

関数動き式の例
ROUNDDOWN切り捨てROUNDDOWN(税抜合計*10/100)
ROUND四捨五入ROUND(税抜合計*10/100)
ROUNDUP切り上げROUNDUP(税抜合計*10/100)

書式は ROUNDDOWN(数値, 桁数) で、桁数を省略すると0とみなされ、小数第1位で処理されて整数になります。1円単位なら桁数は省略して構いません。

税率を *0.1 ではなく *10/100 と書くのには理由があります。アプリの「高度な設定」にある「数値と計算の精度」で「小数部の桁数」を0にしていると、式の中の小数にもその設定がかかります。公式ヘルプには、税抜き価格*1.1 が実質 税抜き価格*1 として計算され、税込みが税抜きと同じ額になる例が載っています。割り算で書いておけば、この設定に左右されません。

軽減税率を扱う場合は、設計表の追加分のとおり、テーブル内に「税率」「金額10」「金額8」を足し、テーブル外で税率ごとに SUM と ROUNDDOWN をかけます。「金額10」「金額8」の列は印刷にも出ます。気になる場合は列名を「10%対象」「8%対象」にしておくと、請求書の内訳として読める見た目になります。

テーブル外の合計・消費税・税込合計の計算フィールド
テーブル外の合計・消費税・税込合計の計算フィールド

計算フィールドの表示形式を整える

計算フィールドの設定には「表示形式」「小数点以下の表示桁数」「単位記号」があります。

  1. 「税抜合計」の設定を開きます。
  2. 「表示形式」で数値を選び、桁区切りが付く形にします。
  3. 「単位記号」で「¥(円)」を選びます。
  4. 「消費税」「税込合計」「差額」も同じ設定にします。

「小数点以下の表示桁数」は表示だけを切り捨てる設定です。データの値は変わらないので、CSVに書き出すと元の小数がそのまま出ます。値そのものを丸めたいときは、表示桁数ではなくROUND系の関数を使います。ここを混同すると、画面とCSVで金額が1円ずれます。

数値と計算の精度を確かめる

  1. アプリの設定の「設定」タブを開きます。
  2. 「その他の設定」の「高度な設定」をクリックします。
  3. 「数値と計算の精度」を確認します。

初期値は「全体の桁数」16、「小数部の桁数」4、「丸めかた」は「最近接偶数への丸め」です。この設定はROUND関数や「小数点以下の表示桁数」より優先されます。計算結果が想定と1円違うときは、まずここを見ます。

アプリコードを設定する

請求番号を「INV-1」の形にする場合です。

  1. 「高度な設定」画面の「アプリコード」に「INV」と入力します。
  2. 「保存」をクリックします。

アプリコードはアルファベットから始まる半角英数字で、ほかのアプリと同じコードは付けられません。

自社情報と振込先を置く

フォームの下のほうに[ラベル]を置き、社名・住所・インボイスの登録番号・振込先を書きます。ラベルは入力欄ではなく固定の文なので、レコードごとに打つ手間がありません。

プロセス管理を設定する

ステータスは「下書き」「発行済」「入金済」「取消」の4つです。

  1. アプリの設定の「設定」タブで、「一般設定」の「プロセス管理」を開きます。
  2. 「プロセス管理を有効にする」にチェックを入れます。
  3. 「2. ステータス」で、初期値の名前を「下書き」「発行済」「入金済」「取消」に変えます。足りない分は追加します。
  4. 「3. プロセス」で、下書きの行の「作業者」を「作成者」にします。
  5. 「アクション名(ボタン名)」に「発行する」、「実行後のステータス」に「発行済」を指定します。
  6. 下書きにもう1行追加し、アクション名「取り消す」、実行後のステータス「取消」にします。
  7. 発行済の行は、「作業者」を[フォームのフィールドを追加]から「経理担当」にします。
  8. アクション名「入金済にする」、実行後のステータス「入金済」にします。
  9. 「アクションが実行できる条件」で、入金日が入っているレコードだけに絞ります。
  10. 発行済にもう1行追加し、アクション名「取り消す」、実行後のステータス「取消」にします。
  11. 「保存」をクリックします。

入金済と取消は最後のステータスなので、プロセスは要りません。作業者に指定したユーザーには、レコードの閲覧権限が必要です。閲覧できないとボタンを押せません。

プロセス管理の設定(ステータスとプロセス)
プロセス管理の設定(ステータスとプロセス)

発行済の請求書を直せないようにする

発行した請求書は、金額を直すのではなく取り消して出し直すのが筋です。レコードのアクセス権で固めます。

  1. アプリの設定の「設定」タブで、「アクセス権」の「レコード」を開きます。
  2. 「追加する」をクリックします。
  3. 「レコードの条件」で、ステータスが「入金済」「取消」のいずれかを含む、を指定します。
  4. 「Everyone」には閲覧だけを許可します。
  5. もう1行追加し、ステータスが「発行済」の条件で、経理担当のユーザーに閲覧と編集、「Everyone」に閲覧だけを許可します。
  6. 最後の行の「すべてのレコード」は、「Everyone」に全操作を許可したままにします。
  7. 「保存」をクリックします。

レコードのアクセス権は上の行が優先されます。ステータスの条件の行を「すべてのレコード」より上に置かないと、制限が効きません。発行済でも経理担当に編集を残しているのは、入金日と入金額を入れるためです。

一覧を作る

経理が毎日見る一覧を3つ作ります。

一覧名条件ソート表示する列
未入金ステータスが発行済支払期限の昇順請求番号・請求先・件名・税込合計・支払期限
期限超過ステータスが発行済、かつ支払期限が今日より前支払期限の昇順同上+経理担当
今月発行請求日が今月請求番号の降順請求番号・請求先・税込合計・ステータス
  1. アプリの設定の「一覧」タブを開きます。
  2. 「一覧を追加する」をクリックします。
  3. 「一覧名」に「未入金」と入れます。
  4. 「レコード一覧の表示形式」は「表形式」を選びます。
  5. 左のフィールドを右へドラッグして、表示する列を並べます。
  6. 「条件」で、ステータスが発行済のレコードに絞ります。
  7. 「ソート」で支払期限の昇順を指定します。
  8. 「保存」をクリックします。
  9. 残りの2つも同じ手順で作ります。

日付の条件の「より前」「以前」は、値が空のレコードも含みます。支払期限を必須にしているのはこのためでもあります。「今月」は1日から月末日までです。

一覧に明細テーブルを入れることもできますが、各行の「表示する」を押したときだけ開く形で、常に表示はされません。

未入金一覧の条件とソートの設定
未入金一覧の条件とソートの設定

グラフを作る

月ごとの請求額を見るグラフです。

  1. 一覧画面で「集計する」アイコンをクリックします。
  2. グラフの種類で縦棒グラフを選びます。
  3. 「分類する項目」の大項目に「請求日」を選び、「月単位」にします。
  4. 「集計方法」で「合計」を選び、対象を「税込合計」にします。
  5. 「条件」で、ステータスが取消のものを除きます。
  6. 「保存する」をクリックし、グラフ名を付けます。

支払期限の翌日に通知する

  1. アプリの設定の「設定」タブで、「通知」の「リマインダーの条件通知」をクリックします。
  2. 「追加する」をクリックします。
  3. 基準日に「支払期限」を選び、「1日後」にします。
  4. 時刻は9時を指定します。
  5. 条件に、ステータスが「発行済」を含む、を指定します。
  6. 通知先に、[フォームのフィールドを追加]から「経理担当」を追加します。
  7. 「通知内容」に「支払期限を過ぎた請求書があります」と入れます。
  8. 「保存」をクリックします。

リマインダーの基準日にできるのは[日付][日時][作成日時][更新日時]のフィールドです。支払期限を計算フィールドで出していると基準日に選べないので、支払期限は[日付]で持ちます。リマインダーの条件は1つのアプリで10件まで、1つの設定で1回に通知されるのはレコード番号の大きいものから最大500件です。

リマインダーの条件通知の設定
リマインダーの条件通知の設定

公開して試す

  1. 画面左上の「フォームを保存」をクリックします。
  2. 右上の「アプリを公開」をクリックします。設定を変えたあとは「アプリを更新」です。
  3. テスト用に請求書を1件作り、明細を3行入れて合計と消費税を電卓で確かめます。
  4. 「発行する」を押し、発行済の状態で作成者が金額を直せないことを確かめます。

印刷して出す

標準の「レコードを印刷」

  1. 請求書のレコードを開きます。
  2. 「オプション」アイコンから「レコードを印刷」をクリックします。
  3. 履歴を紙に載せたくなければ、「ステータスの履歴を印刷する」のチェックが外れていることを確かめます。
  4. 「印刷する」をクリックします。
  5. ブラウザーの印刷画面で、送信先にPDFとして保存するものを選びます。

ブラウザーが余白に日付やページ名を印刷する場合は、ヘッダーとフッターをオフにします。Google Chromeなら印刷画面の「詳細設定」の「オプション」にある「ヘッダーとフッター」です。

レコードの印刷用画面
レコードの印刷用画面

印刷されないものは、コメント、変更履歴、プロセス管理のステータスとボタン、画面上部のヘッダー、メニュー、背景のデザインです。フォームに置いたフィールドは、そのまま紙に出るものとして設計しておきます。

公式ヘルプには、印刷用画面のレイアウトは変更できず、フォームの設定と同じになると書かれています。印刷するフィールドを選ぶ設定についての記載もありません。フォームは1つのアプリに1つだけなので、次の工夫で紙面を整えます。

  • 社内向けのメモはフィールドにせず、レコードのコメントに書く。コメントは印刷されない
  • 経理担当・入金日・入金額・差額は、自社情報のラベルより下にまとめて置く
  • 見出しが不要なフィールドは「フィールド名を表示しない」にチェックを入れる
  • ステータスはプロセス管理で持つ。ドロップダウンにすると紙に出る

社内の確認用や、書式にこだわらない取引先に月数通出す程度なら、これで回ります。

帳票プラグインが要るとき

次のどれかに当てはまったら、帳票を出すプラグインか連携サービスを入れます。

  • 取引先に出す請求書で、ロゴ・角印・振込先を決まった位置に置きたい
  • 社内用の欄(入金日や担当者)を紙に出したくない
  • 明細の行数が多く、ページをまたいだときに見出しを繰り返したい
  • 月の発行が数十通になり、1通ずつ印刷画面を開くのが重い
  • PDFをレコードに自動で添付したり、そのままメールで送ったりしたい

帳票系の多くは、Excelなどで作ったひな形にkintoneの値を差し込む形です。選ぶときは、テーブルの明細をひな形の表に流し込めるか、複数レコードをまとめてPDFにできるか、を確かめます。契約しているkintoneのコースによって、プラグインや連携サービスを使えない場合があるので、先に自社のコースを確認します。

プラグインを入れる前のつなぎとしては、レコードをCSVに書き出してExcelのひな形に貼る手もあります。CSVには桁区切りや単位記号は出ません。

応用

案件管理から請求書を起こす

案件管理アプリに「請求書を作る」ボタンを付けます。設定するのは案件管理アプリの側です。

  1. 案件管理アプリの一覧画面で「アプリを設定」をクリックします。
  2. 「設定」タブの「その他の設定」で「アクション」をクリックします。
  3. 「作成する」をクリックします。
  4. 「アクション名」に「請求書を作る」と入れます。
  5. 「コピー先」で請求書アプリを選びます。
  6. 「フィールドの関連付け」で、案件の「顧客名」を請求書の「請求先」に、「案件名」を「件名」に対応させます。
  7. 「アクションの利用者」を経理のグループに絞ります。初期値は「Everyone」です。
  8. 「アクションを利用できる条件」で、案件のステータスが受注のものだけにします。
  9. 「保存」をクリックし、「アプリの設定に戻る」から「アプリを更新」します。
アクションの作成画面(フィールドの関連付け)
アクションの作成画面(フィールドの関連付け)

ボタンは案件の[レコードの詳細]画面に出ます。押すと、指定したフィールドが転記された請求書の新しいレコードが開きます。ルックアップの「請求先」は、転記されたあとに「取得」を押して住所などを取り直します。

注意点が1つあります。テーブルの外のフィールドは、テーブルの中にはコピーできません。案件の「受注金額」を請求書の明細の「単価」に入れることはできないので、明細は請求書側で入力します。金額を照らし合わせたいなら、請求書のテーブル外に[数値]の「受注金額」を作り、そこへコピーしておきます。

ボタンが出ないときは、利用者に入っているか、条件を満たしているかを見ます。ボタンを押す人には、コピー先アプリへのレコード追加権限と、関連付けたフィールドの閲覧・編集権限が必要です。アプリアクションは1つのアプリに100件まで作れます。

見積書を請求書に変える

明細ごと移したいなら、見積書アプリを請求書アプリと同じ形で作ります。見積書にも「明細」テーブルを置き、「品目」「単価」「数量」「単位」の列をそろえます。

見積書アプリにアクションを作り、コピー先を請求書アプリにします。テーブル内のフィールドは、1つずつ関連付けを指定します。

見積書のフィールド請求書のフィールド
顧客名請求先
件名件名
見積番号(レコード番号)見積番号(ルックアップ)
明細の品目明細の品目
明細の単価明細の単価
明細の数量明細の数量
明細の単位明細の単位

[計算]フィールドはコピー先に指定できません。明細の「金額」や合計は関連付けず、請求書側の計算式で計算し直させます。

請求書に、見積書のレコード番号をキーにしたルックアップ「見積番号」を置いておくと、どの見積から起こした請求書かを後から辿れます。[レコード番号]はルックアップへコピーできます。アプリコードを設定している場合、コピーされるのは番号だけです。

アクションの条件を見積書のステータスが「受注」のものにしておくと、失注した見積から請求書が作られる事故を防げます。

毎月同じ内容の請求書を出す

顧問料や保守料のように毎月同じ明細を出すなら、先月の請求書を開いて「レコードを再利用する」で複製します。レコード番号・ステータス・コメント・添付ファイルはコピーされず、新しい下書きとして登録されます。請求日と支払期限を先月のまま保存するミスが多いので、保存前に日付を見直します。

決まったフィールドだけを複製したいなら、請求書アプリ自身をコピー先にしたアクション「翌月分を作る」を作ります。請求日・支払期限・入金日を関連付けから外しておけば、直し忘れがなくなります。

会計ソフトに渡す

入金済の一覧からCSVを書き出し、会計ソフトに取り込みます。明細がある請求書は明細の行数だけ行が出て、テーブル外の請求先や税込合計は各行に繰り返し入ります。仕訳を請求書1枚につき1行にしたい場合は、「レコードの開始行」に「*」が付いた行だけを使います。

できないことと、その代わり

できないこと代わりの手
印刷用画面のレイアウト変更フォームの並びを紙に合わせる。社内メモはコメントへ。足りなければ帳票プラグイン
請求番号を「2026-0001」の形にするJavaScriptでカスタマイズするか、プラグインなど外部の手段。接頭辞だけならアプリコード
レコード番号を計算式で使う番号の加工はJavaScriptか、プラグインなど外部の手段
レコード番号の振り直しアプリを再利用して作り直し、CSVを「レコードの追加のみ」で読み込む
テーブル外からテーブルの列を直接計算するSUM関数で合計してから計算する
SUMIF関数で税率ごとに合計するテーブル内でIF関数で振り分け、テーブル外でSUM
支払期限を「翌月末」で自動計算する月末を返す関数はない。日数を足す式か手入力。翌月末固定ならJavaScript
テーブル内のフィールドで一覧をソートする並べたい値はテーブル外に持つ

よく詰まるところ

症状原因直し方
合計の式が「配列型の値に対して適切な関数が利用されていません。」で保存できないテーブル外の計算式でテーブル内のフィールドをSUMなしで使っているSUM(金額) のように包む
「計算式に含まれるフィールドコード(…)が存在しません。」と出るフィールド名で書いている。または演算子が全角フィールドコードを確認し、演算子を半角にする
消費税が0円、または税込が税抜と同じになる「高度な設定」の「小数部の桁数」が0で、*0.1 が丸められている*10/100 と割り算で書く
画面とCSVで金額が1円違う「小数点以下の表示桁数」で表示だけ切り捨てているROUND系の関数で値を丸める
明細ごとに消費税を出したら合計が経理と合わない行ごとに端数処理している税率ごとの合計に対して1回だけ端数処理する
支払期限がリマインダーの基準日に出てこない支払期限を計算フィールドで作っている[日付]フィールドにする
期限超過の一覧に支払期限が空の請求書が混ざる「より前」は空のレコードも含む支払期限を必須にする
印刷した請求書に「入金済」や社内メモが出るステータスをドロップダウンで、メモをフィールドで持っているステータスはプロセス管理、メモはコメントへ
顧客の住所を直したのに、請求書の住所が古いルックアップは自動で更新されない編集画面で「取得」を押し直す。過去の請求書は直さない
「請求書を作る」ボタンが出ないアクションの利用者や条件から外れている利用者と条件、コピー先への追加権限を確認する
「入金済にする」ボタンが出ない作業者が経理担当になっていない。または入金日が空経理担当と入金日を入れる
発行済の請求書を作成者が直せてしまうアクセス権の行の順番で「すべてのレコード」が上にあるステータス条件の行を上へドラッグする
取り消した請求書を削除したら番号が飛んだ削除したレコード番号は欠番になる削除せず「取消」にして残す

次にやること

請求先の元になる顧客マスタがまだなら、先に「kintoneで顧客管理アプリを作る全手順(項目設計から一覧・通知まで)」で作ります。受注から請求書を起こす流れを組むなら「kintoneで案件管理を組む。顧客管理とつなぐ作り方」が続きです。

支払期限を請求日から自動で出したい、値引きの条件で金額を変えたい、といった式は「計算式の書き方。条件分岐(IF)と日付計算のパターン集」にまとめています。明細テーブルで他にできること・できないことは「テーブル(サブテーブル)の使い方。できること・できないこと」で詳しく扱っています。

あわせて読む