Skip to main content

Dashboard

The Dashboard is the NomaUBL home page. It opens by default after sign-in and surfaces the operational state of the platform on a 12-column widget grid — four hero KPI cards at the top, then a sequence of paired widgets that cover ingestion volume, dispatcher pipeline, recent + stale invoices, top failing validation rules, per-company breakdown, e-reporting coverage and PA round-trip times.

The page applies regardless of source system — JD Edwards, SAP, NetSuite or a custom ERP. Every number is read from the local NomaUBL database, so the dashboard reflects what NomaUBL has processed and persisted, not directly what the source system or the Plateforme Agréée holds.

Rebalanced in 2026.05.6

The bottom row went from 6 + 6 over two rows to a single 4 + 4 + 4 row — Per-company, E-Reporting coverage and PA round-trip share one balanced row instead of leaving a half-empty cell. The Scheduler-health widget moved to the new Tech Dashboard where it sits next to the JVM, database and filesystem widgets the IT team relies on. The grid also switched to align-items: stretch so panels in the same row align bottoms.

Refreshed in 2026.05.4

The dashboard was rebuilt as a 12-column widget grid in 2026.05.4. The previous stacked layout of status counter cards was replaced by four hero KPIs (Total / In flight / Rejected — IT / Rejected — Business) plus eight paired widgets. Click-throughs from the hero cards now use a multi-status filter, so In flight lands on the actual in-flight invoices instead of dropping the status filter.


At a glance

Dashboard📅 Yesterday ▾TOTAL INVOICES1 247IN FLIGHT184REJECTED — IT12REJECTED — BUSINESS5Pipeline funnelVALIDATED1 102SENT TO PA1 080PENDING184DEPOSITED896REJECTED17Daily volume — 30 daysRecent activity12345 RI 00070 · Deposited2 min12300 RI 00001 · Sent to PA14:3212299 RI 00001 · PendingYesterday12298 RI 00001 · ValidatedYesterdayStale invoices > 7 d9unchanged status > 7 days12099 RI 00070 · Pending · 11 d12087 RI 00001 · Validated · 9 dTop failing rulesALL · UBL · INTEGBR-CL-2352CurrencyCode must use ISO 4217BR-FR-1238Per company00070 · 132 ok / 22 pend / 6 err00001 · 86 ok / 14 pend / 4 errE-Reporting coverage98 %B2C this monthFlux 10.1 · 28 / 28 depositedFlux 10.3 · 4 / 4 depositedalways current monthPA round-tripSend → Deposit · avg 3.2 hSend → Reject · avg 1.4 hover the date-range filterHero KPI cardsclick → filtered invoice listPipeline funnelclick a stage → multi-status filter30-day volumedaily ingestion sparklineStale invoicesstuck > 7 daysTop failing rulesALL / UBL / INTEG togglePer-company stackOK / pending / errorThree short widgets · 4+4+4stretched to align bottomsE-Reporting coverage% B2C / B2BINT declaredPA round-tripavg send → deposit / reject

The grid collapses to a single column below ~900 px. Hero cards keep their 220 px minimum on every screen, so the four KPIs always sit on the same horizontal band.


The date-range filter

A single filter sits at the very top of the page. It restricts every widget that depends on a time window — hero KPI counts, pipeline funnel, recent activity, top failing rules, per-company breakdown.

PresetWindow
TodayToday only.
Yesterday (default)The previous full day.
Last 7 daysThe last seven full days, ending yesterday.
This monthThe current month from day 1 to today.
Last monthThe previous full month.
Custom rangePick the From and To dates manually.

A small set of widgets ignore the date filter on purpose — Stale invoices (always counts the last 90 days) and E-Reporting coverage (always the current month). Each carries its own time-window indicator so the difference is obvious.


Hero KPI cards

Four cards summarise the operational state of the platform at a glance. Each card carries a label, the count, a 7-day sparkline of daily volume, a one-line caption explaining the underlying status set, and — on full-licence installations — a click-through to the E-Invoicing page with the right filter pre-applied.

CardCountsStatuses behind itClick-through
Total invoicesAll invoices in the date rangeevery statusE-Invoicing with date range only
In flightDispatcher pipeline + PA in-transit9900 9901 9902 9903 9906 (internal in-progress) and 201 202 203 204 214 224227 (PA in-transit)E-Invoicing with status=9900,9901,9902,9903,9906,201,202,…
Rejected — ITTech failures owned by the IT / dev team9904 9905 9907 (internal failures) and 213 (PA technical rejection)E-Invoicing with status=9904,9905,9907,213
Rejected — BusinessFailures owned by customer-services206 207 208 210 221 501 600 (commercial disputes, refusals, suspensions, routing, recovery, e-mail-delivery)E-Invoicing with the matching multi-status filter

The In flight / Rejected — IT / Rejected — Business cards used to drop the status filter entirely on click — /api/invoices?status= was a single-value parameter, so a list of codes was rejected and the page fell back to the full list. The hero cards now pass a comma list (/api/invoices?status=A,B,C) which the backend parses into a multi-status IN (…) clause, so the click lands on the actual subset.

A red border + red value on Rejected — IT signals a non-zero count; same orange treatment on Rejected — Business.


The widget grid

Below the hero row, a 12-column grid hosts eight widgets paired to balance content density.

Pipeline funnel (12 cols)

Five horizontal stages — Validated / Sent to PA / Pending / Deposited / Rejected — with the count under each label. Clicking a stage opens E-Invoicing pre-filtered on the matching status set. The funnel reads left to right: anything sitting on Pending for too long flows into the Stale invoices widget below; anything on Rejected needs the Integration Errors page.

Daily volume (12 cols)

A 30-day area chart of daily ingestion volume — the same series feeding the hero card sparklines, rendered full-width so a single weekday slump is visible at a glance.

Recent activity (6 cols) + Stale + Top failing rules (6 cols)

This row used to be 8/4, which made the right column visibly thinner than the left. It was rebalanced to 6/6 in 2026.05.4 so all subsequent rows align on the same column boundary.

WidgetWhat it shows
Recent activityThe last few invoices touched in the date range, with their canonical triplet (doc · dct · kco), status label and relative timestamp. Clicking a row opens the E-Invoicing list filtered on that status.
Stale invoicesUp to 50 rows where the status has not changed in the last 7 days. Each row carries the triplet, the current status and the days-since-last-update count.
Top failing rulesTop 10 validation rules by failure count over the date range. Each row shows a rank badge, the rule code, the rule's description as a secondary line, and the count. A header toggle scopes the list to ALL / UBL (Schematron / XSD) / INTEG (lifecycle / runtime errors). The View all link opens the Integration Errors page on its by-rule tab; clicking a specific rule lands on the by-event tab with that rule chip pre-applied.

The proportional bars of the previous version made counts of 160 and 10 almost indistinguishable. The new ranked rows give every rule the same visual weight, with the count on the right.

Per company (4 cols) + E-Reporting coverage (4 cols) + PA round-trip (4 cols)

The three short widgets share a single balanced row in 2026.05.6 — the previous 6 + 6 over two rows left a half-empty cell once Scheduler-health moved to the Tech Dashboard.

WidgetWhat it shows
Per companyOne stacked horizontal bar per KCO (UHKCO from F564231) split into OK (green) / Pending (blue) / Error (red), labelled with the count and the company code. Useful when a spike is concentrated on a single company.
E-Reporting coverageA percentage and three rows summarising the current month's e-reporting submission state: Flux 10.1 (B2BINT detail) and Flux 10.3 (B2C / OUTOFSCOPE aggregated) — deposited / generated. Clicking the widget opens the E-Reporting page.
PA round-tripAverage duration Send → Deposit and Send → Reject over the date range, computed from the lifecycle table. A spike on one of these reveals a slowdown on the PA side that is otherwise invisible from the daily counts alone.

The grid uses align-items: stretch and each card grows with flex: 1 inside its column span — so all three cards in this row align bottoms even when one carries more content than the others.

Scheduler health moved

The Scheduler-health widget is no longer on this page. It lives on the Tech Dashboard alongside the JVM, database, filesystem and live error tail widgets. The IT team gets a single page sized to operational concerns; the business audience here sees only the metrics they act on.


Quick actions + About

Below the grid, three shortcut buttons remain:

ButtonBehaviour
Create invoiceOpens the new invoice modal directly on the dashboard. After saving, navigation hands off to the E-Invoicing page.
Status referenceNavigates to References → Status Reference — the catalogue of every lifecycle status code.
Reason codesNavigates to References → Reason Codes — the catalogue of every refusal / rejection / irregularity reason code.

The About this release card sits at the very bottom and lists the release number, build date, AFNOR profile version and the bundled Schematron versions per module (EN 16931, BR-FR Flux 2, BR-FR CPRO, EXTENDED-CTC-FR).


Tips & best practices

  • Read the hero row first. The four KPIs answer the question "is anything broken right now?" in one glance — a non-zero red border on Rejected — IT takes priority over anything else on the page.
  • Use the date-range presets. Yesterday fits a morning monitoring routine; This month fits a finance overview; Custom range covers month-end reconciliation or specific incident windows.
  • Match the funnel against the hero counts. In flight should equal the Sent to PA + Pending stages of the funnel. A divergence is usually a status that has not been mapped yet on either side.
  • Top failing rules drives the work. A single rule with hundreds of hits often points to one upstream change (a renamed field, a stale tax code) — fixing the rule typically clears most of the integration errors.
  • The dashboard is the right place to spot trends, not investigate a row. For a single-invoice deep-dive use the E-Invoicing detail modal; for a rule-level analysis use the Integration Errors page.
  • Bookmark the dashboard. It is the natural daily landing page; bookmarks survive session expiry, so the next sign-in lands on the same view.