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).
| Senaryo | Oran | Not |
|---|---|---|
| Şirket KDV mükellefi değil | 0 | Manuel taxRate>0 → 422 reddedilir |
| Aynı ülke (yurt içi) | Satıcı ülke oranı | örn. EE %24 |
| AB içi B2B (VAT no'lu) | 0 | Reverse charge — vatNote otomatik |
| AB içi B2C + OSS kayıtlı | Alıcı ülke oranı | örn. DE %19 |
| AB içi B2C, OSS yok | Satı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:invoicesFatura 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:invoicesTek fatura detayı (kalemler + ödemeler).
POST
/invoices/{id}/cancelYetki: write:invoicesFaturayı iptal eder (silme yok; numara sırada korunur). PAID iptal edilemez (409).