Analytics Catalog/Oracle Fusion ERP/Cash Management/Transactions Available for Reconciliation Report
Explore the catalogReportsModulesEnterprise modelOTBI subject areasBICC PVOs
Oracle Fusion · Cash Management

Transactions Available for Reconciliation Report

Cash Management

The system-side transactions — payments, receipts, and journals — available to match against imported bank statement lines for an account and date range, so you can see what is eligible before running reconciliation.

Sample build of the Transactions Available for Reconciliation Report — reconciled, and rendered tool-neutral so it runs in Power BI, ThoughtSpot, or Tableau.

Transactions Available for Reconciliation Report
Sample build · illustrative
Filters
Baid
1003
Fromdate
2026-02-28
Sources
Sample
Todate
2026-02-28
3,910
Available transactions
$5.20M
Unmatched value
47 days
Oldest item
Bank AccountTransaction DateSourceReferenceAmountStatus
1000-2100-0002026-04-30SampleSample$1,240,500.00Open
1000-5400-0002026-03-31$842,150.75Posted
1000-1410-0002026-02-28SampleSample$96,400.00Validated
2000-2100-0002026-01-31$1,005,233.10Open
1000-6300-0002025-12-31SampleSample$58,720.40Paid
1000-2100-0002026-04-30SampleSample$1,240,500.00Open
AI Analyst · active
reading

The report pulls eligible items from AP_CHECKS_ALL, AR_CASH_RECEIPTS_ALL, and IBY_PAYMENTS_ALL through CE_AVAILABLE_TRANSACTIONS_V for the selected bank account.

flag

$5.2M sits available but unmatched and the oldest item is 47 days old — a backlog that distorts the available-cash view until it is cleared.

root cause & next step

Aged unmatched items usually mean a missing bank statement or a transaction booked to the wrong bank account. Import the missing statement or correct the account, then reconcile.

Illustrative data. The live interactive version — drill-through, filters, export, and the AI Analyst — runs on your warehouse. See it live →

This is the report's BI Publisher data model — the SQL data set BI Publisher runs against Oracle tables to produce the output. The same SQL becomes a dbt model in your warehouse, so one definition drives both the formatted report and the analytics layer.

Data sources

How it interconnects: this data set reads the physical tables above. Those same tables surface in OTBI as subject areas and in BICC as PVOs — three lenses on one source. Open any table to trace its subject areas and View Objects.
SQL data set · genericized · parameterized · no hardcoded segments
Show / hide SQL
select * from (
SELECT
    BankStatementLineEO.RECON_REFERENCE,
    to_char(TRUNC(BankStatementLineEO.BOOKING_DATE),'DD-Mon-YYYY','nls_date_language=American') as recon_match_date,
	to_char(DECODE(NVL(BankStatementLineEO.flow_indicator, 'CRDT'), 'DBIT'
					, - BankStatementLineEO.AMOUNT, BankStatementLineEO.AMOUNT)
					,fnd_currency.get_format_mask(BankAccountPEO.CURRENCY_CODE,30))  AMOUNT,
    CeLookup.meaning AS TRX_TYPE,
    sourcelookup.meaning as source,
    BankStatementLineEO.STRUCTURED_PAYMENT_REFERENCE,
    
    concat(concat(concat( 'Line '
                        , BankStatementLineEO.LINE_NUMBER)
                        , ', ')
                        , BankStatementHeaderEO.STATEMENT_NUMBER) AS STATEMENT,
    BankStatementLineEO.ADDENDA_TXT,
    TRXCODES.TRX_CODE AS TRX_CODE,
    to_char(TRUNC(BankStatementLineEO.VALUE_DATE),'DD-Mon-YYYY','nls_date_language=American') as VALUE_DATE,
    BankStatementLineEO.END_TO_END_ID,
    BankStatementLineEO.TRANSACTION_ID,
    BankStatementLineEO.INSTRUCTION_IDENTIFICATION,
    BankStatementLineEO.ACCNT_SERVICER_REF,
    BankStatementLineEO.CLEARING_SYSTEM_REF,
    
    BankStatementLineEO.CUSTOMER_REFERENCE,
    -- null transaction_number, -- commneted 
    concat(concat(concat( 'Line '
                        , BankStatementLineEO.LINE_NUMBER)
                        , ', ')
                        , BankStatementHeaderEO.STATEMENT_NUMBER) transaction_number,
    null as counterparty,
    null as journal,
    null as journal_batch,
    null as journal_line,
    null as payment_file_reference,
    null as batch_name,
    null as receipt_batch_name,
    null as logical_group_number,
    null as payment_server_order_number,
    null as journal_line_description,
    null as UNIQUE_REMITTANCE_IDENTIFIER,
    null as bank_deposit_number,
    null as receipt_class_name,
    
    null as recociliation_group,
	BankAccountPEO.BANK_ACCOUNT_ID,
    sourcelookup.lookup_code as source_code,
	to_char(BankStatementLineEO.statement_line_id) as source_id,
    null as source_line_id,
	BankAccountPEO.BANK_ACCOUNT_NAME as account_name,
	BankAccountPEO.BANK_ACCOUNT_NUM,
	xef.NAME as legal_entity_name,
	BankAccountPEO.CURRENCY_CODE TRX_CURRENCY,
	BankAccountPEO.CURRENCY_CODE BA_CURRENCY,
	To_number(to_char(DECODE(NVL(BankStatementLineEO.flow_indicator, 'CRDT'), 'DBIT'
					, - BankStatementLineEO.AMOUNT, BankStatementLineEO.AMOUNT)
					,fnd_currency.get_format_mask(BankAccountPEO.CURRENCY_CODE,30)))  TRX_AMOUNT,
    null payment_method
FROM CE_STATEMENT_HEADERS BankStatementHeaderEO,
    CE_STATEMENT_LINES BankStatementLineEO,
    CE_BANK_ACCOUNTS BankAccountPEO,
    CE_LOOKUPS CeLookup,
    CE_LOOKUPS sourcelookup,
    CE_TRANSACTION_CODES trxCodes
	,XLE_ENTITY_PROFILES xef
WHERE BankAccountPEO.BANK_ACCOUNT_ID = BankStatementHeaderEO.BANK_ACCOUNT_ID
AND BankStatementHeaderEO.STATEMENT_HEADER_ID = BankStatementLineEO.STATEMENT_HEADER_ID
AND NVL(BankStatementHeaderEO.statement_type, 'BOOK') = 'BOOK'
AND TRUNC(NVL(BankStatementHeaderEO.STMT_TO_DATE, BankStatementHeaderEO.STATEMENT_DATE)) >= TRUNC(NVL(BankAccountPEO.recon_start_date, to_date('1970-01-01', 'YYYY-MM-DD')))
AND BankStatementHeaderEO.RECON_STATUS_CODE = 'INCOMPLETE'
AND NVL(BankStatementLineEO.RECON_STATUS, 'UNR') = 'UNR'
AND CeLookup.lookup_code = BankStatementLineEO.trx_type
AND CeLookup.lookup_type = 'CE_TRX_TYPE'
AND sourcelookup.lookup_type = 'CE_RECON_SOURCE'
AND sourcelookup.lookup_code = 'BS'
AND TRXCODES.TRANSACTION_CODE_ID = BankStatementLineEO.TRX_CODE_ID
AND BankStatementHeaderEO.BANK_ACCOUNT_ID = nvl(:baID,BankStatementHeaderEO.BANK_ACCOUNT_ID)
AND xef.legal_entity_id = BankAccountPEO.ACCOUNT_OWNER_ORG_ID
AND TRUNC(BankStatementLineEO.BOOKING_DATE) between :fromDate and :toDate

Union all
SELECT
    trx.recon_match_reference as RECON_REFERENCE,
    to_char(TRUNC(trx.recon_match_date),'DD-Mon-YYYY','nls_date_language=American') recon_match_date,
    to_char(trx.recon_match_amount, fnd_currency.get_format_mask(BankAccountPEO.CURRENCY_CODE,30)) as AMOUNT,
    trx.recon_match_type AS TRX_TYPE,
    sourcelookup.meaning as source,
    trx.structured_payment_reference,

    null AS statement,
    null as addenda_txt,
    null AS trx_code,
    null as value_date,
    null as end_to_end_id,
    null as transaction_id,
    null as instruction_identification,
    null as accnt_servicer_ref,
    null as clearing_system_ref,
    null as customer_reference,
    
    trx.transaction_number,
    trx.cparty_name as counterparty,
    trx.journal_name as journal,
    trx.journal_batch_name as journal_batch,
    trx.trx_line_id as journal_line,
    trx.payment_file_reference,
    trx.batch_name,
    trx.receipt_batch_name,
    
    trx.logical_group_reference as logical_group_number,
    trx.payment_server_order_number,
    trx.journal_line_description,
    trx.unique_remittance_identifier,
    trx.bank_deposit_number,
    trx.receipt_class_name,
    
    null as recociliation_group,
	BankAccountPEO.BANK_ACCOUNT_ID,
    sourcelookup.lookup_code as source_code,
	to_char(trx.transaction_id) as source_id,
    to_char(trx.trx_line_id) as source_line_id,
	BankAccountPEO.BANK_ACCOUNT_NAME as account_name,
    BankAccountPEO.BANK_ACCOUNT_NUM,	
	xef.name as legal_entity_name,
    trx.trx_currency_code trx_currency,
	trx.ba_currency_code ba_currency,
	trx.trx_amount trx_amount,
	( 
		case when (transaction_source='AR')
		then (select arm.name from ar_cash_receipts_all acra, ar_receipt_methods arm where acra.cash_receipt_id=trx.transaction_id and arm.receipt_method_id=acra.receipt_method_id)
		when (transaction_source='AP')
		then (select ipm.payment_method_name  from iby_payments_all ipa , iby_payment_methods_tl ipm where ipa.payment_id= trx.payment_reference_id
		      and ipm.payment_method_code = ipa.payment_method_code and ipm.language ='US')
        else (null)
	end) payment_method
FROM ce_available_transactions_v trx, ce_bank_accounts BankAccountPEO,
ce_lookups sourcelookup
,Xle_entity_profiles xef
WHERE 1=1
and  BankAccountPEO.BANK_ACCOUNT_ID = nvl(:baID,BankAccountPEO.BANK_ACCOUNT_ID)
AND trx.recon_match_date between :fromDate and :toDate
AND trx.BANK_ACCOUNT_ID = BankAccountPEO.BANK_ACCOUNT_ID
AND sourcelookup.lookup_type = 'CE_RECON_SOURCE'
AND sourcelookup.lookup_code = trx.transaction_source
AND xef.legal_entity_id = BankAccountPEO.ACCOUNT_OWNER_ORG_ID
AND sourcelookup.lookup_code in (:sources)
) order by LEGAL_ENTITY_NAME ,ACCOUNT_NAME,TRX_TYPE asc , RECON_MATCH_DATE desc,TRX_AMOUNT desc
:baID :fromDate :sources :toDate

The data-warehouse model — one fact surrounded by conformed dimensions (what you slice by) and measures (what you aggregate), expressed as dbt so it migrates with you. Grain: one row per source transaction.

CE_STATEMENT_LINESdimensionCE_BANK_ACCOUNTSdimensionCE_LOOKUPSdimensionCE_TRANSACTION_CODESdimensionCE_STATEMENT_HEADERSfact · one row per source transactionAmount
●— fact → dimension join
ElementTypeDefinition
CE_STATEMENT_LINESdimensiondimension
CE_BANK_ACCOUNTSdimensiondimension
CE_LOOKUPSdimensiondimension
CE_TRANSACTION_CODESdimensiondimension
Amountmeasuremeasure
Runs on your cloud warehouse — Snowflake, BigQuery, Redshift, or Synapse on AWS, Google Cloud, Azure, or any provider. Reconciled to the source control total — 0% variance by design. You own the code, the model, and the data.
How the data gets here: a BICC bulk extract of the source tables above, on the same pattern for every report. See the extraction pattern & data flow →
See the complete model
How this report's fact and dimensions fit the full picture, via conformed keys.
Cash Management data model →Enterprise model →

Every source object behind this report. Each linked table has its own page with full column descriptions, drawn from the Oracle BICC lineage and articulated for practitioners.

TableReporting columnsSubject areas
CE_STATEMENT_HEADERS74
CE_STATEMENT_LINES233
CE_BANK_ACCOUNTS912
CE_LOOKUPSSetup / configuration table — joined for reference, not exposed for analytics
CE_TRANSACTION_CODESSetup / configuration table — joined for reference, not exposed for analytics
XLE_ENTITY_PROFILES73161
AR_CASH_RECEIPTS_ALL259
AR_RECEIPT_METHODS15
IBY_PAYMENTS_ALLSetup / configuration table — joined for reference, not exposed for analytics
IBY_PAYMENT_METHODS_TL39
CE_AVAILABLE_TRANSACTIONS_VSetup / configuration table — joined for reference, not exposed for analytics
Reporting columns = fields the report selects that are exposed as analytics attributes; subject areas = the OTBI subject areas the table appears in. Setup and configuration tables (master data, ledger and book setup, lookups) are referenced by the report's joins but aren't exposed as analytics columns or subject areas — that's expected, not a gap.