EC-CUBEの注文番号をカスタマイズする方法

EC-CUBE 4では、注文番号のフォーマットを自由にカスタマイズできます。デフォルトでは注文ID(連番)がそのまま表示されますが、日付や桁数を指定した独自の注文番号を設定できます。

設定ファイルの場所

app/config/eccube/packages/eccube.yamlにあるeccube_order_no_formatの設定を変更します。

app/Customize/Resource/config/services.yamlで上書きすることも可能です。

eccube_order_no_format: ''

利用可能なフォーマット

  • {yyyy} – 西暦4桁(例: 2026)
  • {yy} – 西暦2桁(例: 26)
  • {mm} – 月2桁(例: 01)
  • {dd} – 日2桁(例: 27)
  • {id,桁数} – 注文IDを指定桁数で0埋め(例: {id,6} → 000001)
  • {random,桁数} – ランダムな数値(例: {random,4} → 7382)
  • {random_alnum,桁数} – ランダムな半角英数大文字(例: {random_alnum,6} → A3K7M9)
  • {random_alpha,桁数} – ランダムな半角英字大文字(例: {random_alpha,4} → ABKZ)

カスタマイズ例

1. 日付 + 連番(6桁0埋め)

eccube_order_no_format: '{yyyy}{mm}{dd}-{id,6}'
# 結果: 20260127-000001

2. 年月 + ランダム英数字

eccube_order_no_format: '{yy}{mm}-{random_alnum,8}'
# 結果: 2601-A3K7M9X2

3. シンプルな連番のみ(8桁)

eccube_order_no_format: 'ORD-{id,8}'
# 結果: ORD-00000001

4. 日付とランダム数値の組み合わせ

eccube_order_no_format: '{yyyy}{mm}{dd}{random,4}'
# 結果: 202601277382

設定反映方法

設定変更後は、キャッシュをクリアする必要があります。

# コマンドラインの場合
php bin/console cache:clear

# 管理画面の場合
コンテンツ管理 > キャッシュ管理 > キャッシュ削除

注意点

  • フォーマットを空('')にすると、デフォルトの注文ID(連番)が使用されます
  • ランダム系のフォーマットを使う場合、重複の可能性を考慮してください
  • 既存の注文番号は変更されません(新規注文から適用されます)
  • 桁数を指定した場合、IDが桁数を超えるとそのまま全桁表示されます

おすすめの設定

BtoC向けには日付+連番、BtoB向けには年月+ランダム英数字が管理しやすくおすすめです。ランダム要素を含めることで、顧客に注文数を推測されにくくなるメリットもあります。

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEに関するお問い合わせ


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ