← All articles

Oracle Fusion to Power BI with automated exports and checked refreshes

Move Oracle Fusion data into Power BI using reviewed exports. Configure file parsing and refresh access, reconcile totals and detect stale or incomplete datasets.

An Oracle Fusion to Power BI workflow needs an extraction contract before it needs a dashboard. Define the business population, the reporting date and what each row represents. A refreshed visual can still show incomplete data if the export omitted a page or duplicated invoice amounts.

Choose the Oracle extraction method for the workload. An existing BI Publisher report can produce a controlled business extract. REST suits scoped operational records, while a reviewed SQL export can support investigation. For larger scheduled datasets, evaluate the bulk options in the extraction comparison. Fusion Toolkit produces files; the Power BI connection and refresh configuration are separate steps.

For a small approval-history extract, this CLHAPI SQL adaptation returns one row per history record for a synthetic invoice and business unit. Replace both identifiers. Oracle documents the fields in AP_INV_APRVL_HIST_ALL. The extract contains approval events rather than an outstanding-balance measure.

SELECT h.approval_history_id,
       h.invoice_id,
       h.iteration,
       h.approval_step,
       h.rule_name,
       h.history_type,
       h.approver_id,
       h.response,
       h.action_date
FROM ap_inv_aprvl_hist_all h
WHERE h.invoice_id = 300100000000042
  AND h.org_id = 300100000000001
ORDER BY h.iteration, h.action_date, h.approval_history_id;

Save this example as finance-export.sql for the command below. The stable key is APPROVAL_HISTORY_ID. Record the extraction time in the export job separately from each event's action date.

For a reviewed SQL file, run fusion-toolkit --profile reporting-test sql-query -q finance-export.sql -o output/finance-export.csv. Create the directory first and check the resulting delimiter. The filename extension does not determine the file's actual structure. Keep column names stable and include a durable row identifier and extraction timestamp in the reporting design.

In Power BI Desktop, use the Text/CSV connection and inspect the preview before loading it. Set the actual delimiter and review numeric and date types. Supplier numbers and reference values may need text types to preserve leading zeroes. Microsoft's Text/CSV documentation explains parsing and schema considerations.

Decide where the production file will live. A local path on a developer's laptop is not automatically accessible to the Power BI service. Configure the appropriate gateway and its service account for an on-premises file source, or use the supported connection for your managed online location. Test access under the identity that will perform the refresh.

Distinguish semantic-model refresh from OneDrive or SharePoint file synchronization. Microsoft documents specific behavior for a semantic model created from a CSV file. A synchronized file does not make every Desktop connection refresh in the same way. Select the supported connection method and measure when new rows actually reach the published report.

Publish a complete export before triggering its consumer. Write to a temporary file, validate its row count and replace the published file only after success. Keep the last successful version when extraction fails. This prevents a downstream refresh from importing a partially written file.

Reconcile amounts by currency and reporting scope. Track export completion separately from Power BI refresh completion, and display a meaningful data timestamp. Test schema changes before adding new columns to a live model. This guidance was reviewed on 8 November 2026.

You can also use an LLM with the Fusion Toolkit AI Administrator skill and ask, "Which invoices make up this supplier's outstanding balance?" It can retrieve supported Oracle data in plain language without requiring you to write the query. Use the verified result to investigate the dashboard and configure Power BI refresh through its own supported controls.