NxSync ERP Product Design System

The behavior layer
for an AI-native ERP

v1.0 defined how NxSync looks. v1.1 defines how it behaves — the data grids, AI-trust framework, approvals, lifecycle, permissions, and governance that decide whether an ERP is actually usable. In an AI-native ERP, trust is the product; this layer is where it is earned.

00 — About v1.1

What this adds

v1.0 is the visual & interactive component prototype. This companion adds the enterprise behavior the previous version only hinted at — closing the ERP-domain, AI-workflow, admin, accessibility, and handoff gaps so the system is engineering-ready, not just demo-ready.

Layerv1.0v1.1 (this)
Visual & components✓ definedinherits
Financial data gridbasic tableeditable, bulk, views, locks, reconcile
AI trust frameworkagent cardautonomy, suggest/draft/act, confidence, source, diff, rollback
Approvals & lifecyclekanbaninbox, chains, SLA, draft→post→reverse
Admin / permissions / tenancyroles, matrix, tenant, env
Accessibility / i18n / governancepartialdocumented specs
01 — Data

Financial-grade data grid

The single most-used surface in any ERP. It must do far more than sort and hover — it edits, validates, batches, groups, locks, and reconciles, all while staying legible at hundreds of rows.

Closes: editable cells · bulk actions · saved views · grouping/subtotals · locked-period & reconciliation indicators · density · export.
All entriesUnreconciledMy drafts+ Save view
0 selected
EntryAccountStatusReconAmount
June 2026 · Operating account
JE-002841Accounts ReceivablePosted✓ matched12,450.00
JE-002842Bank · OperatingPending— unmatched8,900.00
JE-002843Sales RevenueAI draft✓ matched2,100.00
JE-002799Payroll · MayLocked period✓ matched44,300.00
Subtotal67,750.00
  • Inline edit — click an Amount cell to edit; validates on blur
  • Bulk actions — select rows → contextual action bar
  • Saved views — named filter+column presets per user
  • Grouping & subtotals — collapsible group rows with running totals
  • Locked-period rows — non-editable, lock icon, audit-safe
  • Reconciliation indicators — matched / unmatched per row
  • Density toggle — comfortable ↔ compact for power users
  • Column manager — pin, resize, show/hide; sticky header
  • Virtualized rows — render windowing for 10k+ rows
  • Export & import-correction — CSV/XLSX/PDF + fix-on-import
  • Permission-aware — actions disabled by role
  • Drilldown — row → source document / sub-ledger
02 — Data

Reporting & analytics

Reports are grids with intent — period comparison, variance, drilldown, and auditability. Built on the same grid, with a report toolbar on top.

Closes: date-range & comparison · group-by · variance (actual vs budget) · forecast · drilldown · export/schedule.
Jun 2026vs BudgetGroup: Account
Profit & LossActualBudgetVarianceForecast
Revenue
Product sales412,000390,000+5.6%430,000
Services128,400140,000−8.3%132,000
Gross profit540,400530,000+2.0%562,000

Every figure is a drilldown target — click to expand to the contributing transactions, with a report-note trail for auditors.

03 — AI Trust

Autonomy levels

Trust is earned by giving the human the dial. Every AI capability in NxSync declares one of four autonomy levels — set globally, per module, or per action — and the UI changes accordingly.

Closes: suggest-only / draft / approve-first / auto-run, with a clear, reversible setting.
Nothing happens automatically. The agent surfaces a suggestion you can choose to apply. Best for new teams building trust.
04 — AI Trust

Trust patterns

A complete vocabulary for AI touching records: what it suggests, what it drafts, what it did, how sure it is, where it got the data, and how to undo it.

Closes: suggested-not-applied · review-before-posting · confidence & conflict · source trace · diff preview · executed-action record · rollback.
Suggestion
SUGGESTED · NOT APPLIED
Categorize this $2,100 inflow as Sales Revenue and match it to invoice INV-2840.
High confidence
88%
↳ INV-2840.pdf↳ bank line 4471
AI draft · ready to review
REVIEW BEFORE POSTING
Adjusting entry prepared. Nothing is posted until you approve.
AR balance (before)12,450.00
AR balance (after)10,350.00
Executed action
LOGGED
actorAgent · Reconcile
reasonexact amount + date match
sourcebank feed · GL
when13 Jun 14:22
Needs human review
ESCALATED
2 transactions couldn't be matched with confidence.
Low confidence
34%
Conflict: two invoices match the same amount.
05 — AI Trust

Sensitive actions

Payments, payroll, tax filings, deletions, and role changes get extra friction by design — confirmation, typed intent, and a visible audit promise. The system never lets AI or a stray click move money quietly.

Closes: stepped-up confirmation for high-risk actions.
06 — Workflow

Document lifecycle

Every financial document moves through one canonical state machine. The state is always visible, transitions are permission-gated, and posting is irreversible except via a correcting reversal.

Closes: draft → submit → approve → post → reverse, consistently across all modules.
DraftSubmittedApprovedPostedReversed
StateWho can actReversible?
DraftCreatorFreely editable / deletable
SubmittedCreator (recall) · ApproverRecall to draft
ApprovedApprover · PosterSend back with comment
PostedSystem / ledgerOnly via reversal entry
ReversedTerminal · audit-linked to original
07 — Workflow

Financial-grade forms

ERP forms aren't SaaS forms. They balance, they carry currency and tax, they auto-number, they attach source documents, and they refuse to post when they don't add up.

Closes: line items · debit/credit balancing · currency & FX · tax · auto-number · attachments · validation summary · period-lock.
Journal entry
JE-002844 · auto
Draft USDFX 1.000
AccountDescriptionDebitCredit
Bank · OperatingCustomer payment12,450.00
Accounts ReceivableINV-2840 settled12,450.00
Balanced Dr 12,450.00 = Cr 12,450.00

Post is disabled until debits equal credits and the period is open. A period-lock warning replaces the action bar when the target period is closed.

08 — Workflow

Approvals

An inbox, a visible chain, amount-based limits, SLAs, delegation, and the AI-confirmed-by-human pattern that lets agents do the work while a person stays accountable.

Closes: inbox · multi-level chains · SLA/due · delegation/reassign · request-changes · amount limits · "AI-suggested, human-confirmed".
Approval inbox
PO-1182 · Acme Corp
Devon · within your $50k limit
$18,400
Payroll · June run
AI prepared needs your sign-off
$44,300
Expense · T. Okafor
⚠ due in 2h
$1,240
Approval chain · PO-1182
Devon Ruiz · requested
13 Jun 09:14
Agent · policy check passed
within budget · vendor approved
2
Maya Chen · your approval
amount under $50k limit
3
Finance · post to ledger
auto on approval
09 — Workflow

Import & reconciliation

Getting data in and matching it is where ERPs are won or lost. A guided import that maps, validates, and lets you fix errors before anything commits — and a reconciliation surface that pairs bank lines to ledger entries with AI-assisted matching.

Closes: import wizard (upload → map → validate → fix → commit) · bank reconciliation matching.
Import wizard
UploadMap columnsValidateCommit
Your columnMaps toStatus
txn_dateDatematched
memoDescriptionmatched
amtAmount2 rows need a fix
Bank reconciliation
BANK FEED
ACME PAYMENT · Jun 12 12,450.00
CARD FEE · Jun 12 −42.00
LEDGER · AI MATCH
JE-002841 · INV-2840 ✓ 98%
unmatched review
10 — Workflow

Audit log

Every change — human or AI — is recorded with actor, action, before/after, source, and time. The audit browser is filterable and every row expands to the full diff. This is the spine of trust.

Closes: audit browser · before/after detail · actor (human vs agent) · source trace.
WhenActorActionRecordSource
14:22:08agentMatched transactionJE-002841bank feed
14:02:55M. ChenApproved invoiceINV-2840approval
09:14:31D. RuizCreated POPO-1182manual
11 — Platform

Admin, roles & tenancy

The governance UI an ERP SaaS can't ship without: who you are, which entity and environment you're in, and exactly what each role may do.

Closes: tenant/entity switcher · environment labels · permission matrix · roles · invites · API keys · integrations.
ACAcme Corp · India entity PRODUCTION SANDBOX
Permission matrix
CapabilityViewerClerkApproverAdmin
View ledgers
Create entries
Approve & post
Release paymentsup to limit
Manage roles & keys
Set agent autonomy

Permissions are the same vocabulary the data grid, forms, and agents read from — an action a role can't perform is disabled everywhere, not just hidden in one screen.

12 — Platform

Module blueprints

Canonical screen anatomy for each ERP module, so every team builds the same shapes. Each module reuses the grid, forms, lifecycle, approvals, and AI patterns above — only the domain changes.

Closes: per-module page blueprints (Finance, Sales, Purchase, Inventory, HR, Reports…).

💰 Finance

Chart of accounts · journal entry · ledger · bank reconciliation · period close.

🧾 Sales

Quote → order → invoice → payment status, with customer master-detail.

📦 Purchase

Request → PO → GRN → 3-way bill matching → vendor.

🏭 Inventory

Items · stock movement · warehouse · reorder · batch/serial.

👥 HR

Employee · attendance · payroll run · approvals.

📊 Reports

P&L · balance sheet · cash flow · ageing · valuation.
13 — Platform

Layout & responsive

ERP is desktop-first but approvers live on phones. One app shell, a master-detail pattern, a sticky action bar, and defined mobile behavior.

Closes: app shell · master-detail / split-pane · sticky actions · dense/comfortable · mobile (collapsed nav, bottom sheet, mobile Command Bar).
nav
content
detail
BreakpointShell behavior
Desktop ≥1200Full sidebar + content + optional right detail pane (master-detail)
Tablet 768–1199Collapsed icon sidebar; detail becomes an overlay drawer
Mobile <768Bottom nav; lists → cards; actions in a sticky bottom sheet; Command Bar full-screen
14 — Quality

Accessibility spec

Documented, testable behavior for every custom control — because ERP users spend whole days in dense screens, and enterprise procurement audits for it.

Closes: ARIA roles · keyboard maps · focus trap · live-region announcements · contrast · non-color indicators.
ComponentRoleKeyboardAnnounce
Data gridgrid / row / gridcellArrows move cell · Enter edits · Space selects · Esc cancelsrow x of n, edit committed
Comboboxcombobox + listbox↑↓ options · Enter select · Esc closen results, option selected
Modal / drawerdialog (modal)Focus trapped · Esc closes · returns focustitle on open
Tabstablist / tab / tabpanel← → switch · Home/Endselected tab
Agent activitystatus / logfocusable stepslive: "matched 142 of 148"
Toaststatus (polite)dismissiblemessage read once

Rules everywhere: WCAG 2.2 AA contrast in both themes · visible Iris focus ring (never removed) · status never conveyed by color alone (badge always carries a label/icon) · reduced-motion respected · tabular numerals so columns align for low-vision users.

15 — Quality

Internationalization

NxSync's markets are multi-currency and multi-script. Formatting, RTL, and translation expansion are system rules, not per-screen fixes.

Closes: currency/number/date by locale · timezones · RTL (Arabic) · long-text · local tax terms · multi-entity.
LocaleCurrencyNumberDate
en-IN₹ 12,45,000.00lakh grouping13 Jun 2026
en-US$ 1,245,000.001,234.56Jun 13, 2026
ar-AEد.إ 1,245,000.00RTL layout١٣ يونيو ٢٠٢٦
fr-MA1 245 000,00 MADspace + comma13 juin 2026

Rules: never concatenate translated strings · reserve +35% width for expansion · mirror layout & icons for RTL · money is locale-formatted for display but stored in minor units · tax labels (GST/VAT/TVA) come from the entity, not the UI.

16 — Quality

Tokens & developer handoff

The bridge to code: semantic tokens (not raw hex), a state matrix every component must satisfy, and a props contract so design and engineering stay in sync.

Closes: token documentation · state matrix · props/API spec · design↔code mapping.
Semantic tokens (excerpt)
TokenPurposeDarkLight
color.actionPrimary actions, focus#6A5CFF#5A4FE8
color.liveAI / synced state#2EE6C5#13B89C
color.surface.1Cards, panels#11131F#FFFFFF
color.financial.posCredit / gain#33C088#1FA774
radius.m · space.4Cards · grid gutter12px · 16px12px · 16px
State matrix — every component must define
defaulthoverfocusactivedisabledloadingerroremptypermission-denied
Props contract (example · <DataGrid>)
PropTypeNotes
columnsColumn[]id, header, type, editable, pinned, align
rowsRow[]supports group & tree
selection"none"|"single"|"multi"drives bulk bar
onEdit / onBulk(payload)=>voidvalidated before commit
canEdit(row,col)=>booleanpermission + period-lock aware
17 — Quality

Governance

A system stays whole only if it's maintained. Maturity levels, a change process, and the test gates every component clears before it ships.

Closes: maturity levels · review/contribution · versioning · testing · ownership.
● stable● beta● draft / deprecated
ComponentMaturityOwner
Buttons, inputs, badges (v1.0)stableDesign Systems
Financial data gridbetaDesign Systems × Finance
AI trust patternsbetaDesign Systems × AI
Module blueprintsdraftPer-domain squads
GateRequired before "stable"
AccessibilityKeyboard + screen-reader pass; AA contrast both themes
Visual regressionSnapshot tests in dark & light
StatesAll nine states in the matrix implemented
DocsUsage rules, props, do/don't, Figma parity
VersioningSemVer; breaking changes need migration notes

Maintained by Brand & Design Systems · v1.1 · companion to v1.0 · everything in sync.