"""Finance domain — the unified spend ledger and reconciliation centre. This domain owns the cross-stream **unified spend fact** layer that the finance team uses to reconcile and slice all platform spend (cloud / software / AI / procurement) along one consistent set of dimensions (period × department × cost-centre × cost-type × vendor), normalised to USD with a month-frozen FX rate. It does NOT re-ingest raw cost data. The materialisation runs through ``app.core.coordinators.finance_spend_coordinator`` which is the only sanctioned place to read across the cmdb / asset / ai_spending / procurement domains (per the platform rule that domain modules don't import each other). The finance domain itself holds: * the persisted ledger (:mod:`app.domains.finance.models`), * the month-frozen FX resolver (:mod:`app.domains.finance.fx`), * the read/query + close/restatement service (:mod:`app.domains.finance.service`), * and the HTTP surface (:mod:`app.domains.finance.router`). """