Ce documente poți scoate din platformă ca PDF sau CSV, din ce pagină și prin ce rută.
Pe scurt
Platforma scoate documente în trei feluri:
| Fel | Cum funcționează |
|---|---|
| Fișier de pe server | serverul trimite un PDF sau CSV gata făcut, prin rută |
| Tipar din browser | pagina pregătește foaia și deschide dialogul de tipărire; de acolo alegi „Salvează ca PDF” |
| CSV făcut în pagină | pagina construiește fișierul din datele afișate deja, fără o cerere nouă |
Documentele
| Document | Pagina | Format | Cum | Rută |
|---|---|---|---|---|
| Raportul unei perioade | /app/rapoarte | server | GET /v1/rapoarte/:id/pdf | |
| Raportul unei zile, pe secțiuni | /app/rapoarte | PDF sau CSV | server | POST /v1/rapoarte/descarca |
| Vânzări zi cu zi, vânzări pe produs | /app/rapoarte | CSV | în pagină | — |
| Factura emisă din bon | /app/facturi | server | GET /v1/facturi-documente/:id/pdf | |
| Factura pe foaie (ciornă sau emisă) | /app/facturi | tipar | — | |
| Factura primită din SPV (ANAF) | /app/facturi-primite | PDF sau XML | server | GET /v1/spv/facturi/:id/:tip (tip = pdf sau xml) |
| Documentul unei tranzacții din evidență | — (doar API) | fișierul atașat (PDF sau poză) | server | GET /v1/evidenta/tranzactii/:id/documente/:doc |
| Oferta de preț | /app/clienti-club | tipar | — | |
| Lista ofertelor | /app/clienti-club | CSV | în pagină | — |
| Lista clienților | /app/clienti-club | CSV | în pagină | — |
| Avizele | /app/avize | tipar | — | |
| Meniul de azi, meniul complet | /app/meniu | tipar | — | |
| Necesarul comenzilor de catering | /app/comenzi-catering | tipar | — | |
| Profit și pierdere pe an | /app/profit-pierdere | CSV | în pagină | — |
| Statisticile firmei pe luni | /app/statistici-firma | CSV | în pagină | — |
| Serviciile în lucru | /app/registru | CSV | în pagină | — |
| Oferta din registru | /app/registru | tipar | — | |
| Actele din registru | /app/registru | vizualizare în pagină | — |
La documentele „tipar” nu se descarcă un fișier direct: se deschide dialogul de tipărire al browserului. De acolo alegi „Salvează ca PDF”.
Raportul unei zile
{ "zi": "2026-11-10", "sectiuni": ["total", "per_produs", "numerar_card"], "format": "pdf" }| Câmp | Valori |
|---|---|
zi | o zi reală, AAAA-LL-ZZ (de exemplu 2026-02-30 e refuzată) |
sectiuni | cel puțin una, fără dubluri: total, statistici, per_produs, livrari, numerar_card, neconcordante, nota, lista, lista_vanzari |
format | pdf sau csv |
| Răspuns | Când |
|---|---|
200 | documentul, ca atașament raport-<zi>.<format> |
403 sectiune_interzisa | ai cerut o secțiune pe care rolul tău nu o are |
409 zi_neinchisa | ziua nu e închisă încă la casă |
502 punte_esuata | raportul nu s-a putut genera acum |
Secțiunile permise se calculează pe server, după rol, nu din pagină. Rolurile fără drept de finanțe nu au nicio secțiune permisă. Un om căruia nu i s-a deschis ecranul primește 404.
Rapoartele pe perioadă
GET /v1/rapoarte/:id/pdf întoarce PDF-ul ca atașament raport-<id>.pdf. Fiecare raport aparține unui rol; un rol diferit primește 403 alt_rol. Ruta răspunde doar firmei pentru care sunt configurate rapoartele; pentru celelalte, 404, ca să nu afli nici dacă raportul există.
CSV-urile
CSV-urile sunt UTF-8; aproape toate au BOM la început, ca Excel să afișeze corect diacriticele (excepție: statisticile firmei). Separatorul diferă:
| Fișier | Separator |
|---|---|
Raportul zilei (server), vânzările din /app/rapoarte, profit și pierdere | ; |
| Clienții, ofertele, serviciile în lucru, statisticile firmei | , |
În CSV-ul clienților, o celulă care începe cu =, +, - sau @ primește un apostrof în față, ca Excel să nu o ia drept formulă.
Un CSV făcut în pagină conține doar ce vezi: lista filtrată, nu toată baza. Schimbă filtrele înainte de export dacă vrei mai mult.
Antetele fișierelor de pe server
Content-Type: application/pdf
Content-Disposition: attachment; filename="raport-2026-11-10.pdf"
Cache-Control: private, no-store
X-Content-Type-Options: nosniffFacturile în PDF (din bon, din SPV) și documentele din evidență se deschid inline, direct în browser; XML-ul din SPV și rapoartele se descarcă (attachment). Rapoartele și fișierele din SPV au Cache-Control: private, no-store, deci nu rămân în memoria intermediară.