> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fincelo.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Key Design Principles

> The 9 principles that govern every product decision in Fincelo.

These 9 principles are core to how Fincelo works and why it works that way.
Every module and every agent is built to honour them.

**Principle 1: Invoice date and revenue recognition date are always independent.**
Invoice date = commercial/legal fact (billing trigger event).
Revenue recognition date = accounting decision (when service delivered/CFO approved).

**Principle 2: Fincelo never auto-decides on material financial matters.**
The CFO always makes the final call on: View A vs View B, period close path,
expansion billing option, ratchet resolution, advance billing config, FX rate.
Fincelo presents options with analysis. It never chooses.
Every decision logged with name + timestamp.

**Principle 3: ARR and revenue recognition are independent events.**
ARR decrements on actual termination date. Revenue recognition follows contract
terms and View A/B. Tracked in separate tables. Separate P\&L items.

**Principle 4: Proforma is never a Tax Invoice.**
A billing intent raised before the trigger is a Proforma. No number, no date,
no GST. Converts to Tax Invoice when the trigger occurs. In-place conversion —
no cancellation, no duplicate.

**Principle 5: Self-improving AI without retraining.**
Corrections become few-shot examples. Prompt augmentation only.
Calibrated confidence replaces raw AI certainty. No ML pipeline.

**Principle 6: Contract beats CRM for billing terms. CRM beats Fincelo for pipeline.**
When they conflict: contract governs commercial and billing terms.
CRM governs deal stage and sales pipeline. Neither overwrites the other's domain.

**Principle 7: KYC approval triggers automatic module wiring.**
One approval fires 11 connections simultaneously. GSTIN → GST treatment.
PAN → TDS tracking. PO flag → invoice hold engine. Finance teams should never
manually configure the same data in multiple places.

**Principle 8: Agents amplify the CFO's capacity — they never replace judgement.**
Every agent action above a material threshold requires human approval.
The CFO configures the thresholds. Agents operate within those bounds.
Every action is logged, auditable, and reversible where technically possible.

**Principle 9: One event bus, no direct module coupling.**
Modules communicate via domain\_events. No module calls another module directly.
This means any module can be upgraded, replaced, or extended without breaking others.
The orchestration layer routes all events — it is the single source of truth
for what happened and what should happen next.

***
