プラグイン一覧 / 不定貫商品
不定貫商品プラグイン
重さで代金が決まる商品を、目安の金額で受けて出荷前の計量で確定します。量っていない注文は発送済みにできず、確定したら会員へ知らせます。
単体で動きます。他のプラグインは要りません。
何のためのプラグインか
精肉・鮮魚・チーズのように1点ずつ重さが違う商品は、注文の時点では金額が決まりません。 秤に載せてはじめて決まります。
EC-CUBE は注文が確定した時点で金額も確定します。あとから明細の単価を書き換えても、 合計は古いままです。見た目には何も起きず、請求してはじめて分かります。
このプラグインは、目安の金額で注文を受け、出荷前の計量で代金を確定します。

主な機能
| 機能 | 内容 |
|---|---|
| 商品ごとの設定 | 目安の重さと、受け付ける重さの範囲 |
| 会員への案内 | 商品ページに「重さで代金が決まる」ことを出します |
| 計量の画面 | 計量待ちの注文が並びます。重さを入れると単価が確定します |
| 合計の計算し直し | 確定すると合計・税・ポイントまで出し直します |
| 注文履歴 | 目安と、量った重さを会員に見せます |
| 支払方法の制限 | 不定貫の商品で使わせない支払方法を決められます |
| 出荷の歯止め | 量っていない明細が残っていると「発送済み」にできません |
| 確定の通知 | 量り終えると、確定した金額を会員へメールで知らせます |

単価を別に持ちません
商品の販売価格を**「目安の重さのときの金額」**として使い、実測との比で計算します。 300g で 1,200円の商品を 320g でお届けするなら 1,280円です。
確定した単価 = 注文時の単価 × 量った重さ ÷ 目安の重さ
単価を別に持つと、店が販売価格を直したときに食い違い、画面の金額と請求額がずれます。
販売価格の意味が変わります。 1,200円のまま目安を 600g に変えると、単価が半分に なります。
円未満は切り捨てます。 会員から見て、案内した目安より高く出ないほうを選んでいます。 金額は bcmath で、掛けてから割ります。 float で扱うと1円ずれた請求が出ますし、 先に割ると桁が落ちます。
注文明細に3つ控えます
| 控えるもの | なぜ |
|---|---|
| 目安の重さ | 店があとで設定を変えても、注文時の条件で計算するため |
| 注文時の単価 | 実測で書き換えるので、元の金額が残らないため |
| 量った重さ | 確定したかどうかの印でもある |
「いくらの品が何グラムで何円になったか」を後から説明できないと、会員からの 問い合わせに答えられません。
確定するときの順番
- 商品の設定で、受け付ける範囲かどうかを見る
- 単価を計算して、明細に入れる
- 受注の購入フローを回して、合計・税・ポイントを出し直す
- 保存する
3 を飛ばすと、明細だけ変わって合計が古いまま残ります。
金額を書き換えるのは1か所だけです。画面のあちこちで書き換えると、計算し直しを忘れた ところができます。
支払方法の選び方
注文のあとに金額が変わります。 どの支払方法を使うかで、運用の手間がまったく違います。
| 支払方法 | 相性 |
|---|---|
| 代金引換 | ◎ 出荷時に確定額を伝えればよい |
| 銀行振込(後払い)・掛売り | ◎ 請求のときには確定している |
| コンビニ後払い | ○ 決済会社への確定額の連携が要る |
| クレジットカード | 設定しだいです。下を読んでください |
クレジットカードは「目安に上限を入れる」
カード決済には与信(枠を押さえるだけ)と売上確定(請求が立つ)の2段階があります。 与信額以下なら減額して確定できますが、増額はできません。
だから目安の重さに範囲の上限を入れます。
| 設定 | 結果 |
|---|---|
| 目安 300g・範囲 270〜330g | 330g なら 5,280円。与信 4,800円を超えて確定できません |
| 目安 330g・範囲 270〜330g | 実額は必ず 4,800円以下。減額なので必ず確定できます |
手数料は普通、売上確定した金額にかかります。与信だけなら課金されないので、この使い方で 追加の手数料は出ません(取消手数料の有無は決済代行との契約を確認してください)。
表示価格が上限のときの金額になります。 高く見えるので、商品ページの但し書きに 「表示価格は上限 330g のときの金額です。量った重さで代金が決まるため、たいていは表示より 安くなります」と添えてください。
即時売上しか使えない決済モジュールでは、この手が使えません。 注文時に満額 引き落とされるので、差額は返金するしかなく、そこで手数料が出ます。
使わせない支払方法を決められます
基本設定に「不定貫の商品で使わせない支払方法」があります。選んだ支払方法は、不定貫の 商品が入った注文の購入手続きに出なくなります。

既定は空、つまり制限しません。 使えるかどうかは店の決済契約で決まるので、 プラグインの側で決め打ちにしていません。普通の注文には影響しません。 不定貫の商品が 1つも入っていなければ、これまでどおりすべての支払方法が出ます。
量っていない注文は出荷できません
代金が確定する前に出荷すると、注文時の目安の金額で請求が飛びます。 代金引換なら その金額を玄関先で受け取ってしまいます。
量っていない明細が残っている間は、受注ステータスを「発送済み」にできません。受注編集 では選択肢から消え、受注一覧の一括変更と受注CSV取込でも弾かれます。

受注一覧に「未計量」の印が出ます。 押してから断られるより先に分かるようにするため です。一括変更で断られたときも、理由とどこで量ればよいかを出します。
止まるのは受注ステータスだけです。 出荷伝票を先に刷る運用は妨げません。
代金が確定したら知らせます
不定貫の明細をすべて量り終えたときに、確定した金額をメールで送ります。
既定は入です。 注文時に案内した金額と違う額を請求するのですから、黙って請求してよい 理由がありません。注文履歴を見にこなければ会員は気づけません。出荷通知に金額を載せる など、自前で知らせる流れを持つ店は切れます。
件名は 設定 → メール設定 から、本文はテンプレートの写しを
app/template/plugin/ProductVariableWeight/ に置いて直します。メール設定の本文欄から
保存すると、テーマへ写しができて以後効かなくなります(プラグインテンプレート編集プラグインを
入れていれば、この欄は伏せてあります)。
送信に失敗しても計量は止まりません。 メールが出ないより、量った結果が保存されない ほうが困るためです。失敗はログに残ります。
量り直せます
同じ画面でもう一度入れれば量り直せます。空欄にして登録すると、実測が消えて注文時の 金額に戻ります。 控えた単価があるから戻せます。入れ間違いは必ず起きます。
会員から見た注文履歴
計量の前は「目安 300g(出荷前に計量します)」、確定後は「計量した重さ 320g」と出ます。

買う前に伝えるのが大事です。 あとから「請求額が違う」と言われるのは、書いて いなかったからになります。
値上げしたようには見せません。 本体の注文履歴は、注文時の単価といまのカタログ価格が 違うと【現在価格】と赤字の注意書きを出します。確定した単価がカタログ価格と一致するのは 目安ちょうどの重さだったときだけなので、計量した注文はすべてこれに当たっていました。 会員には店が値上げしたように読めます。不定貫の明細だけ、この判定から外しています。
受注CSVに出せます
実重量と参考重量は受注CSV・配送CSVの項目として登録されます。**既定は「出力しない」**なので、 既存のCSVの列は増えません。出したいときは 設定 → CSV出力項目設定 で「出力する」側へ 移してください。
実重量は請求の根拠です。 会計や基幹へ流すときに出せないと、金額だけ渡って その内訳を突き合わせられません。
絞り込みと未対応の件数
計量の一覧は、注文番号・会員(お名前/会社名/メールアドレス)・注文日の期間・計量の 状態で絞り込めます。条件はページを送っても残ります。初期表示は「計量待ち」だけです。 済んだものが混ざると、どれが残っているか分からなくなるためです。

未対応の件数はホームにまとまって出ます。0 件のものは行ごと出しません。
管理画面のホームに未対応の件数が出ます。 押せばその一覧に入れます。 0 件のときは行ごと出しません。 常に「0」が並ぶと目が慣れて見なくなるためです。
知っておいてほしい仕様
| 項目 | 内容 |
|---|---|
| 量った重さは1点あたりです | 数量が複数の明細は、合計の重さを点数で割った平均を入れてください |
| 1点ずつ別の重さは記録できません | 明細を1点ずつに分ける作りにすると、注文の明細の数が実物の数だけ増え、受注の画面も帳票も読めなくなります。1点ごとに個体識別が要る店には足りません |
| 範囲は入力の誤りを止めるためだけです | 3kg のブロックに 30g と打ち込まれると、代金が 1/100 で確定します。範囲を決めていない商品は何でも通します |
| 商品の設定が消えていても確定できます | 商品を取り下げたあとに残った注文を出荷できないほうが困ります。明細に控えた目安があれば計算できます |
| アンインストールしても注文明細の列は残します | 消すと、過去の注文が何グラムで確定したのか分からなくなります。請求の根拠です |
端数の扱いは店ごとに違います
既定は「円未満切り捨て」ですが、四捨五入する店、10円単位に丸める店、10g 単位に丸めて から計算する店があります。どれも取引先との取り決めで決まります。差し替えられるように してあります。
動作要件
| 項目 | 内容 |
|---|---|
| EC-CUBE | 4.4 系 |
| PHP | 8.2 / 8.3 |
| データベース | MySQL 8 / PostgreSQL 13 以上 |
| 依存プラグイン | なし |
商品登録に「不定貫」の欄が増え、管理画面に「不定貫商品 → 計量」が並びます。
差し替えられるところ
主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。
AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。
| インターフェース | できること |
|---|---|
WeightPricingInterface | 端数の扱いを差し替える(四捨五入する、10円単位に丸める、10g 単位に丸めてから計算する) |
入手する
オーナーズストアで購入
買い切りです。月額はかかりません。予定価格 税抜 50,000 円。
予定価格です。オーナーズストアでの販売開始時に変わる場合があります。
この条件で回るか、確かめてから決めてください
締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。