Oracle Fusion HCM : External Bank Account
Showing posts with label External Bank Account. Show all posts
Showing posts with label External Bank Account. Show all posts

Friday, 27 February 2026

Oracle HCM HDL – Loading Third-Party Organization Payment Method (Complete Guide with Examples)

 

πŸ“Œ Overview

In Oracle HCM Payroll, you often need to make payments to external organizations, such as:

  • Pension providers

  • Professional bodies

  • Courts (Child Support / Garnishment)

  • Tax authorities

  • Insurance providers

To enable this, you must:

1️⃣ Create a Third-Party Organization
2️⃣ Create Organization Payment Method
3️⃣ Load External Bank Account
4️⃣ Associate bank account to Third-Party
5️⃣ Add Calculation Card to employee

This blog explains how to load these using HCM Data Loader (HDL).


✅ Before You Begin

Make sure the following setup exists:

✔ Legislative Data Group (LDG)
✔ Payroll defined
✔ Third-Party Organization created
✔ Organization Payment Method defined
✔ Bank and Bank Branch created


✅ Step 1 – Load External Bank Account

You use the ExternalBankAccount and ExternalBankAccountOwner components.

This associates the bank account with the third-party organization.


πŸ“„ ExternalBankAccount.dat Example

METADATA|ExternalBankAccount|BankNumber|BankBranchNumber|CountryCode|AccountNumber|
IBAN|AccountName|CurrencyCode MERGE|ExternalBankAccount|BNK9001|BR9001|US|9876543210|US64 SVBK 9876 5432 1098 76
|ABC Pension Trust|USD

METADATA|ExternalBankAccountOwner|BankNumber|BankBranchNumber|CountryCode|
AccountNumber|CurrencyCode|ThirdPartyNumber|PrimaryFlag MERGE|ExternalBankAccountOwner|BNK9001|BR9001|US|9876543210|USD|TP30001|Y

Explanation

  • ThirdPartyNumber = TP30001

  • This links the bank account to the third-party organization

  • PrimaryFlag = Y marks this as primary account


✅ Step 2 – Load Third-Party Organization Payment Method

Now associate payment method with third-party organization.

In this example:

  • PartyNumber = TP30001

  • Payment type = Direct Deposit

  • Bank details provided


πŸ“„ ThirdPartyOrganizationPaymentMethod.dat Example

METADATA|ThirdPartyOrganizationPaymentMethod|EffectiveStartDate|
EffectiveEndDate|LegislativeDataGroupName|TimeDefinitionCode|
PartyNumber|BankName|BankBranchNumber|BankAccountNumber|BankCountryCode|
OrganizationPaymentMethodCode
MERGE|ThirdPartyOrganizationPaymentMethod|2022/01/01|
|US Legislative Data Group||TP30001|Wells Fargo Bank|121000248|
7894561230|US|OPM_US_DirectDeposit

🏦 Bank Details Used in Example

FieldValues
PartyNumberTP30001
BankNameWells Fargo Bank
BankBranchNumber121000248
BankAccountNumber7894561230
OrganizationPaymentMethodCodeOPM_US_DirectDeposit


πŸ”„ How It Works in Payroll Processing

1️⃣ Employee has involuntary deduction
2️⃣ Deduction is configured in Calculation Card
3️⃣ Payroll calculates deduction
4️⃣ System uses Third-Party Organization Payment Method
5️⃣ Payment is generated via Direct Deposit
6️⃣ File (e.g., NACHA) is created


πŸ’‘ Important Notes

1️⃣ Legislative Data Group must match Payroll LDG

2️⃣ OrganizationPaymentMethodCode

Example:
OPM_US_Nacha → Used for US direct deposit processing

3️⃣ External Bank Account Owner must exist before Payment Method load


πŸ”— Internal Linking Suggestions




🚨 Common Errors and Fixes

❌ Error: Bank account not found

✔ Ensure ExternalBankAccount is loaded before Payment Method.

❌ Error: PartyNumber invalid

✔ Confirm Third-Party Organization exists and number is correct.

❌ Error: LDG mismatch

✔ LegislativeDataGroupName must match payroll LDG.


🧠 Best Practice (From Project Experience)

✔ Always load bank first
✔ Validate ThirdPartyNumber from UI
✔ Keep Payment Method effective date aligned with Payroll
✔ Use separate HDL files for Bank and Payment Method
✔ Run “Validate” mode before final load


❓ FAQ Section

Q1. What is a Third-Party Organization Payment Method?

It defines how payroll payments are made to external organizations like courts or pension providers.

Q2. Is External Bank Account mandatory?

Yes, if payment method is Direct Deposit.

Q3. What component links bank to third-party?

ExternalBankAccountOwner component.

Q4. Can we pay via check instead of direct deposit?

Yes, then bank details are not required.

Q5. Where is this used in Payroll?

It is used when processing involuntary deductions like child support.


πŸ’¬ Feedback & Comments Section

Have You Implemented Third-Party Payments?

If yes, share:

  • Which country payroll?

  • Was it Child Support, Pension, or Garnishment?

  • Any HDL errors you faced?

  • Did you use NACHA or SEPA format?

Drop your questions below πŸ‘‡
I reply with solutions and corrected HDL samples.

Tuesday, 20 April 2021

⭐ HDL Template for External Bank Account Details in Oracle Fusion HCM (ExternalBankAccount.dat + Example)


⭐ HDL Template for External Bank Account Details in Oracle Fusion HCM

ExternalBankAccount.dat + ExternalBankAccountOwner.dat Step-by-Step Guide

In Oracle Fusion HCM, employee bank account details are required for payroll processing and payments.
Instead of entering bank accounts manually in the UI, you can load them in bulk using HCM Data Loader (HDL).

This blog explains how to load:

✅ External Bank Account (Account details)
✅ External Bank Account Owner (Employee mapping)

using ExternalBankAccount.dat.

For this use ExternalBankAccount.dat file.

You can see step by step video to load External Bank Account Details using this Link


✅ Prerequisite (Mandatory)

Before loading external bank accounts:

1) Bank and Bank Branch must already exist in Fusion

You must load:

  • Bank.dat

  • BankBranch.dat

πŸ“Œ If Bank / Branch does not exist, the ExternalBankAccount load will fail.


✅ HDL File Used

For this requirement use:

πŸ“Œ ExternalBankAccount.dat


✅ Business Objects Used

HDL requires these objects:

1) ExternalBankAccount

Stores bank account master information.

2) ExternalBankAccountOwner

Links the bank account to the employee/person.

Click here to find the sample bank details.   


πŸ“Œ Sample HDL Template (External Bank Account)

1) ExternalBankAccount (Bank Account Master)

METADATA|ExternalBankAccount|SourceSystemOwner|SourceSystemId|AccountNumber|BankBranchName|BankName|CountryCode|CurrencyCode|AccountType

MERGE|ExternalBankAccount|XXTEST|XXTEST_BANKACCT2|123456|AMC123|American Bank|US|USD|CheckingImportant Notes
  • AccountNumber must be valid format as per business rules

  • BankBranchName + BankName must match the existing bank setup

  • CountryCode / CurrencyCode should match bank country


2) ExternalBankAccountOwner (Link to Employee)

METADATA|ExternalBankAccountOwner|SourceSystemOwner|SourceSystemId|PersonNumber|AccountNumber|BankBranchNumber|BankNumber|CountryCode|CurrencyCode|BankBranchName|BankName|ExternalBankAccountId(SourceSystemId)

MERGE|ExternalBankAccountOwner|XXTEST|XXTEST_ACCTOWNER2|XXTEST2|123456|123|Test123|US|USD|AMC123|American Bank|XXTEST_BANKACCT2Key Fields Explained
  • PersonNumber → Employee person number

  • ExternalBankAccountId(SourceSystemId) → must match the ExternalBankAccount SourceSystemId

  • BankNumber + BankBranchNumber → must match what you loaded in Bank.dat and BankBranch.dat


✅ Step-by-Step Process to Load External Bank Account Using HDL

Step 1: Prepare the ExternalBankAccount.dat file

Include both sections:

  • ExternalBankAccount

  • ExternalBankAccountOwner


Step 2: Save and ZIP the file

Save as:

ExternalBankAccount.dat

Compress into:

ExternalBankAccount.zip


Step 3: Upload via HDL

Go to:

My Client Groups → Data Exchange → HCM Data Loader → Import and Load

Upload and submit the ZIP file.


Step 4: Verify the results

After successful load, validate from UI:

Navigation (Common)

My Client Groups → Person Management → Search Person → Payment Methods / Bank Accounts

(Exact path depends on your security role.)


⭐ Best Practices (Recommended)

  • Always load Bank + Bank Branch first

  • Use meaningful SourceSystemId format like:

    • EXTBANK_E12345_01

    • EXTBANKOWNER_E12345_01

  • Ensure BankName and BankBranchName match exactly

  • Keep one bank account per row (avoid duplicates)

  • Maintain separate IDs for each person and account mapping

  • Use consistent CountryCode + CurrencyCode


⚠️ Common Errors and Fixes

❌ Error: “Bank branch not found”

✅ Fix:
Load BankBranch.dat first and ensure BankBranchName matches.


❌ Error: “Invalid PersonNumber”

✅ Fix:
Confirm the worker exists and PersonNumber is correct.


❌ Error: “ExternalBankAccountId not found”

✅ Fix:
Make sure:

ExternalBankAccountId(SourceSystemId) = SourceSystemId of ExternalBankAccount row.


❌ Error: “Duplicate bank account”

✅ Fix:
Use unique SourceSystemId for each account record.


πŸ”— Internal Links Section

Add this section near the end of the blog:

πŸ”— Related HDL Templates (Must Read)

(Replace these with your actual post links.)


❓ FAQ 

1) Which HDL file is used to load external bank accounts in Oracle Fusion HCM?

External bank accounts are loaded using ExternalBankAccount.dat.


2) What is ExternalBankAccountOwner used for?

ExternalBankAccountOwner is used to link the bank account to a person (employee) using PersonNumber.


3) Can I load external bank account without loading bank and branch?

No. Bank and branch must exist first, otherwise HDL will fail.


4) What is the key linking field between account and owner?

The linking happens using:

ExternalBankAccountId(SourceSystemId)


5) Can I load multiple accounts for the same employee?

Yes. Create separate ExternalBankAccount and ExternalBankAccountOwner rows with unique SourceSystemId.

Featured post

Oracle Fusion Global Bank & Bank Branch Mapping by Country (65+ Countries) | Complete Reference Guide

  Introduction One of the most common challenges during Oracle Fusion HCM implementations is configuring employee bank accounts , supplier...