Analytics Catalog/Oracle Fusion ERP/Payables/Key Indicators Payment Report
Explore the catalogReportsModulesEnterprise modelOTBI subject areasBICC PVOs
Oracle Fusion · Payables

Key Indicators Payment Report

Payables

Payables payment activity summarized into operating indicators — payment count and value, average days to pay, discounts taken versus lost, and manual-payment share — so AP managers can track process health period over period.

Sample build of the Key Indicators Payment Report — reconciled, and rendered tool-neutral so it runs in Power BI, ThoughtSpot, or Tableau.

Key Indicators Payment Report
Sample build · illustrative
Filters
Bu
Sample
Legal Entity
Globex Holdings
Period From
FEB-26
Period To
FEB-26
Region
Sample
Supplier Typ
Globex Holdings
1,840
Payments
$48K
Discounts taken
$22K
Discounts lost
IndicatorThis PeriodPrior PeriodChange
SampleAPR-26APR-26Sample
MAR-26MAR-26
SampleFEB-26FEB-26Sample
JAN-26JAN-26
SampleDEC-25DEC-25Sample
SampleAPR-26APR-26Sample
AI Analyst · active
reading

The report aggregates AP_CHECKS_ALL into payment-process indicators by operating unit and period.

flag

$22K of available early-payment discounts were lost this period — invoices paid after the discount date — concentrated in one operating unit's approval backlog.

root cause & next step

Speed approval in that unit, or schedule payment runs to the discount date; lost discounts are free margin AP gives away when invoices sit in approval.

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
PAYMENT_BATCH,
CREATED_BY,
PAYMENT_METHOD,
PAYMENT_STATUS,
INTERNAL_BANK_ACCOUNT,
PAYMENT_DATE,
PAYMENT_CURRENCY,
PAYMENT_AMOUNT,
SUPPLIER_NUMBER,
TRADING_PARTNER,
SUPPLIER_NAME,
SUPPLIER_TYPE,
PARTY_ID,
VENDOR_ID,
SUPPLIER_SITE_ID,
SUPPLIER_SITE,
LEGAL_ENTITY,
BUSINESS_UNIT,
--CREATION_DATE,
CREATION_PERIOD,
NO_OF_PAYMENTS,
CHECK_NUMBER,
REGION
FROM
(
SELECT 
	APC.CHECKRUN_NAME PAYMENT_BATCH,
	APC.CREATED_BY CREATED_BY,
	APC.PAYMENT_METHOD_CODE PAYMENT_METHOD,
	FLVSTA.MEANING PAYMENT_STATUS,
	APC.BANK_ACCOUNT_NAME INTERNAL_BANK_ACCOUNT,
	APC.CHECK_DATE PAYMENT_DATE,
	APC.CURRENCY_CODE PAYMENT_CURRENCY,
	APC.AMOUNT PAYMENT_AMOUNT,
	PSV.SEGMENT1 SUPPLIER_NUMBER,
	NVL(APC.REMIT_TO_SUPPLIER_NAME,HP.PARTY_NAME) TRADING_PARTNER,
	PSV.VENDOR_NAME SUPPLIER_NAME,		
	PSV.VENDOR_TYPE_LOOKUP_CODE SUPPLIER_TYPE,
	PSV.PARTY_ID,
	PSV.VENDOR_ID,
	NVL(PSSAM.ATTRIBUTE1,PSSV.VENDOR_SITE_ID) SUPPLIER_SITE_ID,
	PSSV.VENDOR_SITE_CODE SUPPLIER_SITE,
	XEP.NAME LEGAL_ENTITY,
	HOU.NAME BUSINESS_UNIT,
	--PAY_TBL.ACCOUNTING_DATE CREATION_DATE,
	PAY_TBL.PERIOD_NAME CREATION_PERIOD,
	COUNT(APC.CHECK_NUMBER) OVER (PARTITION BY APC.CHECK_DATE,PSSV.VENDOR_SITE_CODE,APC.CHECKRUN_NAME) NO_OF_PAYMENTS,
	APC.CHECK_NUMBER,
	FLV.DESCRIPTION REGION
FROM 
	AP_CHECKS_ALL APC,
	HZ_PARTIES 	  HP,
	POZ_SUPPLIERS_V PSV,
	POZ_SUPPLIER_SITES_V PSSV,
	XLE_ENTITY_PROFILES XEP,
	HR_OPERATING_UNITS HOU,
	--AP_INVOICE_PAYMENTS_ALL AIPA,
	FND_LOOKUP_VALUES_VL FLV,
	POZ_SUPPLIER_SITES_ALL_M PSSAM,
	GL_PERIODS GP,
	GL_LEDGERS GL,
	FND_LOOKUP_VALUES FLVSTA,
	(
	SELECT 
	DISTINCT
	AIPA.CHECK_ID,
	AIPA.SET_OF_BOOKS_ID,
	AIPA.PERIOD_NAME
	--AIPA.ACCOUNTING_DATE
	FROM
	AP_INVOICES_ALL AIA,
	AP_INVOICE_PAYMENTS_ALL AIPA
	WHERE 1=1
	AND AIA.INVOICE_ID=AIPA.INVOICE_ID

	) PAY_TBL
WHERE 
	1=1
	AND PSV.VENDOR_ID = APC.VENDOR_ID
	AND APC.party_id = HP.party_id(+)
	AND PSSV.VENDOR_ID = PSV.VENDOR_ID
	AND APC.VENDOR_SITE_ID = PSSV.VENDOR_SITE_ID
	AND XEP.LEGAL_ENTITY_ID = APC.LEGAL_ENTITY_ID
	AND APC.ORG_ID = HOU.ORGANIZATION_ID
	AND PAY_TBL.CHECK_ID = APC.CHECK_ID
	AND APC.VENDOR_SITE_ID = PSSAM.VENDOR_SITE_ID
	AND PSV.VENDOR_ID = PSSAM.VENDOR_ID
	AND SYSDATE BETWEEN PSSAM.EFFECTIVE_START_DATE AND PSSAM.EFFECTIVE_END_DATE
	AND FLV.LOOKUP_CODE = HOU.NAME
	AND FLV.LOOKUP_TYPE = 'BU_REGION_REPORTING'
	AND PAY_TBL.SET_OF_BOOKS_ID = GL.LEDGER_ID
	AND GL.PERIOD_SET_NAME = GP.PERIOD_SET_NAME
	AND PAY_TBL.PERIOD_NAME = GP.PERIOD_NAME
	AND FLVSTA.LOOKUP_CODE(+)=APC.STATUS_LOOKUP_CODE
	AND FLVSTA.LOOKUP_TYPE(+)='CHECK STATE'
	AND FLVSTA.LANGUAGE(+) = USERENV('LANG') 

	--PARAMETERS
	AND GP.START_DATE >= (SELECT DISTINCT START_DATE FROM GL_PERIODS WHERE PERIOD_NAME = (:P_PERIOD_FROM))
	AND GP.END_DATE <= (SELECT DISTINCT END_DATE FROM GL_PERIODS WHERE PERIOD_NAME = (:P_PERIOD_TO))
	AND (PSV.VENDOR_TYPE_LOOKUP_CODE IN (:P_SUPPLIER_TYP) OR 'ALL' IN ('ALL'||:P_SUPPLIER_TYP))
	AND (FLV.DESCRIPTION IN (:P_REGION) OR 'ALL' IN ('ALL'||:P_REGION))
	AND (APC.ORG_ID IN (:P_BU) OR 'ALL' IN ('ALL'||:P_BU))
	AND (APC.LEGAL_ENTITY_ID IN (:P_LEGAL_ENTITY) OR 'ALL' IN ('ALL'||:P_LEGAL_ENTITY))	
	
	UNION ALL

SELECT
    APC.CHECKRUN_NAME PAYMENT_BATCH,
	APC.CREATED_BY CREATED_BY,
	APC.PAYMENT_METHOD_CODE PAYMENT_METHOD,
	FLVSTA.MEANING PAYMENT_STATUS,
	APC.BANK_ACCOUNT_NAME INTERNAL_BANK_ACCOUNT,
	APC.CHECK_DATE PAYMENT_DATE,
	APC.CURRENCY_CODE PAYMENT_CURRENCY,
	APC.AMOUNT PAYMENT_AMOUNT,
	HP.PARTY_NUMBER SUPPLIER_NUMBER,
	NVL(APC.REMIT_TO_SUPPLIER_NAME,HP.PARTY_NAME) TRADING_PARTNER,
	HP.PARTY_NAME SUPPLIER_NAME,	
	HP.PARTY_TYPE SUPPLIER_TYPE,
	HP.PARTY_ID,
	APC.VENDOR_ID,
	NULL SUPPLIER_SITE_ID,
	NULL SUPPLIER_SITE,
	XEP.NAME LEGAL_ENTITY,
	HOU.NAME BUSINESS_UNIT,
	--PAY_TBL.ACCOUNTING_DATE CREATION_DATE,
	PAY_TBL.PERIOD_NAME CREATION_PERIOD,
	COUNT(APC.CHECK_NUMBER) OVER (PARTITION BY APC.CHECK_DATE,APC.CHECKRUN_NAME) NO_OF_PAYMENTS,
	APC.CHECK_NUMBER,
	FLV.DESCRIPTION REGION

FROM 
	AP_CHECKS_ALL APC,
	HZ_PARTIES 	  HP,
	XLE_ENTITY_PROFILES XEP,
	HR_OPERATING_UNITS HOU,
	FND_LOOKUP_VALUES_VL FLV,
	GL_PERIODS GP,
	GL_LEDGERS GL,
	FND_LOOKUP_VALUES FLVSTA,	
	(
	SELECT 
	DISTINCT
	AIPA.CHECK_ID,
	AIPA.SET_OF_BOOKS_ID,
	AIPA.PERIOD_NAME
	--AIPA.ACCOUNTING_DATE
	FROM
	AP_INVOICES_ALL AIA,
	AP_INVOICE_PAYMENTS_ALL AIPA
	WHERE 1=1
	AND AIA.INVOICE_ID=AIPA.INVOICE_ID
	AND UPPER(AIA.INVOICE_TYPE_LOOKUP_CODE) IN ('PAYMENT REQUEST','REFUND')
	) PAY_TBL
WHERE 
	1=1
	
	AND APC.party_id = HP.party_id(+)
	AND XEP.LEGAL_ENTITY_ID = APC.LEGAL_ENTITY_ID
	AND APC.ORG_ID = HOU.ORGANIZATION_ID
	AND PAY_TBL.CHECK_ID = APC.CHECK_ID
	AND FLV.LOOKUP_CODE = HOU.NAME
	AND FLV.LOOKUP_TYPE = 'BU_REGION_REPORTING'
	AND PAY_TBL.SET_OF_BOOKS_ID = GL.LEDGER_ID
	AND GL.PERIOD_SET_NAME = GP.PERIOD_SET_NAME
	AND PAY_TBL.PERIOD_NAME = GP.PERIOD_NAME
	AND FLVSTA.LOOKUP_CODE(+)=APC.STATUS_LOOKUP_CODE
	AND FLVSTA.LOOKUP_TYPE(+)='CHECK STATE'
	AND FLVSTA.LANGUAGE(+) = USERENV('LANG') 
	--PARAMETERS
	AND GP.START_DATE >= (SELECT DISTINCT START_DATE FROM GL_PERIODS WHERE PERIOD_NAME = (:P_PERIOD_FROM))
	AND GP.END_DATE <= (SELECT DISTINCT END_DATE FROM GL_PERIODS WHERE PERIOD_NAME = (:P_PERIOD_TO))
	AND (HP.PARTY_TYPE IN (:P_SUPPLIER_TYP) OR 'ALL' IN ('ALL'||:P_SUPPLIER_TYP))
	AND (FLV.DESCRIPTION IN (:P_REGION) OR 'ALL' IN ('ALL'||:P_REGION))
	AND (APC.ORG_ID IN (:P_BU) OR 'ALL' IN ('ALL'||:P_BU))
	AND (APC.LEGAL_ENTITY_ID IN (:P_LEGAL_ENTITY) OR 'ALL' IN ('ALL'||:P_LEGAL_ENTITY))	
)	
ORDER BY
SUPPLIER_NAME,
SUPPLIER_SITE,
CHECK_NUMBER
	--AND UPPER(AIPA.INVOICE_PAYMENT_TYPE) IN ('PAYMENT REQUEST','REFUND')
	--AND APC.CHECK_NUMBER IN ('868','863','2200','2201','2202')
:P_BU :P_LEGAL_ENTITY :P_PERIOD_FROM :P_PERIOD_TO :P_REGION :P_SUPPLIER_TYP

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.

AP_INVOICE_PAYMENTS_ALLdimensionPOZ_SUPPLIERS_VdimensionHR_OPERATING_UNITSdimensionAP_CHECKS_ALLfact · one row per source transactionAmount
●— fact → dimension join
ElementTypeDefinition
AP_INVOICE_PAYMENTS_ALLdimensiondimension
POZ_SUPPLIERS_Vdimensiondimension
HR_OPERATING_UNITSdimensiondimension
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.
Payables 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
AP_CHECKS_ALL446
AP_INVOICE_PAYMENTS_ALL222
POZ_SUPPLIERS_V224
HR_OPERATING_UNITSSetup / 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.