Faturalar

Varsayılan autoVat=true ile KDV oranını API belirler: şirketinizin KDV/OSS kaydı + müşterinin ülkesi ve VAT numarasına göre (yurt içi / reverse-charge / OSS / ihracat). Fatura numaraları boşluksuzdur ve panel ile aynı sırayı paylaşır. API'de fatura SİLME yoktur — yalnız iptal (numara sırada korunur).

SenaryoOranNot
Şirket KDV mükellefi değil0Manuel taxRate>0 → 422 reddedilir
Aynı ülke (yurt içi)Satıcı ülke oranıörn. EE %24
AB içi B2B (VAT no'lu)0Reverse charge — vatNote otomatik
AB içi B2C + OSS kayıtlıAlıcı ülke oranıörn. DE %19
AB içi B2C, OSS yokSatıcı ülke oranı
AB dışına satış0İhracat muafiyeti — vatNote otomatik

Uç noktalar

POST/invoicesYetki: write:invoices

Ücretli (fatura başına sayaç)

Fatura keser. autoVat varsayılan açık; clientCountry zorunlu olur.

Örnek istek

curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  https://corpenza.com/api/external/accounting/invoices -d '{
  "clientName": "Berlin GmbH",
  "clientCountry": "DE",
  "clientVatNumber": "DE123456789",
  "items": [
    { "description": "Consulting", "quantity": 2, "unitPrice": 250 }
  ]
}'

Örnek yanıt

{
  "id": "inv_...",
  "invoiceNumber": "CRP-202606-0042",
  "taxRate": 0,
  "total": 500,
  "vatNote": "Reverse Charge - ...",
  "vatReason": "Intra-EU B2B — Reverse Charge"
}
GET/invoicesYetki: read:invoices

Fatura listesi (status, from, to, page, limit filtreleri).

Örnek istek

curl -H "Authorization: Bearer $API_KEY" \
  "https://corpenza.com/api/external/accounting/invoices?status=SENT&page=1&limit=20"
GET/invoices/{id}Yetki: read:invoices

Tek fatura detayı (kalemler + ödemeler).

POST/invoices/{id}/cancelYetki: write:invoices

Faturayı iptal eder (silme yok; numara sırada korunur). PAID iptal edilemez (409).