Oracle EBS Subledger Accounting(補助元帳会計)


ページ内目次

 Subledger
 SLA設定画面
 SLAとGLの紐づけ
 SLAとAADのコピー
 イベントクラス
 ジャーナル行
 自作SLAのGL紐づけ
 ADR作成

💡 まず、Subledger(補助元帳)って何?

📦 Subledgerとは?

Payables(買掛金)、Receivables(売掛金)、Projects(プロジェクト)、Inventory(在庫)など、GL(総勘定元帳)に送る前の会計データを扱うモジュール群のこと。

これらのモジュールで仕訳が作られ、最終的にGLに送られて財務レポートに反映されます。


🚨 バージョン11の課題点

❌ 問題1:会計処理の柔軟性がなかった

例)Payablesでアイテムカテゴリフレックスフィールドに基づいて勘定科目を変更したくてもできなかった。

❌ 問題2:モジュールごとに独自の会計エンジン

  • Receivables:AutoAccounting

  • Projects:Project Accounting(かなり複雑)
    → 各モジュールがバラバラで、管理や拡張が難しかった


✅ バージョン12で導入された「SLA(Subledger Accounting)」

🧠 SLAとは?

SLAはすべてのSubledgerモジュールの会計を統一的に管理・調整する仕組みです。

🔧 何ができるの?

  • 各モジュールで作られた仕訳を、SLAで加工・修正できる

  • 例:Payablesが作成した仕訳を、SLAで勘定科目を変更してGLに送信

🛡️ SLAの役割

SLAは「会計のフィルター」として機能します。
→ GLに正しい会計データだけが送られるようにするための中間調整機能です。


🔍 なぜSLAが画期的なの?

🌍 全社共通の会計処理ルールを一元管理

  • 各モジュールごとのバラバラな処理をやめ、SLAで統一管理できるようになった

💪 Oracle Financialsが強い理由の一つ

  • 他社も「Oracleの会計機能が強力」と感じている理由のひとつがSLAの存在


📘 学ぶこと

  • SLAの基本的な仕組み

  • 簡単な設定方法

  • 「SLAで何ができるのか」のイメージを持つ


✅ まとめ

内容説明
🔄 旧バージョンモジュールごとに会計処理がバラバラで柔軟性がなかった
🆕 新バージョンSLAという新モジュールで全体の会計処理を一元管理


📍 SLA設定画面

「SLA(Subledger Accounting)はどこにあるのか?」を理解し、各モジュールでのSLA設定画面の探し方を学ぶことです。


🤔 そもそもSLAってどこにあるの?

✅ 答え:「どのSubledgerモジュールにもある

  • SLAは「隠れているけど、ちゃんとすべてのSubledgerモジュールに存在」しています。

  • モジュールごとにナビゲーションが少しずつ違うので注意が必要。


🧭 具体的なSLAの場所(モジュール別)

① 📥 Receivables(売掛金)

ナビゲーション手順:

Setup > Financials > Accounting > Subledger Accounting >
Accounting Methods Builder > Methods and Definitions > Subledger Accounting Methods
  • 💡 ここがSLA設定画面です!

  • 「Subledger Accounting Methods」をトップ10メニューに追加するのがおすすめ
    → 毎回メニューを深掘りしなくて済みます!


② 📤 Payables(買掛金)

ナビゲーション手順:

Setup > Accounting Setup > Subledger Accounting Setup >
Accounting Methods Builder > Methods and Definitions > Subledger Accounting Methods
  • Receivablesとは少し違うけど、似た流れです。


③ 📦 Inventory(在庫)

  • 在庫モジュールにもSLAはあるが、責任者(Responsibility)によっては表示されない場合があります。

  • 今回使ったユーザーにはSLAメニューが見えませんでした。

📝 補足:
Inventory Super Userなど、適切な責任者を使うことでSLAメニューが表示されることがあります。


⚠️ SLAがないモジュール

  • ❌ Order Management(受注管理):会計処理がないのでSLAは存在しません

  • ✅ でも、最終的にすべての会計処理は General Ledger(GL) に送られます


🎯 まとめ

ポイント説明
✅ SLAは各モジュールにあるでもメニューはモジュールによって少しずつ違う
✅ Top 10に追加しよう「Subledger Accounting Methods」をよく使うメニューに登録しよう
⚠️ SLAが出ない場合もあるユーザー責任者の設定や権限による可能性がある
❌ Order Managementは除外会計処理がないためSLAは使わない

🧩 SLAとGL紐づけ

📌 重要ポイントだけ先に!

内容説明
🎯 やることSLAの会計方法GL元帳に設定すること
🧭 操作場所各モジュール(今回はReceivables)から「Accounting Setup」に入る
📘 使用例Oracle標準の「Standard Accrual」というSLAメソッドが初期設定されている
⚠️ 注意Oracleが作ったメソッドは直接編集できないので、後でコピーして使う方法を学ぶ


🧭 ナビゲーション手順(Receivablesを例に)

Setup > Financials > Accounting >
Subledger Accounting > Accounting Methods > Accounting Setups

ここで「Accounting Setup Manager」画面が開きます。


🏛 例:R12 Training USA Ledger の設定

  1. 「R12 Training USA」元帳を選択

  2. 「Update Accounting Options」をクリック


🔄 Oracleの「4C」ルール(Ledger定義の4つの要素)

Cの名前説明
🪙 Currency(通貨)例:USD(アメリカドル)
📊 Chart of Accounts(勘定科目構造)例:Operations Accounting Flex
📆 Calendar(会計カレンダー)例:Accounting
📘 Accounting Method(会計方法)例:Standard Accrual(これがSLAのコア)

※ 最後の「Accounting Method」は「C」が付かないけど、Oracle界では「4C」と呼ぶお決まりです 😅


📘 標準のSLA方法「Standard Accrual」について

  • 名前:Standard Accrual

  • 所有者:Oracle

アプリケーションごとに使えるように設定済みですが、
➡️ Oracleが所有しているものは編集できません!


🧠 まとめ

覚えておくこと内容
📍 SLAメソッドはLedgerに結びつける必要がある会計処理を行うため
📍 会計方法(SLA Method)は「4C」の1つLedger定義に欠かせない要素
📍 Oracle提供のメソッドは編集できないコピーして自社用を作成するのが基本

📘 SLA methodとAADの作成

🧠 最初に覚えておくべき鉄則!

❌ NGなやり方✅ 正しいやり方
「新規作成」ボタンからイチから作るOracle標準をコピーして自分用を作る!

💡 なぜコピーするのか?

  • Oracleの「Standard Accrual」などには重要な設定が全部入ってる

  • 新規作成だと、それをゼロから設定しないといけなくなる(→大変&ミスの元)

  • コピーすれば、すでに完成された設定を引き継げるので安心・安全!


✅ では実際の手順!

🎯 目的:自社用の会計方法(例:XX R12 Training SLA)を作る


手順①:SLA Methodのコピー

  1. 画面で Oracle の「Standard Accrual」メソッドを検索

  2. 「Copy」ボタンでコピー

  3. 名前をつける(例:XX R12 Training SLA

  4. 勘定科目構造(Chart of Accounts)もコピー対象に含めるとよい

✅ 所有者(Owner)が User になっていれば、自分用にコピーできている証拠


手順②:Application Accounting Definition(AAD)のコピー

  1. 元になる Oracle の「Receivables」用 AAD(例:Receivables Default Accrual)を選ぶ

  2. 「Copy」ボタンを押す

  3. 名前をつける(例:R12 Training Receivables ADD

  4. Chart of Accounts もコピー対象に含める

ここでも Oracle のものを直接編集せず、コピーして自分用を作る!


🛑 注意点:コピー後すぐには表示されない!

  • コピーしたAAD(会計定義)は、最初は**「未承認(Not Valid)」状態**

  • 有効化するには:

    • 手動で「Validate」ボタンを押す

    • または「並列処理(Concurrent Program)」で検証ジョブを実行する

✅ コピー直後はエラーなしで「Valid」になるはず(内容は何もいじってないから)


🧱 もう一つ重要なポイント:開始日(Start Date)

  • Create Accounting プログラムには「開始日」がない

  • その代わり、このAADの「開始日(Start Date)」が基準になる

  • ⇒ 開始日は絶対に設定しておく!


👀 このレッスンで学んだこと

学んだこと内容
🔧 SLA会計方法のコピーのしかたOracle標準から「Copy」で作る
📘 Application Accounting Definitionの作り方同様にOracle標準から「Copy」
🚫 Oracle標準は直接編集NGコピーして自分専用を作るのが基本
📅 AADには開始日が必要Create Accounting の処理基準になるから重要


📘 イベントクラス

**SLAルールをいつ発動するかを定義する「取引イベントの種類」**のことです。


🔍 イベントクラスのイメージ

SLAは、「どの取引が発生したときに、どんな仕訳を作るか?」をコントロールしています。
その「どの取引が発生したときか?」の判断に使うのが **イベントクラス(Event Class)**です。


🧱 SLAの階層構造(簡略)

レベル説明
Application(アプリケーション)Receivablesモジュール(売掛、買掛など)
Event Class(イベントクラス)Invoice, Receipt取引の種類
Event Type(イベントタイプ)Created, Adjusted, Cancelled発生した具体的なアクション
Journal Line Rules / Account Rules勘定科目ルールどんな仕訳を出すか定義するルール


🧩 具体例:Receivables(売掛)のイベントクラス

Event Class(取引の種類)説明
Invoice売上請求書(インボイス)の発行に関する処理
Receipt入金処理(顧客からの支払い)
Adjustment調整(値引き、修正など)
Credit Memoクレジットメモの発行(返品など)
Debit Memo追加請求(ペナルティなど)
Write-Off貸倒れ処理(回収不能の金額)


⚙ 仕訳作成の流れの中での「イベントクラス」の役割

例えば、顧客に請求書を発行(Invoice)したとします。

そのとき SLAでは:

  1. イベントクラス: Invoice

  2. イベントタイプ: Created

  3. この組み合わせに対して定義されている Journal Line Rule(仕訳ルール) を実行

  4. 結果として「売上」「売掛金」などの仕訳が生成される


🧠 ポイントまとめ

  • イベントクラス=「どんな種類の取引か?」を示す分類

  • イベントタイプ=「その取引のどんな動きか?」(作成・修正・取消など)

  • SLAルールは「イベントクラス+イベントタイプ」の組合せで動く

  • 例:Invoice(イベントクラス)+Created(イベントタイプ)→ 売掛発生の仕訳を作る


📝 補足:イベントクラスのカスタマイズはできる?

  • 基本的には Oracle がモジュールごとに提供しているイベントクラスを使用します。

  • 独自の取引がある場合は、「イベントクラス」はカスタマイズできませんが、その下の**仕訳ルール(Journal Line Rule)勘定科目ルール(Account Rule)**は自社に合わせて変更可能です。


📚 補足:設定画面でのナビゲーション例

Oracleの画面では以下のように操作します:

  1. メニュー:
     Subledger Accounting → Setup → Application Accounting Definitions

  2. 対象モジュール(Receivablesなど)を選択

  3. 該当の イベントクラス を開くと、その下に
     イベントタイプ、ジャーナル行ルール、勘定ルールが表示されます


✅ 最後にまとめ

用語意味
イベントクラス取引の種類Invoice, Receipt, Credit Memo
イベントタイプイベントの動きCreated, Completed, Cancelled
SLAルールどんな仕訳を出すか売上、売掛金などの会計仕訳

📘 ジャーナル行

SLAでは、ジャーナル行に自由な説明文(ディスクリプション)をつけることができます。

これにより、GL(総勘定元帳)に送られた仕訳行が「何に基づく取引か」わかりやすくなるという利点があります。


📉 以前(EBS 11i)の問題点

  • EBS 11i では、仕訳の説明が単に「Journal Imported」などのように曖昧で、会計担当者にとって中身が分かりにくかった。


🌟 SLAでできること

  • SLAを使うと、「どんな取引か、どの顧客か、どんな請求書か」などを説明文に表示できます。

  • 自分でオリジナルの説明ルール(Journal Line Description)を作ることが可能!


🧭 Oracle標準の説明(例)

Oracleが用意した「インボイス用説明ルール(Invoice Header Description)」の例:

Invoice Transaction Type: [取引タイプ名]
Invoice Transaction Number: [取引番号] Document Category: [文書カテゴリ] Document Number: [文書番号]

これは定数(Constant)とデータソース(Source)を組み合わせて表示されます。


✍️ カスタム説明を作る手順(例)

あなたが独自に「請求書説明ルール(R12 Invoice Description)」を作るとします。

📌 手順:

  1. Oracle標準の説明ルールをコピーして、新しい名前をつける
     例:「R12 Invoice Description

  2. 定数を追加(例:「Customer Name: 」)

  3. ソースを追加
     → 「請求先顧客名(Bill-to Customer Name)」など
     これは Oracle が提供している「ソース定義」から選びます。

  4. アプリケーションに注意!
     → 必ず Receivables を選ぶ(でないと情報が取得できない)

  5. 保存


🧩 ポイント:アプリケーションの選択が超重要!

💡 ソース(取引先名、番号など)を使うときは、「どのモジュールからの取引なのか」を明示する必要があります。

例えば:

モジュール正しい設定
Receivables(売掛)アプリケーション:Receivables
Payables(買掛)アプリケーション:Payables

❌ 間違えて他のモジュールに設定すると、値が表示されません!


🔗 ジャーナル行タイプとの関連付け

  • 作った説明ルールは、ジャーナル行タイプ(Journal Line Type) に関連付けて使います。

  • 例:Revenue(収益)行にだけ適用させる、など。

📌 推奨される方法:

1つの説明ルールを 複数のジャーナル行タイプに共通して使うのがオススメ!
バラバラに設定すると管理が大変になり、GL上の表示が混乱します。


✅ まとめ

概念内容
ジャーナル行説明仕訳行に表示されるテキスト
定数(Constant)「Customer Name: 」など固定の文字列
ソース(Source)実際の取引データ(取引先名、請求書番号など)
アプリケーションデータの元となるモジュール(例:Receivables)
ジャーナル行タイプ収益、税、割引など、仕訳の種類

📘 自作SLAのGL紐づけ

🔗 1. SLA 会計手法を Ledger に紐づける方法

手順

  1. SLAメソッド画面から「Accounting Setups」に移動

  2. 自分の Ledger(例:R12 Training USA)を検索して選択

  3. 「Update Accounting Options」→ 最初のステップ「Update」へ進む

  4. 4つのC(4C)を確認する画面が表示される

    • 💰 Currency(通貨)→ USD

    • 📘 Chart of Accounts(勘定科目表)→ 例: Operations Accounting Flex

    • 📅 Calendar(会計カレンダー)→ 例: Accounting

    • 🧠 Subledger Accounting Method(SLA 会計手法)→ 例: R12 Training SLA(←ここで自作の方法を選ぶ)

  5. [Next] → [Next] → [Finish] で完了


🧾 2. トランザクションを会計化する方法

トランザクション(請求書など)を会計に変換(仕訳を作成)するには、2つの方法があります:

方法①:手動で会計化(Create Accounting)

  1. 対象トランザクションを検索

  2. メニューの「Tools」→「Create Accounting」→「Final(本番会計化)」を選ぶ

  3. その後、必ず「Transfer to General Ledger(GLへ転送)」を実行する必要があります ⚠️

この「GLへの転送」をしないと、仕訳が GL に表示されません

方法②:ドラフトで仕訳を確認(View Accounting)

  • 「Create Accounting(Draft)」で事前にどう仕訳が作られるかを確認できます


📝 3. Journal Line Description(仕訳行の説明)について

💡 何ができる?

SLA では、仕訳行に好きな内容の説明文(Journal Line Description)を表示することができます。

例:

Invoice Transaction Type: Invoice
Transaction Number: 10001 Customer Name: ABC商事

📌 なぜ説明文が出ない場合がある?

以下の2点を守らないと、説明文が表示されません:

✅ ポイント①:Journal Line Type の「Transfer to GL」を Detail にする

  • 初期状態では「Summary」になっていることが多く、これだと説明が出ません

  • 必ず「Detail(詳細)」に変更しましょう!

✅ ポイント②:必ず正しい Application(例:Receivables)を選ぶ

  • SLA は複数モジュール(AR/APなど)共通なので、どのモジュールの情報かを正確に選ぶ必要があります


🔁 最後にエラーを避けるための大事なこと

  • SLA を変更した後は 必ず「Validate(検証)」を実行する!

    • 検証しないと、仕訳作成時にエラーが出たり、設定が反映されません


✅ 要点まとめ

項目ポイント
Ledger への SLA 紐づけAccounting Setup から設定、4Cの最後で自作SLAを選ぶ
会計化(仕訳作成)Create Accounting 後は必ず Transfer to GL を実行
説明文の表示Journal Line Type を Detail にし、正しいアプリケーションとソースを選ぶ
設定変更後必ず Validate を行う

📘 ADR作成


🧠 そもそも「ADR」って何?

ADR(Account Derivation Rule) とは、仕訳(会計処理)に使う 勘定科目を自動で決めるルール のこと。

たとえば:

「売上勘定は常に ‘4110’ を使う」
「ただし、特定のトランザクション番号なら ‘2520’ を使う」

といったルールを作ることで、Oracle が自動で適切な科目を割り当ててくれます。


✅ 今回やることの流れ

  1. 既存のADRをコピーして

  2. 特定のトランザクション番号にだけ適用されるよう条件を設定し

  3. 売上勘定(Revenue Account)を別の科目(2520)に変更します


🔨 実際の手順(簡略版)

① 既存のルールを見てみる

Oracleにはもともと「取引元の勘定科目をそのまま使う」というADRが設定されています。
(例:「トランザクションに紐づく Distribution Account をそのまま使う」)

→ これは条件なしで動作し、変更は加えません。


② 仕訳をドラフトで試す(重要)

  • 仕訳(Create Accounting)をするときは、必ず「Draft(下書き)」で試すこと!

  • 「Final」でやってしまうとやり直しがきかない(仕訳が確定してしまう)


③ ADRをコピーして新しいルールを作成

✔ ルール名の例:

R12 Training Revenue Act ADR

→ どの勘定科目に対するルールか分かるように命名

✔ 内容:

  • 売上勘定(Revenue)を「2520」に強制変更

  • ただし条件あり:「トランザクション番号が○○○○○○81のときだけ」


④ 条件(Condition)を追加する

  • 条件:「トランザクション番号 = 〇〇〇〇81」

  • 注意:トランザクション番号には種類がある!

    • Receivables モジュールから選ぶこと

    • 他(Lease等)を選ぶと動かない


⑤ 仕訳項目に使う勘定科目(2520)を設定

【補足】なぜ2520が指定できるのか?

  • 自分の「Chart of Accounts(勘定科目表)」がSLA設定でちゃんと紐づいていれば、Oracleは勘定科目一覧を理解していて、定数(constant)として指定できる


⑥ ADRの保存と検証(Validation)

  • ルールを保存したら、必ず「Validate」すること

  • これをしないと、仕訳でエラーになります


⑦ 仕訳を再作成してテスト

  • 再び「Create Accounting(Draft)」で試す

  • 条件に合致する場合は、売上勘定が 2520 に置き換わる はず!


⑧ 結果確認

  • 仕訳画面で確認したところ、売上勘定が 2520 に変更された

  • 元のトランザクション(Distribution)には4110が設定されたまま

    • しかしSLA(仕訳作成ルール)によって、仕訳時に自動で上書きされたことが分かる


🧩 SLAのすごさ

SLA(Subledger Accounting)は、モジュールごとに自動で仕訳を作れる超強力な機能です。

  • 条件付きルール

  • 勘定科目の動的変更

  • 独自ソースや関数の追加(高度な話)

なども可能です。


📝 まとめ

できること説明
ADR を作れる既存のADRをコピーして、自分用に編集できる
条件を設定できるトランザクション番号などの条件でルールを適用できる
勘定科目を変えられる取引内容に応じて別の科目を自動で使える
ドラフト仕訳で検証できるFinal前に結果をチェックできる
SLA設定全体が理解できる会計定義の組み立てと設定の流れを理解できる


前の記事:Oracle EBS 取引コミュニティアーキテクチャ

次の記事:Oracle EBS フォルダ機能