Finance Architecture

The finance module is 18+ purpose-built services across 8 subsystems sharing one database with the rest of Aeion. The mathematical foundation is an immutable double-entry ledger — debits equal credits, posting is final, period-close locks history. Every subsystem above (AR, AP, payroll, tax, reports, depreciation) posts through this ledger. Event-driven cross-module flow connects finance to CRM (deal closed → invoice), commerce (order paid → revenue), HR (paycheck → payroll GL entries).

System Map

`

The Double-Entry Engine

Every dollar that moves through Aeion Finance — an invoice, a paycheck, a depreciation entry, a bank reconciliation adjustment — posts through one shared ledger service. No subsystem writes directly to the books; everything routes through this single choke point, which is what makes the audit trail airtight.

Subsystem Detail — Accounting

The accounting subsystem covers the full order of operations from a bill hitting your inbox to books closing at year-end:

Subsystem Detail — Banking + Payroll

Banking connects to your bank accounts (15,000+ institutions), keeps encrypted connection credentials, and reconciles transactions against the ledger using AI-assisted matching with a confidence score on every candidate match. Corporate card activity flows through the same pipeline.

Subsystem Detail — Tax + Reports

Tax generates W-2, W-3, 941, 940, 1099-NEC, 1099-MISC, and ACA forms, with 50-state withholding and filing variants. Submission-ready e-file packages are produced in IRS/SSA-accepted formats; direct transmission to the agency rides a per-agency filing partner and is rolling out — see the FAQ below for current status.

Event Flow — Cross-Module Integration

Finance doesn't live in isolation — it listens for what happens in CRM, commerce, and HR, and it tells those modules what happened on the finance side.

AI Agent Layer

Four finance-specific AI assistants run alongside the ledger:

FAQ

No. Multi-entity means multiple legal entities within ONE tenant. Tenant boundaries are absolute; intercompany relationships live within a single tenant.

Once a period is marked closed, the system blocks any new posting dated inside that period. The reopen path (recording a reason against the period) exists in the service layer but isn't yet exposed through an API endpoint or the admin UI — reopening today means a manual, engineering-assisted operation, not a self-service action with a role gate or fixed reopen window.

At posting time. Each line's amount converts to your base currency using the exchange rate in effect that day. Reports run on the base-currency amount; the original foreign-currency amount is preserved for audit.

Tested to 10M+ ledger entries per tenant, with period-level reports (like a month's P&L) returning in well under a second even at that scale.

Yes — the chart is per-tenant and fully editable. It's seeded with industry-specific templates (SaaS, retail, agency, manufacturing) and the account-numbering scheme is configurable.

Advisory insights (low cash runway, high overdue receivables, tight liquidity ratios, and similar) are computed from your live ledger data whenever the finance dashboard loads, not pushed as a standalone background agent today. It never auto-executes — nothing it surfaces posts a journal entry or takes action without a human.

Aeion Finance generates submission-ready packages in the IRS/SSA-accepted formats (EFW2, MeF, FIRE, ACA). Actually transmitting those packages to the agency requires a per-agency transport with real credentials and certificates (IRS MeF, SSA BSO, or a commercial aggregator) — none of those integrations are wired in today. Until one is, e-filing produces the ready-to-submit package and marks the submission `not_configured`; it never fabricates a confirmation number it didn't receive.

Tenant and module isolation is still fully enforced. Finance never reads commerce or CRM data directly; it only reacts to events those modules emit. Every data access still runs through the platform's built-in permission and entitlement checks — sharing a database doesn't mean sharing access.

One ledger. One audit trail. Eighteen services.