コンテンツにスキップ

iDempiere 会計スキーマの使い方|会計 操作マニュアル・技術仕様

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

会計スキーマは、会計処理のルール(会計基準・通貨・在庫評価方法)と勘定科目構造の次元(エレメント)を定義する、iDempiere 会計の最上位設定ウィンドウです。1 クライアントに複数スキーマを定義して並行会計(例: 日本基準と IFRS)を行うこともできます。

📌 ポイント: 会計スキーマの変更は再ログイン後に有効になります(ウィンドウ説明に明記)。また転記が生成されるのは、スキーマが有効で GL・デフォルト勘定が定義済みの場合のみです。

  • 会計基準(GAAP)・発生主義/現金主義・通貨の設定
  • 在庫評価方法(標準原価・移動平均等)と在庫評価レベルの設定
  • 勘定科目キーを構成する次元(組織・勘定科目・取引先・品目等)の定義
  • 貸借調整・通貨丸め調整など GL 転記制御勘定の設定
  • 各伝票で使うデフォルト勘定科目一式の設定
  • 自動期間管理(過去日数・未来日数による転記可能範囲の制御)
タブ名テーブル項目数役割
会計スキーマC_AcctSchema約28項目会計ルール本体(GAAP・通貨・原価・期間管理)
会計スキーマエレメントC_AcctSchema_Element約28項目勘定科目キーの次元定義(順序・必須・バランス)
総勘定元帳C_AcctSchema_GL約13項目貸借調整・社内取引等の GL 制御勘定
デフォルトC_AcctSchema_Default約44項目債権・債務・在庫・税金等のデフォルト勘定

💡 ヒント: 導入時は初期クライアントセットアップで生成されたスキーマをベースに、エレメント構成と勘定科目の見直しから始めるのが安全です。

graph TD
    A["🚀 メニューから開く<br/>会計管理 > 会計設定 > 会計スキーマ"] --> B["⚙️ 会計スキーマタブで<br/>GAAP・通貨・発生主義を確認"]
    B --> C["📐 在庫評価方法・<br/>在庫評価レベルを設定"]
    C --> D["🧩 エレメントタブで<br/>会計次元を定義<br/>(組織・勘定科目は必須運用が基本)"]
    D --> E["📒 総勘定元帳タブで<br/>貸借調整勘定等を設定"]
    E --> F["📗 デフォルトタブで<br/>デフォルト勘定を確認"]
    F --> G["🔁 再ログインで設定反映"]

メニューから開く 会計管理 > 会計設定 > 会計スキーマ 会計スキーマタブで GAAP・通貨・発生主義を確認 在庫評価方法・ 在庫評価レベルを設定 エレメントタブで 会計次元を定義 (組織・勘定科目は必須運用が基本) 総勘定元帳タブで 貸借調整勘定等を設定 デフォルトタブで デフォルト勘定を確認 再ログインで設定反映

⚠️ 注意: デフォルトタブの「勘定科目コピー」ボタンには上書きモード(Copy&Overwrite、AD 説明で DANGEROUS と明記)があります。稼働後の実行は既存の勘定設定を破壊する恐れがあるため、必ずバックアップ後に実施してください。

メニューから「会計管理 > 会計設定 > 会計スキーマ」を開きます。

基本設定(会計スキーマタブ)

Section titled “基本設定(会計スキーマタブ)”
  1. 名称 を入力
  2. 会計ルールを設定:
    • GAAP: 会計基準(国際 GAAP / US GAAP / カスタム等)
    • 発生主義: チェック(現金主義の場合はオフ)
    • 通貨: 会計通貨(例: JPY)
    • 在庫評価方法: 標準原価(S)/ 移動平均(A)等(デフォルト S)
    • 在庫評価レベル: クライアント(C)/ 組織(O)/ ロット(B)(デフォルト C)
  3. 必要に応じて 自動期間管理 をチェックし、過去日数 / 未来日数 を設定
  4. 保存」をクリック
  1. 会計スキーマエレメント」タブに移動
  2. 次元ごとに登録:
    • タイプ: エレメントタイプ(勘定科目・組織・取引先・品目等)
    • シーケンスNo: 勘定科目キー内での表示順
    • 必須: 転記時に値を必須とするか
    • バランス済み: この次元で貸借バランスを取るか(組織次元等)

会計スキーマタブ(主要項目)

Section titled “会計スキーマタブ(主要項目)”
項目名必須説明
名称必須文字列スキーマ名
GAAP必須リスト会計基準(UN=国際GAAP / US=US GAAP / XX=カスタム等)
発生主義必須チェック発生主義(オン)/ 現金主義(オフ)
在庫評価方法必須リストS=標準原価 / A=移動平均(発注) / I=移動平均(請求) / F=FIFO / L=LIFO 等
在庫評価レベル必須リストC=クライアント / O=組織 / B=バッチ・ロット
原価タイプ必須選択原価タイプ(現在原価等)
通貨必須選択会計通貨
自動期間管理必須チェック期間を自動オープン/クローズ
過去日数 / 未来日数-整数自動期間管理時の転記可能範囲(システム日付基準)
エレメントセパレータ必須文字列勘定科目キーの区切り文字(デフォルト -
勘定科目別名を使う必須チェック別名(Alias)による勘定組合せ選択
マイナス転記許可-チェックマイナス金額の転記を許可(デフォルト Y)
組織のみ-選択指定組織のみ転記を生成(第2スキーマ用)

全項目は 画面リファレンス: 会計スキーマ を参照してください。

Q. 在庫評価レベルを変更しようとするとエラーになります

Section titled “Q. 在庫評価レベルを変更しようとするとエラーになります”

MAcctSchema.beforeSave() は、既に原価詳細レコードが存在する品目がある場合に在庫評価レベル(CostingLevel)の変更をブロックします(ChangeCostingLevelError)。在庫評価レベルは運用開始前に確定してください。

Q. 設定を変更したのに転記に反映されません

Section titled “Q. 設定を変更したのに転記に反映されません”

会計スキーマはウィンドウ説明に「変更を有効にするには再ログインが必要」と明記されています。MAcctSchema はキャッシュされるため、変更後は再ログイン(またはキャッシュリセット)を行ってください。

Q. 会計スキーマの「組織」はなぜ「*」(共有)に戻るのですか?

Section titled “Q. 会計スキーマの「組織」はなぜ「*」(共有)に戻るのですか?”

beforeSave() が AD_Org_ID を強制的に 0(共有)にセットします。会計スキーマはクライアント全体の設定であり、特定組織のみに転記を限定したい場合は「組織のみ(AD_OrgOnly_ID)」を使います。ただしクライアントの第1会計スキーマでは「組織のみ」は自動的に解除されます。

Q. 並行会計(複数スキーマ)はどう設定しますか?

Section titled “Q. 並行会計(複数スキーマ)はどう設定しますか?”

会計スキーマを追加登録し、テナント設定で第2スキーマとして割り当てます。各伝票の転記はスキーマごとに生成されるため、通貨・GAAP・在庫評価方法をスキーマ別に変えられます。第2スキーマの適用範囲を「組織のみ」で限定することも可能です。

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

会計スキーマは C_AcctSchema と子テーブル C_AcctSchema_Element / C_AcctSchema_GL / C_AcctSchema_Default で構成されます。モデルクラスは MAcctSchema(887行)、MAcctSchemaElement(767行)、MAcctSchemaGL(184行)、MAcctSchemaDefault(171行)。転記エンジン(Doc/Fact)はすべて MAcctSchema.getClientAcctSchema() 経由でスキーマを取得します。

classDiagram
    class MAcctSchema {
        +get(C_AcctSchema_ID) MAcctSchema$
        +getClientAcctSchema(ctx, AD_Client_ID) MAcctSchema[]$
        +getAcctSchemaElements() MAcctSchemaElement[]
        +getAcctSchemaGL() MAcctSchemaGL
        +getAcctSchemaDefault() MAcctSchemaDefault
        +isSuspenseBalancing() boolean
        +isSkipOrg(AD_Org_ID) boolean
        +getStdPrecision() int
        #beforeSave(newRecord) boolean
    }
    class MAcctSchemaElement {
        +エレメント次元定義
    }
    class MAcctSchemaGL {
        +GL制御勘定
    }
    class MAcctSchemaDefault {
        +デフォルト勘定
    }
    class X_C_AcctSchema {
        <<generated>>
    }
    MAcctSchema --|> X_C_AcctSchema
    MAcctSchema --> MAcctSchemaElement : has many
    MAcctSchema --> MAcctSchemaGL : has one
    MAcctSchema --> MAcctSchemaDefault : has one

+get(C_AcctSchema_ID) MAcctSchema$ +getClientAcctSchema(ctx, AD_Client_ID) MAcctSchema[]$ +getAcctSchemaElements() MAcctSchemaElement[] +getAcctSchemaGL() MAcctSchemaGL +getAcctSchemaDefault() MAcctSchemaDefault +isSuspenseBalancing() boolean +isSkipOrg(AD_Org_ID) boolean +getStdPrecision() int #beforeSave(newRecord) boolean +エレメント次元定義 +GL制御勘定 +デフォルト勘定 <>

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MAcctSchema.java

カラム名必須説明備考
C_AcctSchema_IDIDPKスキーマID主キー
NameStringY名称
GAAPListY会計基準UN/US/DE/FR/XX
IsAccrualYesNoY発生主義デフォルト Y
CostingMethodListY在庫評価方法デフォルト S(標準原価)
CostingLevelListY在庫評価レベルデフォルト C(クライアント)
C_Currency_IDTableDirectY会計通貨
AutoPeriodControlYesNoY自動期間管理
Period_OpenHistory / Period_OpenFutureIntegerN過去/未来の転記可能日数
SeparatorStringYエレメントセパレータデフォルト -
HasAliasYesNoY勘定科目別名
IsAllowNegativePostingYesNoNマイナス転記許可デフォルト Y
AD_OrgOnly_IDTableN転記対象組織の限定第1スキーマでは 0 に強制
TaxCorrectionTypeListY税金修正タイプnull 時に自動補完

子テーブル: C_AcctSchema_Element(ElementType・SeqNo・IsMandatory・IsBalanced ほか)、C_AcctSchema_GL(SuspenseBalancing_Acct 等)、C_AcctSchema_Default(C_Receivable_Acct / V_Liability_Acct / P_Revenue_Acct 等 40 超の勘定)

beforeSave() の検証・補正(ソース確認済み)

Section titled “beforeSave() の検証・補正(ソース確認済み)”
  1. 組織の強制共有化: AD_Org_ID ≠ 0 なら 0 にセット
  2. 税金修正タイプの補完: 未設定なら割引補正フラグに応じて自動セット
  3. 原価設定チェック: checkCosting() を実行
  4. AD_OrgOnly_ID の整合: クライアントの第1会計スキーマでは 0 に強制
  5. 在庫評価レベル変更ガード: 原価詳細のある品目が存在する場合は変更エラー
  6. 期間整合性: StartDate > EndDate はエラー
  • getClientAcctSchema(ctx, AD_Client_ID): クライアントの全スキーマ配列を返し、伝票転記はスキーマごとに Fact(仕訳ファクト)を生成
  • isSkipOrg(AD_Org_ID): 「組織のみ」設定により当該組織の転記をスキップするか判定
  • isSuspenseBalancing() / getSuspenseBalancing_Acct(): 貸借不一致時に調整勘定へ転記するかの制御
  • Model Validator: 勘定設定の変更統制(本番での CostingMethod 変更禁止等)を modelChange で追加できます
  • 会計エレメントの追加次元: ユーザーエレメント(Column/Column2)により標準カラムベースの追加次元を構成できます。カスタム列追加より先に標準エレメントで対応できないか検討してください
  • このテーブルにカラム callout の定義はありません(「GL/デフォルト作成」「勘定科目コピー」は Processing ボタンによるプロセス)
プロセス説明
GL/デフォルト作成(会計スキーマタブのボタン)既存スキーマから一致する勘定エレメント値をコピー
勘定科目コピー(デフォルトタブのボタン)不足勘定の追加、または全勘定の上書きコピー(上書きは要注意)

並行会計(複数スキーマ)や独自の会計次元設計、原価計算方式の選定は導入初期の最重要設計ポイントです。要件に合わせた会計スキーマ設計をご支援します。

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

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