Încasări și chitanțe
Cât s-a încasat dintr-o factură și cum, plus chitanțele, cu numerotarea lor.
Încasări
POST …/documents/{document_id}/payments înregistrează o încasare pe o factură emisă: suma (implicit restul de încasat), data (implicit azi), modul și o referință, de exemplu numărul ordinului de plată:
{ "amount": 738.10, "paid_on": "2026-10-15", "method": "ordin_plata", "reference": "OP 1187" }- Încasările parțiale se adună; o factură poate avea oricâte.
"method": "numerar"emite o chitanță pentru sumă: încasarea în numerar se face cu chitanță.- Răspunsul este factura, cu încasarea în
paymentsși starea nouă înpayment. DELETE /companies/{company_id}/payments/{payment_id}șterge o încasare greșită. Una făcută de o chitanță dispare doar odată cu anularea chitanței.
Starea plății
Fiecare factură emisă are payment.status: unpaid, partial, paid, overpaid sau reversed (stornată integral). Restul de încasat (outstanding) ține cont de stornări, iar overdue spune că scadența a trecut. Când o factură ajunge încasată integral, primești document.paid. Lista GET …/documents?payment=overdue dă facturile restante.
Chitanțe
POST /companies/{company_id}/receipts emite o chitanță:
- pentru o factură, cu
document_id: suma, plătitorul și descrierea vin din factură, iar chitanța o și încasează; - la liber, fără
document_id: dai suma, plătitorul și ce reprezintă suma.
Numărul vine din seria de chitanțe a firmei. O chitanță nu se șterge: se anulează (/cancel), rămâne în serie cu starea cancelled, iar încasarea ei dispare de pe factură. PDF-ul este la /pdf, iar /email o trimite plătitorului (pentru firmele verificate).
Firmele fără evidența încasărilor
O firmă poate alege în aplicație să nu țină evidența încasărilor (track_payments: false): atunci aplicația nu mai arată restanțe și sume de încasat. Prin API, încasările și starea plății rămân disponibile.
Referința
Înregistrează o încasare
POST /api/v1/companies/{company_id}/documents/{document_id}/payments
Permisiune: payments:write.
Pe o factură emisă. Cu method: "numerar" se emite o chitanță. Răspunsul este factura, cu încasarea în payments.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
document_id în adresă | integer | Id-ul documentului. |
Corp: PaymentInput, de exemplu.
{ "amount": 738.1, "paid_on": "2026-10-15", "method": "ordin_plata", "reference": "OP 1187" }Răspuns 201: Document.
Lista încasărilor
GET /api/v1/companies/{company_id}/payments
Permisiune: payments:read.
Toate încasările firmei, cele mai noi primele.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
from | date | Încasate de la data. |
to | date | Până la data (inclusiv). |
document_id | integer | Ale unei facturi. |
limit | integer | Câte pe pagină, 1–100. Implicit 25. |
starting_after | string | next_cursor din pagina anterioară. |
Șterge o încasare
DELETE /api/v1/companies/{company_id}/payments/{payment_id}
Permisiune: payments:write.
O încasare făcută de o chitanță nu se șterge: se anulează chitanța.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
payment_id în adresă | integer | Id-ul încasării. |
Răspuns 200: Deleted.
Lista chitanțelor
GET /api/v1/companies/{company_id}/receipts
Permisiune: payments:read.
Chitanțele firmei, cele mai noi primele.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
from | date | Emise de la data. |
to | date | Până la data (inclusiv). |
status | issued | cancelled | Emise sau anulate. |
document_id | integer | Ale unei facturi. |
limit | integer | Câte pe pagină, 1–100. Implicit 25. |
starting_after | string | next_cursor din pagina anterioară. |
Emite o chitanță
POST /api/v1/companies/{company_id}/receipts
Permisiune: payments:write.
Pentru o factură emisă, achitată sau nu (încasează în numerar restul de plată; peste el, se leagă de încasarea existentă) sau la liber, fără factură.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
Corp: ReceiptInput, de exemplu.
{ "document_id": 812, "amount": 200 }Răspuns 201: Receipt.
{
"id": 91, "object": "receipt", "number": "CH 17", "issue_date": "2026-10-15", "amount": 200, "currency": "RON",
"payer": { "name": "Beta Construct SRL", "cif": "RO18547290", "address": "Str. Fabricii 12, Sector 3, București" },
"description": "Contravaloare factura FCT 42 din 2026-10-09", "document_id": 812, "document_number": "FCT 42", "status": "issued"
}O chitanță
GET /api/v1/companies/{company_id}/receipts/{receipt_id}
Permisiune: payments:read.
Chitanța.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
receipt_id în adresă | integer | Id-ul chitanței. |
Răspuns 200: Receipt.
Anulează o chitanță
POST /api/v1/companies/{company_id}/receipts/{receipt_id}/cancel
Permisiune: payments:write.
Chitanța rămâne în serie, anulată; încasarea făcută de ea dispare de pe factură, o încasare de dinainte rămâne.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
receipt_id în adresă | integer | Id-ul chitanței. |
Răspuns 200: Receipt.
Trimite chitanța pe email
POST /api/v1/companies/{company_id}/receipts/{receipt_id}/email
Permisiune: payments:write.
PDF-ul chitanței, de la adresa Chappa. Doar pentru o firmă verificată, conectată la ANAF.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
receipt_id în adresă | integer | Id-ul chitanței. |
Corp: EmailInput.
Răspuns 200: Email.
PDF-ul chitanței
GET /api/v1/companies/{company_id}/receipts/{receipt_id}/pdf
Permisiune: payments:read.
Chitanța în PDF.
| Parametru | Tip | Ce este |
|---|---|---|
company_id în adresă | integer | Id-ul firmei. |
receipt_id în adresă | integer | Id-ul chitanței. |
Răspuns 200: un fișier PDF (application/pdf).
Obiectul PaymentInput
O încasare pe o factură emisă.
| Câmp | Tip | Ce este |
|---|---|---|
amount | number | Suma. Implicit restul de încasat. |
paid_on | date | Data. Implicit azi. |
method | ordin_plata | card | cec | bon_fiscal | altul | numerar | Cum s-a plătit. Implicit ordin_plata. numerar emite o chitanță. |
reference | string | Referința plății (de exemplu din extras). |
note | string | Notă. |
Obiectul Payment
O încasare.
| Câmp | Tip | Ce este |
|---|---|---|
id | integer | Id-ul încasării. |
object | payment | Mereu payment. |
document_id | integer | Factura. |
document_number | string sau null | Numărul ei. |
amount | number | Suma. |
currency | string sau null | Moneda facturii. |
paid_on | date | Data. |
method | string | Modul. |
reference | string sau null | Referința. |
note | string sau null | Nota. |
receipt_id | integer sau null | Chitanța legată de ea (o anulezi pe ea, nu încasarea). |
receipt_number | string sau null | Numărul chitanței. |
Obiectul PaymentState
Cât s-a încasat dintr-o factură emisă.
| Câmp | Tip | Ce este |
|---|---|---|
status | not_applicable | unpaid | partial | paid | overpaid | reversed | Neîncasată, parțial, încasată, încasată în plus, stornată integral. |
paid | number | Suma încasată. |
outstanding | number | Rest de încasat (după stornări). |
overdue | boolean | Scadența a trecut și mai are rest de încasat. |
collected_at_issue | boolean | Doar în document: încasată integral la emitere. |
Obiectul ReceiptInput
O chitanță: pentru o factură sau la liber.
| Câmp | Tip | Ce este |
|---|---|---|
document_id | integer | Factura încasată. Lipsă: chitanță la liber. |
amount | number | Suma. Implicit restul facturii. |
issue_date | date | Data. Implicit azi. |
payer_name | string | Plătitorul. Implicit clientul facturii. |
payer_cif | string | Codul fiscal al plătitorului. |
payer_address | string | Adresa plătitorului. |
description | string | Ce reprezintă suma. Implicit „Contravaloare factura …”. |
series_id | integer | Seria. Implicit cea principală de chitanțe. |
Obiectul Receipt
O chitanță.
| Câmp | Tip | Ce este |
|---|---|---|
id | integer | Id-ul chitanței. |
object | receipt | Mereu receipt. |
number | string | Seria și numărul. |
issue_date | date | Data. |
amount | number | Suma. |
currency | string | Moneda. |
payer | object | name, cif, address. |
description | string | Ce reprezintă suma. |
document_id | integer sau null | Factura încasată. |
document_number | string sau null | Numărul ei. |
status | issued | cancelled | Emisă sau anulată. |