EC-CUBE で B2B
構築を相談する

プラグイン一覧 / 月締め請求管理

月締め請求管理プラグイン

取引先ごとに受注をまとめ、締め日で1枚の請求にします。適格請求書の PDF も出ます。

取引先アカウント管理プラグインのアドオンです。先にそちらを入れてください。

会員グループ管理は必須ではありません。入れている場合だけ機能が増えます。

何のためのプラグインか

法人取引の多くは、注文のたびに支払うのではなく、月末に締めてまとめて払います。

EC-CUBE の決済は受注1件ごとです。掛売りにしようとすると、受注は「未決済」のまま溜まり、 締め日が来ても集計する場所がありません。請求書は Excel で作り、入金の消し込みは 通帳と突き合わせることになります。

このプラグインは、取引先ごとに受注をまとめて1枚の請求にします。

主な機能

機能 内容
請求書払い 有効化すると支払方法が増えます。取引先だけが選べ、この支払方法の受注だけを締めます
月締め 締め日までの受注を取引先単位でまとめ、請求を1件作ります
締め条件の解決 締め日・支払サイトを 会員個別 → 会員グループ → 基本設定 の順で決めます
消費税 割戻し/積上げを選べます。端数処理は請求1枚につき税率ごとに1回
返還 返品・値引きを登録し、次の締めで差し引きます。全額返品は自動で検出します
入金 入金を記録し、請求金額との差で残高と入金状況を出します
与信限度額 未払残高と未請求の受注が限度額を超える注文を止めます。滞納での停止も別に切り替えられます
請求 CSV 仕訳の起票に使える CSV を請求詳細から落とせます。金額は請求書 PDF と同じ内訳から出します
請求書 PDF 適格請求書の記載事項に沿った請求書。登録番号を印字し、返還も同じ紙に載せます
受注から請求を追う 締めた受注の受注詳細に、その受注が載った請求へのリンクが出ます
コンソールコマンド plugin:b2b-billing:close を cron から毎日1回叩くと、その日が締め日の取引先だけを締めます。管理画面からも実行できますが、取引先が多いと画面が待てないので本番は cron を使ってください

画面

請求一覧

締めた請求が並びます。入金状況(未入金・一部入金・入金済み・過入金)は、入金の合計と 請求金額から出しています。この画面から締めの実行と試算ができます。

請求一覧

請求詳細

締めた時点の金額を控えた請求明細、税率ごとの内訳、差し引いた返還、入金の記録が並びます。

請求詳細

請求書 PDF

適格請求書の記載事項に沿っています。税率ごとに区分した対価の額と消費税額等は、 明細ごとではなく請求書1枚につき税率ごとに1つだけ出します。

請求書PDF

返還の登録

明細の「返還を登録」から登録します。税率ごとに、まだ返せる残りを超えないことを確かめます。

返還の登録

請求書払いは取引先だけが選べます

請求書払いは注文の時点で代金を受け取りません。誰でも選べると支払わずに注文できて しまうので、購入手続きに出すのは「請求先が取引先アカウントで、その請求先に締め日が 決まっている」会員だけです。制限は購入手続きのフォームと購入フローの両方でかけます。

締め日はどこかに必ず入れてください。 会員個別・会員グループ・基本設定のどこにも 締め日が無い取引先には、購入手続きで請求書払いが出ません。「請求書払いが出ない」の 原因でいちばん多いのは締め日の入れ忘れです。店全体で同じ条件なら、基本設定の 既定値に入れるのが早いです。

複数のグループに属している会員は、並び順の小さいグループが勝ちます。価格・配送・ 支払いのアドオンと同じ決め方です。

支払方法を請求書払いだけに絞っているグループから締め日を外すと、支払方法が 1つも選べなくなります。 掛売りの取引先ではよくある設定です。締め日が無ければ 請求書払いを出さないというこちらの判定と、支払い方法管理の 「このグループが使えるのは請求書払いだけ」が重なって、購入手続きの支払方法の欄が 空になります。どちらのプラグインも単体では正しく動いているので、原因にたどり 着けません。会員グループを保存したときに警告を出します。保存は止めません。 会員個別に締め日を入れて運用している店もあるので、グループの設定だけでは詰むと 言い切れないためです。

無効化すると請求書払いを非表示にします。 支払方法そのものは消しません。受注が 参照しているので、消すと過去の受注から支払方法の名前が読めなくなるためです。

一覧の絞り込み

請求の一覧は、請求番号・請求先・締め日の期間・支払期限の期間で絞り込めます。条件は ページを送っても残ります。支払期限で絞れば「今週入金予定のぶん」を見られます。

基本設定でどこまで決められるか

コードを書かずに決められるところです。

基本設定

設定 内容
請求書払いとして扱う支払方法 ここで選んだ支払方法の受注だけを締めます。あわせて、購入手続きの選択肢に取引先以外へは出しません
請求対象の受注ステータス 金額がまだ動く「対応中」は既定で含めません。 既定は発送済み・入金済み
全額返還とみなす受注ステータス 請求に載せたあとでこのステータスになった受注は、次の締めで残額を自動で差し引きます。出した請求書は書き換えません
締め条件の既定値 締め日・支払月・支払日。会員個別 → 会員グループ → ここ、の順で決まります
与信 下の節
消費税の計算方法 割戻し(既定)/積上げ
適格請求書発行事業者の登録番号 T から始まる13桁。請求書に印字します
請求番号の書式 既定は INV-{Ym}-{seq:6}。{Ym} {Y} {m} {customerId} {seq} が使えます
採番の単位 年月ごと/全体通番/取引先ごと

請求番号は書式で足ります。 会計システムの採番に合わせるための差し替え口 (InvoiceNumberGeneratorInterface)もありますが、INV-2026-000123 のような形なら 設定だけで作れます。まず書式で済むかを確かめてください。

連番は採番用の行を悲観ロックで取ってから進めます。締めを同時に走らせても番号が 重なりません。

与信限度額

掛売りは、売った時点では代金を受け取っていません。滞納している取引先に売り続けると、 損害がそのまま積み上がります。取引先ごとに上限を決めて、超える注文を止められます。

与信残は「未払残高 + まだ請求していない受注」で数えます。未請求の受注を数えないと、 締め日までは限度額を無視して買えてしまうためです。入金するとその分だけ枠が戻ります。

止め方は2つあり、基本設定で別々に切り替えます。どちらも既定は off です。 入れた瞬間に既存店の注文が止まらないよう、取引先ごとの限度額を入れてから有効にしてください。

設定 止める条件
与信限度額を超えた注文を止める 未払残高+未請求の受注+カートが限度額を超えたとき
支払期日を過ぎた請求があるとき注文を止める 期日を過ぎた請求が1件でもあるとき(限度額に余裕があっても)

限度額は請求先(取引先の代表)に入っている値だけを見ます。担当者に入れても使いません。 請求が会社単位なので、与信も会社単位でないと辻褄が合いません。担当者ごとの上限が要る場合は、 発注承認プラグインの承認限度額を使ってください。

止まったときは、カートでは警告として出し、カートは消しません。購入手続きへ進もうと したところで止めます。金額は既定では出さず、基本設定を入れると「ご注文可能額は ¥120,000 です」まで出します。与信枠を客に知らせたいかは店によって分かれるためです。

知っておいてほしい仕様

項目 内容
締め日・支払日は 1〜28日と「月末」から選びます 29日と30日は選べません。選ぶと2月だけ28日で他の月は29日という半端な締めになるためです
端数処理は請求1枚につき税率ごとに1回 適格請求書の規定に合わせています。明細ごとに丸めた合計とは数円ずれます。 これは不具合ではありません
非課税・不課税の明細を含む受注は締められません 税率ごとの内訳に現れない金額があると、請求金額と内訳が合わなくなります。黙って落とすと請求額が小さくなるため、その請求先の締めを中止します(他の請求先は締まります)
締めたあとに受注を編集しても請求は動きません 締めた時点の金額を請求明細に写し取ります。1つの受注が2つの請求に載ることは、データベースの一意制約が防ぎます
締め済みの期間は締め直せません 同じ請求先・同じ締め日の請求は1件だけです。同じ期間の受注が増えた場合は、請求を取り消してから締め直してください
有効化のあとに追加した配送方法には請求書払いが付きません 設定 → 配送方法 の編集画面から付けてください
請求への入金を記録しても、受注は入金済みになりません 請求単位で入金を記録するため、受注1件ごとの入金状態を逆算できません(部分入金と返還があります)

請求書のレイアウトを変える

PHP は要りません。テンプレートを1枚置くだけです。

app/template/<テーマ>/B2BBilling/invoice.twig

置いてあればそちらが使われ、無ければプラグインのものが使われます。有効化のときに テーマへコピーしないので、触っていない店はプラグインの更新に追随します。

適格請求書の記載事項(請求先の名称・発行者と登録番号・締め日・税率ごとの内訳)は HTML コメントの目印で確かめていて、目印が欠けていると PDF を出力しません。 記載事項を欠いた適格請求書が取引先に渡るより、その場で止まって直すほうが安全だという 判断です。文言や並びは自由に変えて構いません。

描いているのはブラウザではなく TCPDF なので、CSS の大半(flexbox・position・float)は 効きません。 効くのは表・罫線・背景色・文字サイズと色・画像・改ページあたりです。 段組みは表で作り、罫線は表ではなくセルに付けてください。

請求 CSV(会計ソフト取込用)

請求詳細の「請求CSV」ボタンから、仕訳の起票に使える CSV を落とせます。1行が請求×税率で、 金額は請求書 PDF と同じ税率別の内訳から出すので、PDF と数字がずれません。 文字コードは Shift_JIS です。

会計ソフト別の列並びは持ちません。並びを変えたいときは InvoiceDocumentInterface の 実装を足してください(下の「差し替えられるところ」を参照)。

動作要件

項目 内容
EC-CUBE 4.4 系
PHP 8.2 / 8.3
必須プラグイン 取引先アカウント管理(ec-cube/b2bcompany)4.4.3 以上が有効であること
通貨 JPY 想定
その他 月締めを自動で回すなら cron が必要です

会員グループ管理は必須ではありません。 締め・請求書・返還・入金・PDF は、取引先の 親子関係だけで動きます。入れている場合は、締め条件を会員グループにも持たせられます。 入れていない場合、締め条件の解決は「会員個別 → 基本設定」の2段になります。 取引先が増えても会員1件ずつ設定したくない、という運用のときだけ会員グループ管理が要ります。

差し替えられるところ

主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。

AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。

インターフェースできること
BillableOrderCriteriaInterface締め対象の受注の絞り込みを足す
BillingPartyResolverInterface請求先の決め方を変える(部署単位の請求など)
InvoiceNumberGeneratorInterface請求番号の採り方を会計システムに合わせる
DueDateResolverInterface支払期日をずらす(休業日なら翌営業日など)
TaxSummarizerInterface消費税の計算方法を足す
ReturnCollectorInterface外部の返品管理から返還を取り込む
InvoiceDocumentInterface帳票の種類を足す(会計ソフト向け CSV など)
PaymentRestrictionInterface支払方法を会員ごとに絞る(この取引先は請求書払いのみ、など)

入手する

オーナーズストアで購入

買い切りです。月額はかかりません。予定価格 税抜 50,000 円。

予定価格です。オーナーズストアでの販売開始時に変わる場合があります。

販売ページの準備ができ次第、ここに載せます。

導入を任せる

サーバーの用意から EC-CUBE の設置、プラグインの導入と設定まで請け負います。 商習慣に合わせた作り足しもご相談ください。

この条件で回るか、確かめてから決めてください

締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。