Data Applications → BlackLine Account Reconciliations for Oracle EBS
Using the Incorta BlackLine data application and data destination, you will have the edge to quickly ingest and integrate data using Oracle E-Business Suite (EBS). Integrating Oracle EBS with BlackLine with packaged data templates for BlackLine Account Reconciliations will replace any manual processes and custom code, it will also refresh the data incrementally from the data source more frequently.
Through the Incorta BlackLine data application, you will have a consistent, single version of detailed data pulled up from multiple data sources. You can also drill down from summarized to detailed data.
Configure BlackLine as a data destination
Here are the steps to configure BlackLine as a data destination in Incorta:
- Sign in to your Incorta cluster
- In the Navigation bar, select Data → + New → Add New Data Destination
- Create a new BlackLine data destination. Refer to Concepts → Data Destination for more information.
Install the Incorta BlackLine data application
Here are the steps to install the Incorta BlackLine data application:
- In the Navigation bar, select Marketplace
- Select the BlackLine Reconciliation for Oracle EBS data application
- Select Install
BL_EBS_GL schema Schema Diagram
Available physical schemas and tables
The following describes the different schemas available in the data application and the usage for each table, along with its description and refresh mechanism:
Table Name | Description | Refresh Mechanism | Usage |
---|---|---|---|
GL_LEDGERS | GL ledgers table from EBS | Incremental | Used to populate the Blackline Account template |
GL_PERIODS | GL periods table from EBS | Incremental | Used to populate the Blackline Account template |
GL_JE_HEADERS | Journal headers table from EBS | Incremental | Used to populate the Journal Line Drill dashboard |
GL_JE_LINES | Journal Lines table from EBS | Incremental | Used to populate the Journal Line Drill dashboard |
GL_JE_SOURCES | Journal Sources table from EBS | Incremental | Used to populate the Journal Line Drill dashboard |
GL_JE_CATEGORIES | Journal categories table from EBS | Incremental | Used to populate the Journal Line Drill dashboard |
GL_JE_BATCHES | Journal batches tables from EBS | Incremental | Used to populate the Journal Line Drill dashboard |
GL_ACCOUNT_SEG | GL Account segment table | Incremental | Used to populate the Blackline Account template |
GL_BALANCING_SEG | GL Balancing segment table | Incremental | Used to populate the Blackline Account template |
GL_COST_CENTER_SEG | GL cost center segment table | Incremental | Used to populate the Blackline Account template |
GL_CODE_COMBINATIONS | GL code combinations table from EBS | Incremental | Used to populate the Blackline Account template |
XX_GL_CODE_COMBINATIONS | Custom code combinations table created for Blackline Data App | Incremental | Used to populate the Blackline Account template |
Blackline_Account_Groups | Table to store Account groups details in Incorta from Blackline | Full | Used to enable drill from Blackine Accounts and Account Groups |
Mv_Active_Account | Materialized view that keeps the status of accounts | Incremental | Used to set the values of the flags in the Blackline Accounts template |
Mv_Account_Activity_in_Period | Materialized view that keeps track of activity in a period for a given combination | Full | Used to set the values of the flags in the Blackline Accounts template |
Mv_GL_Balances | Materialized view with GL balances used to enable drill down from account groups | Incremental | Used to enable drill from Blackine Accounts and Account Groups |
Available views in the BlackLineDM business schema
The following describes the different view available in the BlackLine DM business schema and the usage for each view along with its description:
Business View Name | Description | Usage |
---|---|---|
Accounts | A business view that has all the attributes needed in the Blackline reconciliation template | Used in the dashboard to push Blackline accounts template data into Blackline SFTP location |
AccountGroups | A business view that has all the account group related attributes to be used in the drill-thru reports from Blackline | Used in the dashboard that drills down to journal details from Blackline Accounts or Account Groups |
JournalLines | A business view that has all the attributes used in the Journal details drill report | Used in the dashboard that drills down to journal details from Blackline Accounts or Account Groups |
FixedAssets | A business view that has all the attributes used in the Fixed Assets subledger balances Blackline template | Used in the dashboard to push Blackline Fixed Assets subledger balances template data into Blackline SFTP location |
Available dashboards
The following describes the different dashboards available in the BlackLine data application and the usage for each dashboard along with its description:
Dashboard Name | Description | Usage |
---|---|---|
01 Accounts | A dashboard that has the data for the Blackline Account template | Used to push data into Blackline SFTP location |
GL Journal Details | A dashboard that has Journal Details | Used to drill to journal details from Blackline Accounts or Account Groups |
Subledger drill | A ashboard that has the subledger drills for AP, AR, Inventory, and Fixed Assets | Used to drill from journal details to individual subledgers |
Mandatory Configurations
Incorta requires you to configure few tables before using the BlackLine Reconciliation for Oracle Oracle E-Business Suite data application. These configurations aim to adapt the default logic implemented in the tables to your business logic.
You do not need to apply the mandatory configurations if the default ones comply with your business.
In the BL_EBS_GL schema, edit the following tables using SQL.
XX_GL_CODE_COMBINATIONS
Edit the table to update the segments for each of the charts of accounts you want to bring to BlackLine using Incorta. Currently, the following is the default behavior:
- Chart of accounts ID is 101, and account is mapped to segment 3
- Inter company affiliate is mapped to segment 5
- Line of business (LOB) is mapped to segment 2
The segments and visualization of accounts IDs depend on the customer's Oracle implementation.
Refer to additional configurations for a sample SQL and more information.
Mv_Active_Account
Edit the table to reflect whether an account is active or not. Currently, the default behavior states that if an account is enabled, then the account is active.
If the account is disabled and its status changes in the current time frame, then the active account remains inactive.
Mv_Account_Activity_in_Period
Edit this table to determine if an account is active for a given period of time. Currently, the default behavior states that if there is a period_net_balance of 0, then there is no activity in the current period. Any other value indicates activity in this period.
BlackLine additional configurations
If you need to enable additional navigation from BlackLine to Incorta to examine GL Journal details and sub-ledger drills.
You must download the Enterprise version of the data application. Alternatively, you can use the Oracle EBS Base data application.
To achieve that, apply the following steps:
Use these schemas to create the joins in the following step:
- EBS_AP
- EBS_AR
- EBS_INV
- EBS_FA
- EBS_ITEM_COMMON
- EBS_PARTY_COMMON
- EBS_HR_COMMON
- EBS_PARTY_COMMON
- EBA_XLA
- EBS_XLA_MV
Create the following joins from the XLA_MV schema:
Child table | Child Table Column | Parent Table | Parent Table Column |
---|---|---|---|
XLA_MV.XLAAPBridge | CODE_COMBINATION_ID | BL_EBS_GL.ACCOUNT_SEG | CODE_COMBINATION_ID |
XLA_MV.XLAAPBridge | CODE_COMBINATION_ID | BL_EBS_GL.XX_GL_CODE_COMBINATIONS | CODE_COMBINATION_ID |
XLA_MV.XLAAPBridge | JE_HEADER_ID, JE_LINE_NUM | BL_EBS_GL.GL_JE_LINES | JE_HEADER_ID, JE_LINE_NUM |
XLA_MV.XLAAPBridge | LEDGER_ID | BL_EBS_GL.GL_LEDGERS | LEDGER_ID |
XLA_MV.XLAARBridge | CODE_COMBINATION_ID | BL_EBS_GL.ACCOUNT_SEG | CODE_COMBINATION_ID |
XLA_MV.XLAARBridge | CODE_COMBINATION_ID | BL_EBS_GL.XX_GL_CODE_COMBINATIONS | CODE_COMBINATION_ID |
XLA_MV.XLAARBridge | JE_HEADER_ID, JE_LINE_NUM | BL_EBS_GL.GL_JE_LINES | JE_HEADER_ID, JE_LINE_NUM |
XLA_MV.XLAARBridge | LEDGER_ID | BL_EBS_GL.GL_LEDGERS | LEDGER_ID |
XLA_MV.XLAINVBridge | CODE_COMBINATION_ID | BL_EBS_GL.ACCOUNT_SEG | CODE_COMBINATION_ID |
XLA_MV.XLAINVBridge | CODE_COMBINATION_ID | BL_EBS_GL.XX_GL_CODE_COMBINATIONS | CODE_COMBINATION_ID |
XLA_MV.XLAINVBridge | JE_HEADER_ID, JE_LINE_NUM | BL_EBS_GL.GL_JE_LINES | JE_HEADER_ID, JE_LINE_NUM |
XLA_MV.XLAINVBridge | LEDGER_ID | BL_EBS_GL.GL_LEDGERS | LEDGER_ID |
XLA_MV.XLAFABridge | CODE_COMBINATION_ID | BL_EBS_GL.ACCOUNT_SEG | CODE_COMBINATION_ID |
XLA_MV.XLAFABridge | CODE_COMBINATION_ID | BL_EBS_GL.XX_GL_CODE_COMBINATIONS | CODE_COMBINATION_ID |
XLA_MV.XLAFABridge | JE_HEADER_ID, JE_LINE_NUM | BL_EBS_GL.GL_JE_LINES | JE_HEADER_ID, JE_LINE_NUM |
XLA_MV.XLAFABridge | LEDGER_ID | BL_EBS_GL.GL_LEDGERS | LEDGER_ID |
In your BlackLine environment, do the following:
- Download Group Accounts template from BlackLine (for all periods)
- Go to reporting
- Run the Account Template report
- Select All Periods, then GL and Group Accounts
- When the report complete, download it in a CSV format
Upload the file you downloaded in Incorta. [[note | Note]] | For more information on how to upload the file, refer to Connectors → Data Files.
Load your data using full load mode
To maintain your data and keep it up-to-date, you must apply the following steps regularly:
- In your BlackLine environment:
- Download the Group Accounts template from BlackLine (for all current and previous periods only)
- Go to reporting
- Run the Account Template report
- Select All Periods, then GL and Group Accounts
- When the report complete, download it in a CSV format
- Upload the file you downloaded in Incorta replacing the existing one
Apply these steps one or twice per week or whenever you have refreshed data.
Drill-down configurations in BlackLine
In your BlackLine environment, go to ERP Drill Down settings and apply the following step:
- Add a drill down “Oracle GL Detail BL Accounts” using the following URL:
http://<your_cluster_name>.incorta.com/incorta/#/dashboard/<your_GL_Journal_Details_dashboard_path>/params?filters=[{ "field": "BlackLineDM.AccountGroups.Entity_with_plus", "operator": "IN", "values": ["[BL-Seg1]”] },{ "field": "BlackLineDM.AccountGroups.ACCOUNT", "operator": "IN", "values": ["[BL-Seg2]”] },{ "field": "BlackLineDM.Accounts.SEGMENT3", "operator": "IN", "values": ["[BL-Seg3]"]},{ "field": "BL_EBS_GL.Mv_GL_Balances.LEDGER_ID”, "operator": "IN", "values": ["[BL-Seg4]"] },{ "field": "BlackLineDM.AccountGroups.LOB", "operator": "IN", "values": [“[BL-Seg5]"] }]&merge-filters=true
- Add a drill down “Oracle GL Detail BL Group” using the following URL:
https://<your_cluster_name>.incorta.com/incorta/#/dashboard/<your_GL_Journal_Details_dashboard_path>/params?filters=[{ "field": "BlackLineDM.AccountGroups.Entity_with_plus", "operator": "IN", "values": ["[BL-Seg1]”] },{ "field": "BlackLineDM.AccountGroups.Group_Account_with_plus", "operator": "IN", "values": ["[BL-Seg2]”] },{ "field": "BlackLineDM.Accounts.END_DATE”, "operator": "IN", "values": [“[BL-PeriodEnd]”] }]&merge-filters=true
You must replace <your_cluster_name>
with your cloud cluster name, and <your_GL_Journal_Details_dashboard_path>
with your URL dashboard path.
Additional configurations
SQL example for XX_GL_CODE_COMBINATIONS table in BL_EBS_GL schema
In the following SQL example, assume having three chart of accounts pre-seeded and have the segments for each key hardcoded. You can add additional chart of accounts and map the keys to the right segments. In this example, you also have the following:
- the logic for inclusions and exclusions
- all the keys for Blackline are harmonized across multiple chart of accounts needed for Blackline.
- the logic for key 5 (LOB) - conditional display of the 5th key (Optional configuration)
Steps to edit the configuration
- Select the needed BlackLine keys
- Harmonize across all chart of accounts
- Apply any inclusion, exclusion logic, and any special conditional logic needed
SELECTgcc.code_combination_id,gcc.chart_of_accounts_id,Gledger.LEDGER_ID,gcc.segment1 company,-- it is SEGMENT1 for all chart of accountsCASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment3 || '.' || gcc.segment4WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment6ELSE ''END account,--Reuse EBS_FIN_COMMON.GL_ACCOUNT_SEG DescriptionCASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment5WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment6WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment7ELSE ''END ic_affiliate,--I/C Affiliate'' ledger,-- Ledger will be sourced from GL_BALANCES.LEDGER_IDlob_eligible.segment2 lob,-- lobCASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment6ELSE ''END account_reference,gcc.enabled_flag,Nvl(gcc.end_date_active, gcc.last_update_date) status_change_date,To_number(To_char(Nvl(gcc.end_date_active, gcc.last_update_date),'YYYYMMDD')) status_change_dt_wid,To_number(To_char(Nvl(gcc.end_date_active, gcc.last_update_date),'YYYYMM')) status_change_month_widFROMapps.gl_code_combinations gccleft outer join (SELECTDISTINCT glcc.code_combination_id,glcc.segment1,glcc.segment6,glcc.segment2FROMapps.gl_code_combinations glcc,apps.fnd_lookup_values flvWHERE1 = 1AND glcc.chart_of_accounts_id = 50688AND Trunc(SYSDATE) BETWEEN Trunc(Nvl(flv.start_date_active, SYSDATE))AND Trunc(Nvl(flv.end_date_active, SYSDATE))AND flv.enabled_flag = 'Y'AND flv.LANGUAGE = 'US' --Userenv('lang')AND flv.lookup_type = 'XXSG_BLACKLINE_LOB_LKP'AND ((flv.attribute2 = glcc.segment6AND flv.attribute1 = glcc.segment1)OR (flv.attribute2 IS NULLAND flv.attribute1 = glcc.segment1)OR (flv.attribute2 = glcc.segment6AND flv.attribute1 IS NULL))) lob_eligible ON gcc.code_combination_id = lob_eligible.code_combination_idleft outer join(SELECT ledger_id,CHART_OF_ACCOUNTS_ID from apps.GL_LEDGERS) Gledger on gcc.chart_of_accounts_id=Gledger.chart_of_accounts_idWHERE1 = 1AND gcc.chart_of_accounts_id IN (101, 50408, 50688) -- Remove Entity Unique IDs as '000'AND gcc.segment1 <> '000' -- Static Filters on Account NumbersAND (CASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment4WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment6ELSE ''END LIKE '1%'OR CASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment4WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment6ELSE ''END LIKE '2%'OR CASEWHEN gcc.chart_of_accounts_id = 101 THEN gcc.segment3WHEN gcc.chart_of_accounts_id = 50408 THEN gcc.segment4WHEN gcc.chart_of_accounts_id = 50688 THEN gcc.segment6ELSE ''END LIKE '3%') -- Exclude Specific Code CombinationsAND gcc.code_combination_id NOT IN (SELECTflv.meaningFROMapps.fnd_lookup_values flvWHEREflv.lookup_type = 'XXWG_GL_BLACKLINE_EXCLUSIONS'AND flv.LANGUAGE = 'US'AND flv.enabled_flag = 'Y'AND Trunc (SYSDATE) BETWEEN Trunc (flv.start_date_active)AND Nvl (flv.end_date_active, SYSDATE + 1));