Data sources flowing into a live sales dashboard

Fusion Flow

Fusion Dashboard System

Fusion Flow

Fusion Dashboard System
U
Username Role
Dashboards
Ctrl K

Loading Dashboard...

Dashboard overview

Schedule sends automatic updates. Present opens a clean dashboard for sharing.

Data may be out of date — these sources haven't synced in over 24 hours:
Filters:

Filters update the data shown; save a view to return to this selection.

No widgets on this dashboard

Add KPI cards or chart panels to start visualizing your data.

You have no dashboards yet

Dashboards you can view will appear here once an administrator assigns them to you.

Settings

Settings

Configuration
Data Sources
Modelling
System

Oracle Fusion BIP SOAP Sync

Trigger or schedule batch exports of data reports from Oracle BI Publisher.

Report Name Target Table Status Last Synced Records Schedule Action

Sync Trace Log

View the latest sync log output and execution details.

Loading trace logs...

Dynamic Excel Data Import

Upload Excel sheets to dynamically generate tables. The first row will be automatically parsed to create SQL column headers.

Drag and drop your Excel file here, or browse files

Supports .xlsx and .xls formats

filename.xlsx

0 KB

usr_

Table will be prefixed with usr_ to distinguish it from default tables.

Status Title

Status details

Custom Tables Manager

Manage dynamically imported user tables currently stored in the database.

Table Name Records Action
No user tables found.

Create SQL View

Saves a SELECT statement as a reusable view you can query from widgets and data models.

usr_v_

Read-only SELECT or WITH only. Saving the same name again replaces the view.

System Audit

Sync health, slow queries, and usage -- read-only observability widgets, editable like any other widget.

Operator status

PDF availability shows what the web application process could import, not a proven render. Without WeasyPrint, ReportLab is used.

Delivery counts are current unresolved outcomes for runs started in the last 24 hours (application timezone clock), not historical events; a successful retry lowers them.

To add optional features, follow the guide shipped with the application at deploy/OPTIONAL_FEATURES.md in the installation folder on the server.

System Audit dashboard not found.

Data Models

Register joined datasets with dimensions and measures that widget authors can build from without writing SQL.

No data models yet

Create a data model to register tables, joins, dimensions, and measures that widget authors can pick from visually.

Could not load data models.

Name Status Fact Tables Relationships Fields Action
Draft Unsaved changes
    Data model published. Widget authors can now build from it.

    Source Tables

    Actual
    Dimensions
    Targets
    Relationships

      Select a table, relationship, or field to edit its properties.

      Sample Rows

      Materialized Queries

      Run a saved SQL query on a schedule and materialize its result into a table, so slow multi-table queries can back a dashboard widget as a cheap SELECT. Build widgets against the target table as Custom SQL.

      Name Target Table Frequency Status Actions

      Sources

      Import the budget with Settings → Import Excel (columns period_name, account, seg_…, amount), then choose the table here.

      Fiscal periods

      16 periods per year: 12 months plus an adjustment period after each quarter. Names must match the trial balance's period_name exactly.

        Column sets

        A stored set replaces the built-in set with the same code; deleting it brings the built-in back. A formula may only use columns to its left.

          Data Sources

          Register a database or API once and reuse it across reports and data models. Sources sync into local tables on a schedule; a SQL source can additionally be allowed to answer dashboard queries live, with results cached.

          Name Type Target Mode Status Actions

          Database Connections

          Select and configure the local or remote target database engine.

          Oracle Fusion Integration

          The BI Publisher web-service address. Your Oracle admin can provide this.

          Allow authors to create and update visual widgets and manage Data Models. Saved visual widgets continue to run when disabled.

          Connection Status

          Status message details

          Branding

          The name shown across the app -- the login screen, the browser tab, the top bar, and exported reports. The Arabic name is shown while the interface is in Arabic; blank falls back to the English one.

          Icon / favicon

          Upload an SVG to replace the browser tab icon. It's used as-is, at any size, so keep it simple.

          PowerPoint template

          Used for PowerPoint group exports: the first slide is the cover (the export name and date are added to it), the last slide closes the deck, and the middle slide's design is used for every dashboard. Pictures are compressed on upload.

          Time zone

          Every time in the application is shown in this zone, and sync start times, delivery schedules and date variables like p_today run on its clock.

          Changing it moves existing schedules: a sync set to run at 02:00 runs at 02:00 in the new zone.

          Set by FUSIONFLOW_TIMEZONE on the server; change it there.

          Currency

          Currencies an author can choose from in the widget editor. The Arabic symbol is shown while the interface is in Arabic; blank falls back to the English one.

          Used by every widget that has not picked one of its own.

          Code English symbol Arabic symbol Example Actions

          Email (SMTP)

          Outgoing mail server used for scheduled dashboard deliveries.

          Port 465 uses implicit SSL/TLS. Other ports use plain SMTP with the STARTTLS option below.

          Health alerts

          Email every admin when a sync fails, a report goes stale, queries slow down, or a scheduled delivery fails. Alerts resolve on their own once the condition clears.

          Alerts are always recorded and shown on the System Audit dashboard; this only controls email.

          New alerts raised inside this window ride along in the next email rather than sending their own.

          One slow query is noise. Alert on the rate, not the one-off.

          Send a test email

          Sends to your delivery email using the saved settings - save any changes first.

          Multi-Engine Database Migration

          Migrate database schema and transfer all records between SQLite, MySQL, or PostgreSQL engines cleanly.

          Source Connection Details

          Target Connection Details

          Migration Console Logs

          Tails real-time schema replication and table insertion counts.

          Console ready. Awaiting connection test or migration trigger...

          BIP Reports

          Manage reports synced from Oracle Fusion and their target tables.

          Name Path Target Table Actions

          Saved SQL Statements

          Create and save reusable SQL statements to construct custom charts or KPI cards.

          Name Description SQL Preview Actions

          Global Variables

          Values that follow the clock, usable in widget SQL as :p_name and in titles as {p_name}. Built-in variables always exist; the ones you add here override or extend them.

          Available in an expression: today, now, the parts .year .month .day .quarter (and .hour .minute .second on now), the operators + - * // %, and the functions fmt, add_days, add_months.

          Name Expression Current Value Description Actions

          System User Accounts

          Manage logins, select roles, and allocate dashboard assignments.

          Username Role Created At Action

          Dashboard Groups

          Groups appear as buttons next to the logo and scope the Dashboards tree to just that group.

          Name Name (Arabic) Color Actions

          Licences

          Manage customer licences on this vendor server.

          No licences yet.

          Key Customer Seats Status Expiry Conflicts Actions

          Release this licence?

          Release frees every seat and clears replay receipts; it does NOT un-revoke. Stop unwanted copies first.

          Create licence

          Leave empty for no contractual expiry (online only).

          Offline response

          Paste a customer's challenge JSON and mint a signed offline response.

          Reissuance is a vendor action: each response carries fresh contract-capped deadlines.

          Financial Structure

          Download template

          Unsaved changes

          Validation

            Unmapped accounts

            History

              Preview

              Exceptions

              KPI alert breaches across your dashboards. Acknowledge an alert once you've seen it -- it clears automatically once the value recovers.

              Create New Dashboard

              Optional. Shown when the interface language is Arabic; falls back to the English value when left blank.

              Optional. Shown when the interface language is Arabic; falls back to the English value when left blank.

              Groups shown as pill buttons next to the logo. Manage them in Settings > Configuration > Dashboard Groups.

              Groups this dashboard under a collapsible parent in the dashboard picker. Leave blank to keep it top-level.

              Edit Dashboard

              Optional. Shown when the interface language is Arabic; falls back to the English value when left blank.

              Optional. Shown when the interface language is Arabic; falls back to the English value when left blank.

              Groups shown as pill buttons next to the logo. Manage them in Settings > Configuration > Dashboard Groups.

              Groups this dashboard under a collapsible parent in the dashboard picker. Leave blank to keep it top-level.

              Add Widget

              Shown under the widget title and in exported reports.

              Track a number
              KPI Card
              KPI Spotlight
              Trend & share
              Line
              Bar
              Doughnut
              Pie
              H-Bar
              Funnel
              Threshold Bar
              List the details
              Table
              Financial statements
              Statement
              Smart Grid
              Stacked Bar
              Grouped Bar
              Multi-Line
              Stacked Area
              Radar
              Bar + Line Combo
              3D charts
              3D Bar 3D
              3D Scatter 3D
              3D Pie 3D
              3D Surface 3D
              3D Grouped Bar 3D
              3D Ribbon 3D
              3D Heatmap 3D

              Currencies are managed in Settings → Currency. The symbol shown follows the interface language.

              Shows a delta chip on the KPI card: the value compared to this baseline as a percentage. "Lower is better" flips the chip colors for metrics where a decrease is the good outcome.

              What each pie or doughnut slice shows on the chart itself. A label that will not fit its slice is hidden automatically rather than overlapping its neighbour.

              Hides only the label text on that axis -- the numbers on the value axis, the category names on the other. Gridlines stay, so the chart still reads as a scale. Useful for small widgets where the labels crowd out the data. On a radar chart these control the ring numbers and the point names.

              For supported built-in sources, use the chart's displayed dimension and create a dashboard parameter with exactly the same name. For custom SQL, use its parameter name. Clicking a data point applies it and refreshes every widget. Leave blank to disable.

              If set, clicking a data point navigates to this dashboard instead, applying the same parameter there. Requires a drill parameter (above, or a column's drill parameter for tables).

              On by default. The totals row sums every numeric column on the current page, which is what you want for money and counts -- untick it for a table whose numbers are not meant to be added up, such as durations, scores, or ratios. Identifier columns are never totalled.

              Column Label (EN) Label (AR) Format Hidden Bar Arrow Order

              Write a SQL query above -- columns will appear here automatically as you type.

              Columns are matched by NAME, so this stays correct even if your SQL's column order changes later. Format: "number" for comma-separated numbers (use when a numeric column isn't showing commas or isn't included in the Total row -- happens when its values come back as text), "currency", "percent", "date" (genuine numbers already get commas automatically, no format needed). The Total row sums every column that's numeric or has format set to number/currency/percent. A column no longer in your query is kept and flagged rather than deleted -- remove it manually once you're sure.

              Summarise a widget that is already on this dashboard instead of writing a second query. Its query runs once for the whole page, with the dashboard filters already applied.

              Only widgets on this dashboard that have their own query can be a source.

              Compare with (optional)

              Each extra column is aggregated the same way and drawn as its own series — actual, target and remaining side by side. Cannot be combined with "Series by".

              Leave empty for a single KPI number. Choose a column to get one bar/slice per distinct value.

              Adds a second breakdown, one series per distinct value. Needed by the grouped, stacked and radar chart types.

              Built from the trial balance and the Financial Structure mapping. Period, scale and segments come from the dashboard filters (fin_year, fin_quarter, fin_month, fin_scale, seg_…).

              REPORT.LINE terms joined by + - /, e.g. PL.NET or PL.GP / PL.SALES. Set Value Format to percent for ratios.

              Publish a Data Model before creating a visual query.

              Data Source
              Dimensions & Time
              Measures
              Table Columns
              Filters

              No filters yet.

              Sort & Limit

              Click a parameter to insert its :name into the query.

              Add BIP Report

              Comma-separated list of source column names to sync. Use the Oracle / source column names here. Leave empty to sync all matching columns.

              Comma-separated source column names that uniquely identify a row. Only these decide whether an incoming row is the same row, so a change to any other column updates that row in place instead of inserting a duplicate. Leave empty to keep the old behaviour (guessed natural key, or a hash of the whole row when Row Hash is on).

              Column Mappings Optional

              Map cryptic Oracle names (e.g. ATTRIBUTE1) to clean local DB column names (e.g. customer_name). Unmapped columns keep their original name.

              Set Type to Date or Date & Time to enable a strict format for that column during sync. Leave as Text for legacy behavior.

              Source Column (Oracle / BIP) Local Column (DB) Type Date Format
              No mappings configured — all source columns will be stored as-is.

              Use :PARAM_NAME for bind parameters that will be passed as BIP report parameters -- enter their values below.

              Key/value pairs sent as BIP report parameters -- for SQL Query mode, keys must match the :PARAM_NAME bind names used above. Example: {"FROM_DATE": "06-01-2026", "TO_DATE": "06-22-2026"}

              Use {{TODAY}} for today's date, or {{TODAY-1}} / {{TODAY+7}} for an offset -- resolved fresh at every sync run, so scheduled syncs always get the current date instead of a frozen value. Example: {"FROM_DATE": "{{TODAY-21}}", "TO_DATE": "{{TODAY}}"}

              A source registered in Settings > Data Sources -- the only way to sync a REST API. Leave it at None to use the connection fields below.

              Splits the sync into date-range chunks and runs the query once per chunk, passing start/end dates as parameters.

              Asynchronous mode submits a scheduled Oracle BI Publisher job and polls for completion instead of waiting on the request -- avoids gateway timeouts on large/slow reports. Only available for Oracle BI Publisher sources, and cannot be combined with loop (chunked) sync.

              This report has an async job in flight.

              When checked, the loop always ends on today's date at sync time -- the date field above is ignored and disabled.

              Months snap every chunk after the first to calendar month boundaries. Use months when the report aggregates internally -- rows only merge when they land in the same execution.

              Chunks within the lookback window will be re-synced even if previously completed.

              Every row is tagged with the chunk that loaded it. Each time a chunk runs it deletes its own previous rows and re-inserts what the source returned, so duplicates and rows deleted at the source both disappear -- Key Columns and Row Hash are ignored. Run Refresh once after turning this on, and again if you change the chunk size or start date.


              Sync Schedule
              Leave blank to start immediately
              Global interval: — Change in Settings

              Add Saved Query

              Use label and value column aliases for chart widgets. Add group_label for grouped/stacked charts.

              Dashboard Filter Parameters

              Active Filters SQL: use :param_name
              Add Parameter
              Left of | is the display label  ·  right is the value passed to your SQL query.
              Runs against your connected database. Column 1 = what the user sees  ·  Column 2 = value injected into widget queries.
              Renders the filter as a multi-select. Your widget SQL must use IN (:name) for this parameter.
              "Show everything" expands to every option, which runs one extra query for SQL-driven option lists.

              User Preferences

              General

              Dashboards

              Account

              Appearance

              Theme, typography, and a live preview of both.

              Sales Overview Preview
              Revenue 2.41M +8.2%
              Orders 1,847 -1.4%

              Sample figures, shown for preview only.

              Theme Click any card to apply instantly.

              Idrak Brand
              Nord Arctic
              Dracula
              Daylight
              Ocean
              Ocean Dark

              Typography Select a highly-readable typeface optimal for tabular data and analytics display.

              Language

              Choose the application language and layout direction.

              Arabic switches the whole application to a right-to-left layout, including this panel.

              Chart Display

              Control font sizes and bar width across all chart widgets. Changes apply instantly.

              Widget Display

              Set the text size inside widget cards, and size a table's header, rows and total row independently. Changes apply instantly.

              Scales widget titles, KPI values and spotlight rows. Table text is set separately below.

              Column names, and the grouping band above them one step smaller.

              The pinned totals band at the bottom of a table widget.

              Change Password

              Update the password for your account, your account.

              Minimum 8 characters, with at least one uppercase letter, one lowercase letter, and one digit or special character.

              Delivery Email

              Scheduled reports use this address.

              Create User Account

              Add a new user login and configure their access permissions.

              Leave empty to keep current password. Generated and copied to your clipboard - it is shown in plain text so you can hand it over. Saving signs the user out of any active session.

              Select the dashboards this user is allowed to view.

              Build a dashboard with widgets

              Widgets are the building blocks — KPI cards, line charts, bar charts, tables, and 3D visualizations. Each widget runs a query against your data and renders the result.

              Click Add Widget in the top right, pick a type, choose a query source, and you have your first chart in under a minute.

              Filter dashboards with parameters

              Parameters let viewers slice the data without writing SQL. Add a date range, a region selector, or a custom SQL-driven dropdown — viewers pick a value and every widget on the dashboard re-queries.

              Open Filters in the top right to add parameters to this dashboard.

              Watch data stay fresh with Sync

              The Sync tab keeps your data current. Configure reports to pull from Oracle BI Publisher or an external database on a schedule, watch the live status, and inspect the trace log when something fails.

              You'll find sync logs and the Trace Log panel directly under the reports list.

              Your dashboard at a glance

              Dashboards assigned to you appear in the sidebar. Use the filter bar to narrow the data — every widget updates together.

              If data looks old, the banner above the widgets names the sources that haven't synced.

              Add Field

              Letters, digits, and underscores only. Cannot be changed later.

              Choose the physical column this field reads from.

              Combine other measure fields on this table with + - * /. Division by zero returns an empty value instead of an error.

              New Data Model

              Registered SQL sources with live queries enabled can back a model directly. This cannot be changed once tables are added.

              Add Table

              Letters, digits, and underscores only.

              Add Relationship

              Every pair below is ANDed onto the join above -- use this when two tables are only unambiguously related by matching more than one column at once.

              No additional column pairs.

              Export Dashboard

              Choose your preferred format to export the current dashboard view with active filters applied.

              Compiling report and formatting data...

              Scheduled Email & Delivery Manager

              Active Schedules

              Name Cron Status Actions

              Execution Run Logs

              Run ID Status Timestamp

              Create New Schedule

              e.g. 0 9 * * 1 (Weekly Mon 9am)
              Hold Ctrl to select multiple registered recipients.
              Sent as the Authorization header value; stored encrypted. Keep the mask to leave it unchanged.
              e.g. {"region": "North"}

                Export group to PDF —

                Tick the dashboards to include; each one uses its own filters. Charts are rendered as tables in background exports.

                Format
                Schedule instead of running now

                My exports

                  KPI Alerts

                  Add Materialized Query

                  Read-only SQL only. You can use global variables such as :p_year, :p_month and :p_year_minus_1 -- dashboard filter parameters are not available here since a refresh runs on its own schedule, with no dashboard context.

                  Must start with "usr_". Build widgets against this table with a Custom SQL query, e.g. SELECT * FROM usr_monthly_sales_by_region. Cannot be changed after creation.

                  Hold Ctrl/Cmd to select multiple. A successful sync of any selected report queues one refresh of this query on the next scheduler tick.

                  Run History

                  Status Trigger Started Duration Rows

                  Add Data Source

                  Use a read-only account in the source system. FusionFlow only ever issues SELECT statements, but the source's own permissions are the real boundary.

                  Data models bound to this source will query it when a dashboard renders, caching each result for the TTL below. Leave off to use it only for scheduled syncs.

                  Advanced

                  Source schema

                  Confirm

                  Licence activation

                  Checking licence status…

                  Online activation

                  Offline activation

                  A challenge is pending.