الفواتير
مع autoVat=true الافتراضي تحدد الواجهة نسبة الضريبة وفق تسجيل شركتك في الضريبة/OSS وبلد العميل ورقمه الضريبي (محلي / احتساب عكسي / OSS / تصدير). الترقيم بلا فجوات ومشترك مع اللوحة. لا يوجد حذف للفواتير عبر API — إلغاء فقط.
| الحالة | النسبة | ملاحظة |
|---|---|---|
| الشركة غير مسجلة ضريبيًا | 0 | taxRate>0 يدويًا → 422 |
| نفس البلد (محلي) | نسبة بلد البائع | مثل EE 24% |
| B2B داخل الاتحاد (برقم ضريبي) | 0 | احتساب عكسي — vatNote تلقائي |
| B2C داخل الاتحاد + OSS | نسبة بلد المشتري | مثل DE 19% |
| B2C داخل الاتحاد بدون OSS | نسبة بلد البائع | |
| بيع خارج الاتحاد | 0 | إعفاء التصدير — vatNote تلقائي |
نقاط النهاية
POST
/invoicesالصلاحية: write:invoicesمدفوع (عداد لكل فاتورة)
يُصدر فاتورة. autoVat مفعّل افتراضيًا.
مثال طلب
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 }
]
}'مثال استجابة
{
"id": "inv_...",
"invoiceNumber": "CRP-202606-0042",
"taxRate": 0,
"total": 500,
"vatNote": "Reverse Charge - ...",
"vatReason": "Intra-EU B2B — Reverse Charge"
}GET
/invoicesالصلاحية: read:invoicesقائمة الفواتير (مرشحات status وfrom وto وpage وlimit).
مثال طلب
curl -H "Authorization: Bearer $API_KEY" \
"https://corpenza.com/api/external/accounting/invoices?status=SENT&page=1&limit=20"GET
/invoices/{id}الصلاحية: read:invoicesتفاصيل فاتورة (بنود + مدفوعات).
POST
/invoices/{id}/cancelالصلاحية: write:invoicesيلغي الفاتورة (دون حذف). لا يمكن إلغاء PAID (409).