---
title: Financial Truth Model — TSync Intelligence
description: Definiția unică și formală a fiecărei cifre financiare produse de stratul TSync Intelligence — moneda de bază și metodologia cursului FX, valorizarea stocului, creanțe/datorii, cash, expunere valutară, profit operațional — cu granița clară între baza din Faza 1 și modelul din Faza 2.
product: TSync Intelligence 11.3.6
language: ro
canonical: https://docs.tsync.pro/ro/modules/tsync-financial-truth-model/
source: https://docs.tsync.pro/llms.txt
---

# Financial Truth Model (Modelul de adevăr financiar)

**Sursa unică de adevăr** pentru ce *înseamnă* fiecare număr financiar din TSync
Intelligence. Fiecare indicator expus de [stratul Intelligence](tsync-intelligence.md)
prin `tsync_finance()` are exact o definiție aici, astfel încât toate modulele
avansate (Dynamic Valuation, FX Exposure, KPI) calculează pe aceeași bază, iar
rezultatele sunt reproductibile și auditabile.

> **Scop.** Documentul definește *metodologia*. Faza 1 livrează definițiile **de
> bază** de mai jos (implementate în `Tsync_finance_service`). Elementele marcate
> **[Faza 2]** sunt definite formal aici, dar calculul complet este amânat.

---

## 0. Convenții

- **Moneda de bază** — `tsync_fx()->base()` (baza contabilă, ex. `RON`), din
  opțiunea `tsync_acc_base_currency`. Toate agregatele sunt exprimate în bază.
- **Curs contabil** — `tsync_fx()->rate(CUR, data)`: cursul `CUR`→bază la o dată,
  din `Tsync_currency`. **Regula datei cursului:** România folosește cursul BNR
  din **ziua lucrătoare precedentă**; Moldova folosește cursul din **aceeași zi**.
  Moneda de bază are cursul `1.0` prin definiție.
- **Conversie** — întotdeauna *prin bază*: `convert(sumă, din, în) = sumă ×
  rate(din) ÷ rate(în)`.
- **Rotunjire** — agregatele monetare la **2 zecimale**; costurile unitare și
  valorile din snapshot păstrează **4 zecimale** intern.
- **Versionare** — fiecare rând de metrică are `calc_version` + `calculated_at`
  (incrementat la fiecare recalcul), deci o valoare învechită este detectabilă. O
  schimbare a unei definiții de aici = incrementare a **versiunii de metodologie** (§8).

---

## 1. Valorizarea stocului

$$\text{ValoareStoc} = \sum_{\text{rânduri stoc}} (\,qty \times avg\_cost\,)$$

- Sursă: `tsync_stock` — coloana canonică de stoc **`qty`** (niciodată
  `qty_on_hand`), cost unitar **`avg_cost`**.
- Metodă de cost: **AVCO** (medie ponderată mobilă) — `avg_cost` este menținut de
  calea de postare din depozit la fiecare recepție.
- `tsync_finance()->getInventoryValue()`. Deja în bază.

## 2. Creanțe

$$\text{Creanțe} = \sum_{\text{facturi client deschise}} (\,total - \text{încasări}\,)$$

- **Deschisă** = status factură ∈ { `neplătită` (1), `parțial` (3), `restantă` (4) }.
  Plătită (2) și anulată (5) sunt excluse.
- `tsync_finance()->getReceivables()`. Facturi non-bază: vezi §6.

## 3. Datorii (furnizori)

$$\text{Datorii} = \sum_{\text{facturi furnizor deschise}} (\,total - \text{plăți}\,)$$

- **Deschisă** = status factură furnizor ∉ { plătită, anulată }.
- `tsync_finance()->getPayables()`.

## 4. Sold de numerar (proxy de cash operațional)

$$\text{Cash} = \sum \text{încasări clienți} - \sum \text{plăți furnizori} - \sum \text{cheltuieli}$$

- Un **proxy** bazat pe mișcări, nu un sold bancar reconciliat. Reconcilierea
  bancară / închiderea de perioadă reală este **[Faza 2]**.
- `tsync_finance()->getCashBalance()`.

## 5. Expunere valutară

$$\text{Expunere} = \sum_{\substack{\text{creanțe deschise}\\ \text{cur} \neq \text{bază}}} \text{valoareBază(suma deschisă)}$$

- Valoarea în bază a creanțelor **deschise, în monedă non-bază** — suma expusă la
  mișcări FX. `tsync_finance()->getCurrencyExposure()`.
- Indicator **de bază**: măsoară expunerea, nu câștigul/pierderea realizat(ă).

## 6. Metodologia câștig / pierdere din FX  **[calcul Faza 2]**

Formal: pentru un element în valută înregistrat la cursul $r_0$ la data $d_0$ și
evaluat/decontat la cursul $r_1$ la data $d_1$,

$$\text{Câștig/pierdere FX} = \text{sumă}_{\text{cur}} \times (r_1 - r_0)$$

- **Nerealizat** (elemente deschise): $r_1$ = cursul la data raportării.
- **Realizat** (la decontare): $r_1$ = cursul la data decontării.
- **Regula:** veniturile/cheltuielile și activele/datoriile se înregistrează la
  **cursul istoric** ($r_0$) la recunoaștere; reevaluarea folosește **cursul
  curent** ($r_1$); diferența este câștigul/pierderea din FX. Faza 1 înregistrează
  expunerea (§5) și cursurile (§0); linia de câștig/pierdere contabilizată e Faza 2.

## 7. Profit operațional

**Bază Faza 1** — `tsync_finance()->getOperationalProfit($zile)`:

$$\text{ProfitOp}_{\text{bază}} = \text{venituri}_{\text{fereastră}} - \text{cheltuieli}_{\text{fereastră}}$$

**[Faza 2] profit operațional real** — formal:

$$\text{ProfitOp} = \text{venituri} - \text{COGS} - \text{cheltuieli de exploatare} \pm \text{câștig/pierdere FX} - \text{angajamente/amânări}$$

unde **COGS** se ia din AVCO la momentul vânzării (nu costul de la sfârșit de
perioadă), câștigul/pierderea FX conform §6, iar angajamentele/amânările după data
recunoașterii. **Costul operațional** = COGS + cheltuieli de exploatare (exclude
finanțarea și impozitul). Baza omite intenționat COGS, FX și angajamentele — nu o
trata ca profit auditat.

## 8. Versionarea metodologiei & reproductibilitate

- Fiecare metrică stochează `calc_version` (nr. recalculări) și este produsă sub o
  **versiune de metodologie** (versiunea acestui document). O schimbare a oricărei
  formule de aici incrementează versiunea de metodologie; snapshot-urile rețin
  metodologia în vigoare, deci o cifră istorică poate fi reprodusă din aceleași date.
- **Contract de reproductibilitate:** același set de date + aceeași versiune de
  metodologie trebuie să producă aceleași numere (baza pentru modul audit/research).

## 9. Foaie de parcurs Faza 2 (încă neobligatorie)

Profit operațional bazat pe COGS, câștig/pierdere FX contabilizat, reconciliere
bancară / închidere de perioadă, angajamente/amânări, consolidare multi-company și
scenarii de reevaluare curs istoric vs curs curent.

---

*Implementat de `application/libraries/Tsync_finance_service.php` (bază) și
`Tsync_fx_service.php` (cursuri). Validat de `tests/sim/intelligence_finance_snapshot_sim.php`
și `tests/fx_service_test.php`.*
