# Evidența financiară

30 de rute, cu exemplu de cerere pentru fiecare.

Adresa de bază: `https://app.ilustromania.com/nucleu`

## Modulul `evidenta`

### GET /v1/evidenta/categorii

Acces: `rol:admin`

**Categoriile din evidență**

Categoriile de tranzacții cu totalurile lor.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/categorii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/evidenta/cereri

Acces: `rol:admin`

**Cererile trimise**

Cererile de documente trimise din evidență.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/cereri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/cereri

Acces: `sesiune` · acceptă `Idempotency-Key`

**Trimite o cerere**

Înregistrează o cerere nouă de document (201).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/cereri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/evidenta/cereri/{id}/primit

Acces: `sesiune`

**Marchează cererea primită**

Marchează că documentul cerut a sosit.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/cereri/{id}/primit \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/conturi

Acces: `rol:admin`

**Conturile din evidență**

Conturile bancare din evidență cu soldurile lor.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/conturi \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/import

Acces: `sesiune`

**Importă un extras de cont**

Importă un CSV de extras BT (cel mult 5 MB) pe entitatea firmă sau personal.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/import \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/panou

Acces: `rol:admin`

**Panoul evidenței**

Cifrele de sumar ale evidenței pe perioada cerută.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/panou \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/evidenta/recurente

Acces: `rol:admin`

**Plățile recurente**

Plățile recurente, cu cele plătite luna curentă; opțional și cele arhivate.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/recurente \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/recurente

Acces: `sesiune` · acceptă `Idempotency-Key`

**Adaugă o plată recurentă**

Creează o plată recurentă nouă (201).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/recurente \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PATCH /v1/evidenta/recurente/{id}

Acces: `sesiune`

**Modifică o plată recurentă**

Schimbă câmpurile unei plăți recurente.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PATCH https://app.ilustromania.com/nucleu/v1/evidenta/recurente/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/evidenta/recurente/{id}/arhiveaza

Acces: `sesiune`

**Arhivează o plată recurentă**

Scoate plata recurentă din listă.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/recurente/{id}/arhiveaza \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/evidenta/recurente/{id}/plata

Acces: `sesiune`

**Bifează plata lunii**

Marchează plata recurentă ca plătită pentru luna dată.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/evidenta/recurente/{id}/plata \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/setari

Acces: `rol:admin`

**Setările evidenței**

Setările proprietarului pentru evidență.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/setari \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/evidenta/setari

Acces: `sesiune`

**Salvează setările evidenței**

Scrie setările proprietarului pentru evidență.

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/evidenta/setari \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/tranzactii

Acces: `rol:admin`

**Tranzacțiile din evidență**

Tranzacțiile proprietarului, filtrate și paginate.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/tranzactii

Acces: `sesiune` · acceptă `Idempotency-Key`

**Adaugă o tranzacție**

Scrie o tranzacție nouă în evidență (201).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PATCH /v1/evidenta/tranzactii/{id}

Acces: `sesiune`

**Modifică o tranzacție**

Schimbă parțial o tranzacție (categorie, entitate firmă sau personal).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PATCH https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/evidenta/tranzactii/{id}

Acces: `sesiune`

**Modifică o tranzacție (PUT)**

Aceeași modificare parțială ca PATCH, pentru clienții care trimit PUT.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/evidenta/tranzactii/{id}/arhiveaza

Acces: `sesiune`

**Arhivează o tranzacție**

Scoate tranzacția din listă fără să o șteargă.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id}/arhiveaza \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/tranzactii/{id}/documente

Acces: `rol:admin`

**Documentele unei tranzacții**

Documentele atașate tranzacției.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id}/documente \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/tranzactii/{id}/documente

Acces: `sesiune`

**Atașează un document**

Încarcă un PDF sau o imagine (cel mult 10 MB) la tranzacție.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id}/documente \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/evidenta/tranzactii/{id}/documente/{doc}

Acces: `rol:admin`

**Descarcă un document atașat**

Fișierul documentului atașat tranzacției.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |
| `doc` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id}/documente/{doc} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/evidenta/tranzactii/{id}/documente/{doc}/arhiveaza

Acces: `sesiune`

**Arhivează un document atașat**

Scoate documentul de pe tranzacție.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |
| `doc` | `string` | valoarea din cale |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/{id}/documente/{doc}/arhiveaza \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/evidenta/tranzactii/confirma

Acces: `sesiune`

**Confirmă tranzacțiile**

Confirmă toate tranzacțiile din interval pentru entitatea aleasă.

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/evidenta/tranzactii/confirma \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

## Modulul `documente-costuri`

### GET /v1/evidenta/documente-costuri

Acces: `sesiune`

**Documentele de costuri**

Documentele de cost ale firmei, pentru rolurile care au voie.

```bash
curl https://app.ilustromania.com/nucleu/v1/evidenta/documente-costuri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

## Modulul `finante`

### GET /v1/obligatii

Acces: `sesiune`

**Obligațiile fiscale**

Obligațiile de plată ale firmei.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `obligatii` | `object[]` | da | — |
| `obligatii[].id` | `string` | da | UUID |
| `obligatii[].cod` | `string` | da | nevid |
| `obligatii[].nume` | `string` | da | nevid |
| `obligatii[].frecventa` | `string` | da | una din: `lunar`, `trimestrial`, `anual`, `la_operatiune`, `continuu` |
| `obligatii[].termen` | `string` | da | — |
| `obligatii[].seAplica` | `string` | da | una din: `da`, `nu`, `conditionat`, `de_verificat` |
| `obligatii[].conditie` | `string` | da | — |
| `obligatii[].cumDepun` | `string` | da | — |
| `obligatii[].sursa` | `string` | da | — |
| `obligatii[].note` | `string` | da | — |
| `obligatii[].scadente` | `object[]` | da | — |
| `obligatii[].scadente[].id` | `string` | da | UUID |
| `obligatii[].scadente[].perioada` | `string` | da | nevid |
| `obligatii[].scadente[].scadenta` | `string` | da | dată `AAAA-LL-ZZ` |
| `obligatii[].scadente[].status` | `string` | da | una din: `de_facut`, `in_lucru`, `depus`, `nu_e_cazul`, `intarziat` |
| `obligatii[].scadente[].dovada` | `string` | da | — |
| `obligatii[].scadente[].suma` | `string` | da | — |
| `obligatii[].scadente[].note` | `string` | da | — |

```bash
curl https://app.ilustromania.com/nucleu/v1/obligatii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

Răspuns 200 (exemplu din schemă):

```json
{
  "obligatii": [
    {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "cod": "text",
      "nume": "text",
      "frecventa": "lunar",
      "termen": "text",
      "seAplica": "da",
      "conditie": "text",
      "cumDepun": "text",
      "sursa": "text",
      "note": "text",
      "scadente": []
    }
  ]
}
```

### GET /v1/plati

Acces: `sesiune`

**Plățile**

Plățile firmei, filtrate din query.

Parametri de interogare:

| Nume | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `luna` | `string` | da | — |
| `entitate` | `string` | nu | una din: `firma`, `personal`, `toate`; implicit `toate` |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `luna` | `string` | da | — |
| `entitate` | `string` | da | una din: `firma`, `personal`, `toate` |
| `plati` | `object[]` | da | — |
| `plati[].id` | `string` | da | între 1 și 120 caractere |
| `plati[].numar` | `string` | da | — |
| `plati[].furnizor` | `string` | da | — |
| `plati[].data` | `string` | da | dată `AAAA-LL-ZZ` |
| `plati[].scadenta` | `string` | da | dată `AAAA-LL-ZZ` |
| `plati[].suma` | `string` | da | — |
| `plati[].moneda` | `string` | da | una din: `RON`, `EUR`, `USD` |
| `plati[].de_plata` | `string` | da | — |
| `plati[].stare` | `string` | da | una din: `inbox`, `programat`, `platit`, `restant` |
| `plati[].tip` | `string` | da | una din: `lunara`, `unica` |
| `plati[].entitate` | `string` | da | una din: `firma`, `personal` |
| `plati[].sursa` | `string` | da | una din: `factura`, `fiscal`, `recurenta` |
| `plati[].factura_url` | `string` | da | — |

```bash
curl https://app.ilustromania.com/nucleu/v1/plati \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

Răspuns 200 (exemplu din schemă):

```json
{
  "luna": "text",
  "entitate": "firma",
  "plati": [
    {
      "id": "text",
      "numar": "text",
      "furnizor": "text",
      "data": "2026-11-12",
      "scadenta": "2026-11-12",
      "suma": "text",
      "moneda": "RON",
      "de_plata": "text",
      "stare": "inbox",
      "tip": "lunara",
      "entitate": "firma",
      "sursa": "factura"
    }
  ]
}
```

### GET /v1/plati-recurente

Acces: `sesiune`

**Plățile recurente**

Plățile recurente ale firmei, filtrate din query.

Parametri de interogare:

| Nume | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `stare` | `string` | nu | una din: `activ`, `anulat`; implicit `activ` |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `plati` | `object[]` | da | — |
| `plati[].id` | `string` | da | UUID |
| `plati[].idSursa` | `string` | da | nevid |
| `plati[].nume` | `string` | da | nevid |
| `plati[].furnizor` | `string` | da | — |
| `plati[].categorie` | `string` | da | — |
| `plati[].tip` | `string` | da | una din: `intrare`, `iesire` |
| `plati[].frecventa` | `string` | da | una din: `lunar`, `trimestrial`, `semestrial`, `anual` |
| `plati[].zi` | `integer` | da | între 1 și 31 |
| `plati[].lunaAncora` | `integer` | da | între 1 și 12 |
| `plati[].suma` | `string` | da | — |
| `plati[].moneda` | `string` | da | una din: `RON`, `EUR`, `USD` |
| `plati[].metoda` | `string` | da | — |
| `plati[].activ` | `boolean` | da | — |
| `plati[].sursa` | `string` | da | — |
| `plati[].anulatLa` | `string` | nu | — |

```bash
curl https://app.ilustromania.com/nucleu/v1/plati-recurente \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

Răspuns 200 (exemplu din schemă):

```json
{
  "plati": [
    {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "idSursa": "text",
      "nume": "text",
      "furnizor": "text",
      "categorie": "text",
      "tip": "intrare",
      "frecventa": "lunar",
      "zi": 1,
      "lunaAncora": 1,
      "suma": "text",
      "moneda": "RON",
      "metoda": "text"
    }
  ]
}
```

### GET /v1/sarcini-contabile

Acces: `sesiune`

**Sarcinile contabile**

Sarcinile contabile deschise ale firmei.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `sarcini` | `object[]` | da | — |
| `sarcini[].id` | `string` | da | UUID |
| `sarcini[].idSursa` | `integer` | da | între -9007199254740991 și 9007199254740991 |
| `sarcini[].titlu` | `string` | da | nevid |
| `sarcini[].detaliu` | `string` | da | — |
| `sarcini[].agent` | `string` | da | — |
| `sarcini[].prioritate` | `integer` | da | între 0 și 5 |
| `sarcini[].status` | `string` | da | una din: `de_facut`, `in_lucru`, `blocat`, `gata` |
| `sarcini[].blocaj` | `string` | da | — |
| `sarcini[].rezultat` | `string` | da | — |
| `sarcini[].faza` | `string` | da | una din: `tranzitie`, `setup`, `lunar`, `anual` |
| `intrebari` | `object[]` | da | — |
| `intrebari[].id` | `string` | da | UUID |
| `intrebari[].idSursa` | `integer` | da | între -9007199254740991 și 9007199254740991 |
| `intrebari[].intrebare` | `string` | da | nevid |
| `intrebari[].deCe` | `string` | da | — |
| `intrebari[].raspuns` | `string` | da | — |
| `intrebari[].status` | `string` | da | una din: `deschis`, `lamurit` |
| `intrebari[].sursa` | `string` | da | — |

```bash
curl https://app.ilustromania.com/nucleu/v1/sarcini-contabile \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

Răspuns 200 (exemplu din schemă):

```json
{
  "sarcini": [
    {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "idSursa": 1,
      "titlu": "text",
      "detaliu": "text",
      "agent": "text",
      "prioritate": 1,
      "status": "de_facut",
      "blocaj": "text",
      "rezultat": "text",
      "faza": "tranzitie"
    }
  ],
  "intrebari": [
    {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "idSursa": 1,
      "intrebare": "text",
      "deCe": "text",
      "raspuns": "text",
      "status": "deschis",
      "sursa": "text"
    }
  ]
}
```

### GET /v1/tranzactii

Acces: `sesiune`

**Tranzacțiile bancare**

Tranzacțiile firmei, filtrate din query.

Parametri de interogare:

| Nume | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `de` | `string` | nu | dată `AAAA-LL-ZZ` |
| `pana` | `string` | nu | dată `AAAA-LL-ZZ` |
| `tip` | `string` | nu | una din: `intrare`, `iesire` |
| `moneda` | `string` | nu | una din: `RON`, `EUR`, `USD` |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `tranzactii` | `object[]` | da | — |
| `tranzactii[].id` | `string` | da | UUID |
| `tranzactii[].idSursa` | `string` | da | nevid |
| `tranzactii[].data` | `string` | da | dată `AAAA-LL-ZZ` |
| `tranzactii[].dataPos` | `string` | da | dată `AAAA-LL-ZZ` |
| `tranzactii[].descriere` | `string` | da | — |
| `tranzactii[].furnizor` | `string` | da | — |
| `tranzactii[].categorie` | `string` | da | nevid |
| `tranzactii[].tip` | `string` | da | una din: `intrare`, `iesire` |
| `tranzactii[].suma` | `string` | da | — |
| `tranzactii[].moneda` | `string` | da | una din: `RON`, `EUR`, `USD` |
| `tranzactii[].metoda` | `string` | da | — |
| `tranzactii[].ref` | `string` | da | — |
| `tranzactii[].sursa` | `string` | da | — |
| `tranzactii[].perioada` | `string` | da | — |
| `tranzactii[].idRecurenta` | `string` | da | — |
| `tranzactii[].detalii` | `object` | da | — |

```bash
curl https://app.ilustromania.com/nucleu/v1/tranzactii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

Răspuns 200 (exemplu din schemă):

```json
{
  "tranzactii": [
    {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "idSursa": "text",
      "data": "2026-11-12",
      "dataPos": "2026-11-12",
      "descriere": "text",
      "furnizor": "text",
      "categorie": "text",
      "tip": "intrare",
      "suma": "text",
      "moneda": "RON",
      "metoda": "text",
      "ref": "text"
    }
  ]
}
```
