コンテンツにスキップ

iDempiere GL仕訳作成の使い方|会計 操作マニュアル・技術仕様

📖 会計の全体像: 会計の全体図 も合わせてご覧ください。

GL仕訳作成は、転記済みの会計ファクト(Fact_Acct)を源泉データとして、あらかじめ定義したルールに従い GL仕訳(GL Journal)を自動生成するためのルール定義ウィンドウです。源泉となる勘定科目の残高に乗数を掛けて別の勘定へ振り替える仕訳を機械的に作れるため、按分仕訳・決算整理仕訳・毎月定型の振替仕訳の自動化に使用します。

📌 ポイント: 「Generate GL Journal」ボタンはデフォルトでシミュレーションモード(IsSimulation=Y)で動作し、仕訳を作らずに生成予定の明細をログ表示します。まずシミュレーションで金額を検証し、問題なければシミュレーションを外して本実行してください。

  • 転記済み会計データ(Fact_Acct)を源泉とする振替仕訳ルールの定義
  • 源泉勘定ごとの金額乗数(AmtMultiplier)による按分・比率計算
  • 借方(Account DR)・貸方(Account CR)それぞれへの計上先勘定の指定
  • 取引先・品目・全会計ディメンションの引き継ぎ設定(Copy All Dimensions / Same Product 等)
  • 貸借差額を自動計上する調整勘定(Account Adjust DR/CR)の指定
  • シミュレーション実行による生成前の金額検証
  • 生成した GL仕訳への伝票アクション(完了等)の同時適用

3 階層のルール定義構成です。

タブ名テーブル項目数役割
仕訳作成GL_JournalGenerator約13項目ヘッダー(伝票タイプ・会計スキーマ・調整勘定・実行ボタン)
仕訳作成明細GL_JournalGeneratorLine約16項目生成する仕訳行のルール(計上先 DR/CR・ディメンション引継・乗数)
仕訳作成源GL_JournalGeneratorSource約9項目源泉となる勘定科目エレメントと金額乗数
graph TD
    A["🚀 メニューから開く<br/>会計管理 > GL仕訳作成"] --> B["➕ ヘッダーを登録<br/>(名称・伝票タイプ・会計スキーマ・<br/>必要なら調整勘定 DR/CR)"]
    B --> C["📋 仕訳作成明細タブで<br/>計上先ルールを登録<br/>(Account DR / Account CR・<br/>ディメンション引継設定)"]
    C --> D["🧮 仕訳作成源タブで<br/>源泉勘定と金額乗数を登録"]
    D --> E["▶️ Generate GL Journal ボタン<br/>(対象期間・仕訳日付を指定)"]
    E --> F{シミュレーション?}
    F -->|Yes(既定)| G["📝 生成予定明細をログで検証"]
    G --> E
    F -->|No| H["📒 GL仕訳が生成される<br/>(DocAction 指定で完了まで自動化)"]
    H --> I["✅ GL仕訳ウィンドウで確認・転記"]

メニューから開く 会計管理 > GL仕訳作成 ヘッダーを登録 (名称・伝票タイプ・会計スキーマ・ 必要なら調整勘定 DR/CR) 仕訳作成明細タブで 計上先ルールを登録 (Account DR / Account CR・ ディメンション引継設定) 仕訳作成源タブで 源泉勘定と金額乗数を登録 ▶ Generate GL Journal ボタン (対象期間・仕訳日付を指定) 生成予定明細をログで検証 GL仕訳が生成される (DocAction 指定で完了まで自動化) GL仕訳ウィンドウで確認・転記 シミュレーション? Yes(既定)

メニューから「会計管理 > GL仕訳作成」を開きます。

  1. 仕訳作成タブ(ヘッダー)を入力:
    • 名称: ルール名(例: 本社費按分
    • 伝票タイプ: 生成する GL仕訳の伝票タイプ
    • 会計スキーマ: 集計・生成対象の会計スキーマ(デフォルトはログインスキーマ)
    • 転記タイプ: 集計対象の転記タイプ(デフォルト A=実績)
    • Account Adjust DR / CR: 貸借差額を計上する調整勘定(任意)
  2. 仕訳作成明細タブで生成する仕訳行のルールを登録:
    • シーケンスNo: 処理順(自動採番、10刻み)
    • Account DR / Account CR: 計上先の借方・貸方勘定(片方のみでも可)
    • Copy All Dimensions: 源泉の全会計ディメンションをそのまま引き継ぐ
    • Type of BP Dimension / 取引先 / BP Column: 取引先ディメンションの引継方法
    • Same Product: 品目ディメンションを引き継ぐ
    • 金額乗数: 集計額に掛ける乗数(例: 按分率)
  3. 仕訳作成源タブで源泉を登録:
    • 勘定科目エレメント: 集計元の勘定科目(必須)
    • 金額乗数: 源泉ごとの乗数(必須、デフォルト 1)

ヘッダーの「Generate GL Journal」ボタンから実行します。主なパラメータ:

パラメータ説明
ProcessingDate(From/To)源泉として集計する会計日付の範囲
DateAcct生成する GL仕訳の会計日付
IsSimulationシミュレーション実行(既定 Y。仕訳は作らずログ出力のみ)
DocAction生成した仕訳に適用する伝票アクション(完了等)
DocumentNo生成する仕訳の伝票番号(任意)
C_BPartner_ID / M_Product_ID源泉集計を特定の取引先・品目に絞り込み

⚠️ 注意: 本実行すると GL仕訳(GL Journal)が実際に作成されます。生成された仕訳はその後 GL仕訳 ウィンドウで通常の仕訳と同様に完了・転記処理を行います(DocAction 指定時は生成と同時に処理されます)。

仕訳作成明細タブ(主要項目)

Section titled “仕訳作成明細タブ(主要項目)”
項目名必須説明
シーケンスNo必須整数処理順(自動で +10 採番)
Account DR-検索借方に計上する勘定科目エレメント
Account CR-検索貸方に計上する勘定科目エレメント
Copy All Dimensions必須チェック会計スキーマの全ディメンションを源泉から引き継ぐ(デフォルト N)
Type of BP Dimension-リスト取引先の引継方法(源泉と同じ / 固定 / カラム指定)
取引先-検索「固定」選択時に計上する取引先
BP Column-文字列「カラム指定」時の取引先カラム(テーブル名.カラム名
Same Product必須チェック品目ディメンションを源泉から引き継ぐ(デフォルト N)
金額乗数-数値集計額に掛ける乗数(デフォルト 1)
丸め係数-整数金額の丸め設定(デフォルト 0)
項目名必須説明
勘定科目エレメント必須検索源泉として集計する勘定科目
金額乗数必須数値源泉残高に掛ける乗数(デフォルト 1)
GLカテゴリ-選択源泉の絞り込み用 GLカテゴリ
丸め係数-整数丸め設定

全項目一覧はリファレンス参照

Q. 実行しても仕訳が作られません

Section titled “Q. 実行しても仕訳が作られません”

「Generate GL Journal」のパラメータ IsSimulation が既定で Y(シミュレーション)になっています。シミュレーションでは生成予定の勘定・金額・ディメンションがプロセスログに出力されるだけで、仕訳は作成されません。内容を確認のうえ IsSimulation を外して再実行してください。

Q. 借方と貸方が一致しない場合はどうなりますか?

Section titled “Q. 借方と貸方が一致しない場合はどうなりますか?”

明細ルールの積み上げで貸借差額が生じた場合、ヘッダーの Account Adjust DR / Account Adjust CR に指定した調整勘定へ差額行が自動追加されます(差額がマイナスなら Adjust DR に借方計上、プラスなら Adjust CR に貸方計上)。調整勘定を指定していない場合は差額行が追加されないため、仕訳が貸借不一致となり完了処理でエラーになります。

Q. 源泉の取引先・品目を生成仕訳に引き継げますか?

Section titled “Q. 源泉の取引先・品目を生成仕訳に引き継げますか?”

引き継げます。取引先は「Type of BP Dimension」で 3 方式(源泉と同じ取引先 / 固定の取引先 / 任意のカラム値から取得)を選択できます。品目は「Same Product」チェックで源泉と同じ品目単位に集計・引継されます。「Copy All Dimensions」をチェックすると、会計スキーマに定義された全ディメンション(組織・活動・プロジェクト等)を源泉のまま引き継ぎます。

Q. どのデータが源泉として集計されますか?

Section titled “Q. どのデータが源泉として集計されますか?”

会計ファクト(Fact_Acct)のうち、転記タイプ A(実績)・指定した会計スキーマ・指定した会計日付範囲に該当するデータについて、源泉タブの勘定科目ごとに「借方−貸方」の純額が集計されます。パラメータで取引先・品目による絞り込みも可能です。

🛠 技術仕様(開発者向け)

GL仕訳作成は GL_JournalGenerator(ヘッダー)/ GL_JournalGeneratorLine(明細ルール)/ GL_JournalGeneratorSource(源泉) の 3 テーブル構成(アクセスレベル: Client+Org)です。モデルクラスは MJournalGenerator(98行)/ MJournalGeneratorLine(97行)/ MJournalGeneratorSource(80行)と薄く、生成ロジックの本体はプロセスクラス GLJournalGenerate(565行、org.globalqss.process パッケージ)にあります。ルールテーブル自体は Document 型ではなく、生成される GL_Journal が伝票として処理されます。

classDiagram
    class GLJournalGenerate {
        <<SvrProcess>>
        #prepare() void
        #doIt() String
    }
    class MJournalGenerator {
        +getLines() MJournalGeneratorLine[]
    }
    class MJournalGeneratorLine {
        +getSources() MJournalGeneratorSource[]
    }
    class MJournalGeneratorSource {
    }
    class X_GL_JournalGenerator {
        <<generated>>
    }
    MJournalGenerator --|> X_GL_JournalGenerator
    MJournalGenerator --> MJournalGeneratorLine : has many
    MJournalGeneratorLine --> MJournalGeneratorSource : has many
    GLJournalGenerate --> MJournalGenerator : reads rules
    GLJournalGenerate ..> Fact_Acct : aggregates
    GLJournalGenerate --> MJournal : creates

<> #prepare() void #doIt() String +getLines() MJournalGeneratorLine[] +getSources() MJournalGeneratorSource[] <>

パッケージ: org.compiere.model(モデル)、org.globalqss.process(プロセス) ソースファイル: org.adempiere.base/src/org/compiere/model/MJournalGenerator.javaorg.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java

GL_JournalGenerator(仕訳作成ヘッダー)

Section titled “GL_JournalGenerator(仕訳作成ヘッダー)”
カラム名必須説明備考
GL_JournalGenerator_IDIDPKヘッダーID主キー
NameString(60)Y名称識別子
C_DocType_IDTableDirectN生成仕訳の伝票タイプ
GL_Category_IDTableDirectNGLカテゴリdefault @GL_Category_ID@
PostingTypeList(1)N転記タイプdefault A(実績)
C_AcctSchema_IDTableDirectN会計スキーマdefault @$C_AcctSchema_ID@
C_ElementValueAdjustDR_IDSearchN借方調整勘定貸借差額の受け皿
C_ElementValueAdjustCR_IDSearchN貸方調整勘定貸借差額の受け皿
GenerateGLJournalButtonN実行ボタンGLJournalGenerate プロセス起動

GL_JournalGeneratorLine(仕訳作成明細)

Section titled “GL_JournalGeneratorLine(仕訳作成明細)”
カラム名必須説明備考
GL_JournalGeneratorLine_IDIDPK明細ID主キー
GL_JournalGenerator_IDTableDirectYヘッダーFKisparent
SeqNoIntegerY処理順default MAX(SeqNo)+10 の SQL default
C_ElementValueDR_ID / CR_IDSearchN計上先の借方/貸方勘定
BPDimensionTypeList(1)N取引先引継方式Same / Fixed / Column
C_BPartner_IDSearchN固定取引先Fixed 時に使用
BPColumnString(124)N取引先取得カラムColumn 時。テーブル名.カラム名 形式
IsSameProductYesNoY品目引継default N
IsCopyAllDimensionsYesNoY全ディメンション引継default N
AmtMultiplierNumberN金額乗数default 1
RoundFactorIntegerN丸め係数default 0

GL_JournalGeneratorSource(仕訳作成源)

Section titled “GL_JournalGeneratorSource(仕訳作成源)”
カラム名必須説明備考
GL_JournalGeneratorSource_IDIDPK源泉ID主キー
GL_JournalGeneratorLine_IDTableDirectY明細FKisparent
C_ElementValue_IDSearchY源泉勘定科目
AmtMultiplierNumberY金額乗数default 1
GL_Category_IDTableDirectN源泉GLカテゴリ
RoundFactorIntegerN丸め係数

ビジネスロジック(GLJournalGenerate プロセス)

Section titled “ビジネスロジック(GLJournalGenerate プロセス)”

doIt() の処理フロー(ソース実測):

  1. パラメータ取得: ProcessingDate From/To、DateAcct、IsSimulation(既定 true)、DocAction、DocumentNo、C_BPartner_ID、M_Product_ID。Record_ID から対象ヘッダーを特定
  2. グループ列の決定: 明細ごとに集計グループ列を構築。AD_Client_ID は常に含み、IsCopyAllDimensions=Y なら会計スキーマの全 MAcctSchemaElement のカラム、それ以外は BPDimensionType(Same=C_BPartner_ID、Column=BPColumn のテーブル ID 列)と IsSameProductM_Product_ID)に応じて追加
  3. 源泉集計: 源泉ごとに SELECT SUM(AmtAcctDr-AmtAcctCr), <グループ列> FROM Fact_Acct WHERE PostingType='A' AND IsActive='Y' AND DateAcct BETWEEN ? AND ? AND C_AcctSchema_ID=? AND AD_Client_ID=? を実行
  4. 出力行の構築: C_ElementValueDR_ID があれば借方行、C_ElementValueCR_ID があれば貸方行を追加。両方未指定かつ全ディメンション引継の場合は源泉の勘定(Account_ID)へ金額符号に応じて借方/貸方計上。累計 totalAmount で貸借バランスを追跡
  5. 調整行の追加: totalAmount がマイナスなら C_ElementValueAdjustDR_ID へ借方、プラスなら C_ElementValueAdjustCR_ID へ貸方の差額行を追加
  6. 仕訳生成 or シミュレーション: IsSimulation=Y なら勘定・DR/CR・ディメンションを addLog() 出力のみ。本実行時は MJournal を新規作成(組織・会計スキーマ通貨・伝票タイプ・DateAcct から期間を解決。組織 0 は Org0NotAllowed エラー)し、明細行を 10 刻みで追加。DocAction 指定時は仕訳へ伝票アクションを適用
  • Model Validator: GL_JournalGenerator / Line / Source の保存時にルール整合性チェック(例: DR/CR いずれか必須、調整勘定の必須化)を追加可能
  • プロセスのカスタマイズ: GLJournalGenerateSvrProcess 継承のため、OSGi プラグインで独自プロセスとして拡張版を登録し AD_Process の Classname を差し替える方式が安全です
  • callout: このウィンドウのカラムに callout は定義されていません(SeqNo は SQL デフォルトで自動採番)
プロセス名説明
Generate GL Journalヘッダーのボタンから起動。ルールに基づき GL仕訳を生成(org.globalqss.process.GLJournalGenerate

GL仕訳作成を使うと、本社費按分や決算整理などの定型仕訳を人手を介さず生成できます。按分ロジックの独自要件やスケジューラーによる完全自動化もご相談ください。

As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。

OSS ERP導入・カスタマイズサービスの詳細はこちら