タグ: 消費税計算

  • Claude Artifactsで作った見積ツールを、端数がずれる数量の基準表で確かめる

    Claude Artifactsで作った見積ツールを、端数がずれる数量の基準表で確かめる

    数量を入れると本体・税額・合計が出る見積ツールなら、ClaudeのArtifactsに頼めば数分で画面ができます。けれども、画面がきれいに動くことと、金額が正しいことは別です。税額をどの順番で計算するか、空欄や小数を入れたときにどう表示するかは、画面を眺めていても分かりません。

    単価2,501円、税10%、1円未満切り捨ての見積もりで計算してみると、1点ごとに税額を切り捨ててから合計する誤った順序でも、数量1から9までは正しい金額と一致します。初めて1円ずれるのは数量10で、数量100では10円ずれます。数量1や2で画面を確かめただけでは、計算の順序の誤りは見つかりません。

    そこでこの記事では、作る前に計算の順序と受け付ける数量を決め、誤りが金額に出る数量を入れた基準表を用意し、Claudeが作った見積ツールの画面をその表で確かめる手順をまとめます。実際にこの手順でArtifactを1回作らせて確かめた結果も示します。読み終えたら、自分の単価で基準表を作り、Artifactsの見積ツールを社内で使い始めてよいかを判断できます。

    作る前に決めること:計算の順序と、受け付ける数量

    例にしたのは、1点2,501円の加工サービスの見積もりです。数量は1〜100の整数、税は10%で1円未満を切り捨てます。

    計算の順序は「本体合計を出してから、その10%を切り捨てて税額にする」と決めます。数量2なら、本体2,501円×2=5,002円、税額5,002円×10%=500.2円の切り捨てで500円、合計5,502円です。

    もう1つの順序、「1点ごとの税額250.1円を250円に切り捨ててから数量を掛ける」でも、数量2の税額は250円×2=500円で同じになります。2つの順序の税額を数量ごとに並べると、次のようになります。

    数量 本体合計から計算した税額 1点ごとに切り捨てた税額
    1〜9 250円×数量と同じ 同じ(差なし)
    10 25,010円×10%=2,501円 250円×10=2,500円(1円少ない)
    20 50,020円×10%=5,002円 250円×20=5,000円(2円少ない)
    100 250,100円×10%=25,010円 250円×100=25,000円(10円少ない)

    1点ごとの税額で切り捨てた0.1円が、数量10でようやく1円分たまるからです。自分の単価で同じ表を作るときは、1点分の税額の端数(ここでは0.1円)に数量を掛けた値が、初めて1円以上になる数量を探し、その数量を基準表に入れます。端数が出ない単価や、数量の上限内では差が出ない単価なら、差を確かめられる単価もテスト用に用意します。

    受け付ける数量も、作る前に決めておきます。空欄、0、負の数、小数、数字以外、上限の101以上は、金額を出さずに理由を表示する、と決めました。とくに小数は、画面側が1.5を1に直してから計算すると、金額は出るのに入力の誤りが消えてしまいます。

    基準表:計算する値と、金額を出さない値

    画面に入れる値と、期待する表示を表にします。これが確かめるときの基準表です。

    画面に入れる値 期待する表示
    1 本体2,501円・税額250円・合計2,751円
    2 本体5,002円・税額500円・合計5,502円
    10 本体25,010円・税額2,501円・合計27,511円(2,500円なら順序の誤り)
    100 本体250,100円・税額25,010円・合計275,110円(25,000円なら順序の誤り)
    空欄、0、-1、1.5、true、101 金額を出さず、それぞれの理由を表示する

    確かめる順番も決めておきます。数量2を入れて金額を見たあと、同じ入力欄を空欄、0、1.5の順に変え、そのたびに前の金額が消えるかを見ます。エラーのときに表示を更新しない作りだと、前の合計が残ったまま理由だけが出て、誤った金額が読まれてしまうからです。

    Claudeへ渡す制作依頼

    決めたことを、そのまま依頼文に書きます。

    加工サービスの見積試算用Artifactを作ってください。単価は2,501円、数量は1〜100の整数です。本体合計を計算した後、その10%の1円未満を切り捨てて税額とし、本体と税額を合計します。数量が空欄、0、負数、小数、数値以外なら金額を表示せず、理由を示してください。数量を文字列から読み取る際も、小数を整数へ切り捨てないでください。本体、税額、合計を別々に表示し、「試算であり注文未確定」と記載してください。外部通信、顧客情報の入力、データ保存は不要です。

    「小数を整数へ切り捨てない」は、上で書いた1.5を1に直す作りを避けるための一文です。あとから値引きや送料を足すときも、それぞれを税の計算の前に入れるのか後に入れるのかを、先にこの依頼文へ書き足します。

    作られた見積ツールを基準表で確かめた結果

    この依頼文を、ブラウザ版Claudeの新しいチャットに1回送りました(2026年10月20日)。作られた見積ツールには手を加えず、入力欄に基準表の値を打ち込んで表示を確かめました。

    入れた値 画面の表示
    1 本体2,501円・税額250円・合計2,751円
    2 本体5,002円・税額500円・合計5,502円
    10 本体25,010円・税額2,501円・合計27,511円
    100 本体250,100円・税額25,010円・合計275,110円
    空欄 「数量が未入力です」。金額なし
    0 「0は指定できません」。金額なし
    -1 「負の数は指定できません」。金額なし
    1.5 「小数は指定できません」と「数量は整数で入力してください(自動で切り捨てはしません)。」。金額なし
    true 「数値として読み取れません」。金額なし
    101 「数量が上限を超えています」。金額なし

    基準表の値はすべて期待どおりでした。数量2から空欄、0、1.5へと変えたときも、そのたびに前の金額は消え、理由だけが表示されました。「試算であり注文未確定」はページの上部に出ていました。

    数量2で金額を表示したあと、空欄・0・1.5へ変えるたびに前の金額が消えて理由だけが出ることを、基準表と並べて示した図
    数量を変えるたびに、前の金額が残っていないかを見ます。今回の画面では、3回とも理由だけが表示されました。

    画面には、本体・税額・合計のほかに「税額: 5,002 × 10% = 500.2 → 切り捨て 500円」のような計算の途中も表示されていました。切り捨ての前の値が見えるので、基準表と照らすときに、どの段階でずれたかを追えます。

    基準表の外で1つ食い違っていたのは、入力の案内です。入力欄の下の案内は「1〜100の整数を半角数字で入力してください。」でした。一方で、Claudeは回答の中で「全角数字(12)は半角に正規化して受け付けます」と、自分で置いた仮定として書いており、数字以外を入れたときの説明文は「半角数字(または全角数字)の整数だけを入力してください。」でした。全角の数字も受け付けるのに、案内は半角を求めています。金額は変わりませんが、使う人は全角で入れてよいのか迷います。

    このように、依頼文に書かなかったことは、作る側の判断で決まります。Claudeは回答の最後に「私が置いた仮定」として、全角数字のほか、「1.0」を小数として断ることなどを挙げていました。作られたツールを確かめるときは、基準表に加えて、この仮定の一覧も読み、案内文と食い違っていないかを見ます。

    確かめたあとに直すときの頼み方

    食い違いは、同じチャットで直してもらいます。たとえば全角の数字を受け付けたままにするなら、次のように頼みます。

    入力欄の案内文を「1〜100の整数を入力してください(全角数字も使えます)。」に変えてください。計算と入力の判定は変えないでください。

    半角だけにしたいなら、「全角数字を半角に直す処理を外し、全角数字は数値以外として断ってください」と頼みます。どちらの場合も、直ったあとに基準表の値をもう一度入れ、計算の結果が変わっていないことを確かめます。

    社内で使い始める前に

    このときのアカウントでは、Artifactはチャットの横の表示ではなく、共有範囲が「あなたのみ」の公開ページとして作られました。社内の人に共有するのは、基準表との照合と、案内文の直しが終わってからにします。最初は社内の試算用として使い、お客様に出す正式な見積書は、担当者が金額を確かめてから作ります。

    自分の見積もりで始めるなら、料金が1つで値引きのない業務を選び、単価・税率・端数処理・数量の上限を書き出して、1点分の税額の端数が1円になる数量を探すところから始めます。その数量を入れた基準表ができれば、依頼文はこの記事のものを書き換えるだけで使えます。

    参照した公式資料