الأدلة
الفوترة الإلكترونية
POST /einvoices الفاتورة كما أصدرها نظامك تمامًا؛ ولا تتعامل أنت مع صيغة المزوّد أبدًا.
ما الذي يفعله طلب واحد
يتحقق من الطلب: يجب أن يكون الرقم الضريبي للبائع رقم هذه الشركة ( SELLER_TRN_MISMATCH)، وأن توجد أسطر، ومعexpectedTotalيجب أن يطابقه مجموع الفاتورة حتى الفلس (EINVOICE_TOTAL_MISMATCH).يجد المشتري: عبر customerId، أوcustomerبمطابقة الرقم الضريبي ثم الاسم المطابق تمامًا، وإلا يُنشئه. ولا تُستبدل بيانات جهة اتصال قائمة أبدًا.يُنشئ الفاتورة في المبيعات برقم KWN، مع الاحتفاظ برقمك مرجعًا، ويعتمدها. يستهلك رصيد فاتورة واحدًا ويضع الفاتورة في الطابور نحو المزوّد. والشركة التي نفد رصيدها تُرفض بـ NO_CREDITS.يجيب 201بالفاتورة الإلكترونية في حالةPENDING.
curl -sS -X POST https://app.kwn.tax/api/v1/einvoices \
-H "X-Api-Key: $KWN_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"externalId": "INV-2026-00042",
"sellerTrn": "100234567800003",
"issueDate": "2026-10-15",
"customer": {
"name": "Al Noor Trading L.L.C.", "isCompany": true, "trn": "100398765400003",
"address": "Office 1204, Bay Square", "city": "Dubai", "emirate": "DUBAI", "country": "AE"
},
"lines": [
{ "description": "Bookkeeping, October 2026", "quantity": 1, "unitPrice": 2500, "taxRate": 5 }
],
"expectedTotal": 2625
}'الحالات
| الحالة | المعنى |
|---|---|
PENDING | |
CLEARED | |
REJECTED | externalId نفسه. |
FAILED | |
CANCELLED |
GET /einvoices/{id}، أو اعرض كل التغييرات عبر GET /einvoices?updatedSince=….
إرسال الفاتورة نفسها مجددًا
externalIdنفسه بالمحتوى نفسه يجيب بالفاتورة الأولى،200معduplicate: true، ولا يستهلك رصيدًا ثانيًا.الفاتورة المرفوضة إذا أُرسلت مصحّحة بالـ externalIdنفسه يُعاد تقديمها:200معresubmitted: true، وتبقى على رصيدها الواحد.externalIdنفسه بمحتوى مختلف، والأولى غير مرفوضة، يُرفض409 EXTERNAL_ID_CONFLICT.
قبل التشغيل الفعلي
أرسل GET /me: يجب أن تكونeInvoicing.availableقيمةtrue. وتبقى false حتى تسجّل KWN الشركة لدى المزوّد (وإلاCLEARANCE_UNAVAILABLE). وقيمةeInvoicing.modeهيLIVEفي بيئة التشغيل؛ وMOCKتعني خادم اختبار لا يصل منه شيء إلى الهيئة.يجب أن تكون بيانات الفوترة الإلكترونية للشركة مكتملة في KWN — الاسم القانوني والعنوان والرقم الضريبي (ويذكر EINVOICE_FIELDS_MISSINGالناقص).يحتاج المفتاح إلى sales:approve.راقب الرصيد: كل فاتورة مخلّصة تستهلك واحدًا؛ وتعيد الشركة شحنه من KWN.