الفواتير
إنشاء وإرسال وتتبع الفواتير
استخدم NomadBill الفواتير لإنشاء فواتير احترافية، وحساب VAT، وتصدير ملفات PDF ذات العلامة التجارية، وإرسال الفواتير عبر البريد الإلكتروني، وقبول المدفوعات عبر الإنترنت من خلال Stripe. يمكنك إدارة مسودات الفواتير المرسلة وتتبع تقدم الدفع والحفاظ على اتساق أرقام الفواتير عبر شركتك.
إذا بدأت من عرض أسعار معتمد، فاستخدم تدفق عرض الأسعار إلى الفاتورة الموضح في عروض الأسعار.
حالات الفاتورة
NomadBill يتتبع الفواتير بحقلين منفصلين: status و payment_status. تعطي شارة الفاتورة الأولوية لمعلومات الدفع، لذلك عندما يكون payment_status هو paid، يتم عرض الفاتورة على أنها مدفوعة حتى لو كان الحقل status العام سيظهر شيئًا آخر.
| مجال | قيم | ماذا يعني |
|---|---|---|
status | draft, sent, paid, overdue | حالة دورة حياة المستند |
payment_status | unpaid, pending, paid, failed | حالة معالجة الدفع |
الطريقة العملية لقراءة هذا هي:
draft— مازلت تقوم بتحرير الفاتورة ولم تنته من إرسالها.sent— تم تسليم الفاتورة أو تم وضع علامة عليها كمرسلة.overdue— لقد مر تاريخ الاستحقاق ولم تتم تسوية الفاتورة بعد.paid— تمت تسوية الفاتورة.
تضيف الحالات الخاصة بالدفع المزيد من التفاصيل:
unpaid— لم يتم تسجيل أي دفعة حتى الآن.pending— جاري الدفع.paid— تم الدفع بنجاح.failed— لم تكتمل محاولة الدفع.
إذا أظهرت الفاتورة paid في UI، فإن الحالة المدفوعة هذه لها الأولوية على حالة المستند العامة لعرض الشارة.
إنشاء فاتورة
قم بإنشاء فاتورة جديدة من منطقة الفواتير، وأكمل تفاصيل العميل والفوترة، وأضف البنود الخاصة بك، ثم راجع النتيجة قبل إرسالها. NomadBill يحتفظ بالفواتير غير المكتملة كمسودات حتى تتمكن من العودة إليها لاحقًا.
فتح فاتورة جديدة
انتقل إلى الفواتير وقم بإنشاء فاتورة جديدة. NomadBill يقوم بإعداد المستند مع سياق شركتك ويعين الترقيم عند إنشاء الفاتورة.
عند فتح الفاتورة، من المفترض أن تشاهد حقول الفوترة القابلة للتحرير والبنود والإجماليات وإعدادات المستند.
إضافة تفاصيل العميل والفواتير
أدخل معلومات العميل وتاريخ الفاتورة وتاريخ الاستحقاق والعملة واللغة. اختر لغة الفاتورة التي تتوافق مع المستلم حتى يتم عرض التسميات الموجودة في PDF والبريد الإلكتروني بشكل صحيح.
بعد الحفظ، تظل الفاتورة في حالة draft حتى تقوم بإرسالها أو وضع علامة عليها بخلاف ذلك.
أضف بنود
أضف كل منتج أو خدمة كبند منفصل مع الاسم والكمية وسعر الوحدة. قم بتضمين وصف عندما تحتاج إلى توضيح النطاق أو فترة الفاتورة أو التسليمات.
يتم تحديث الإجمالي الفرعي أثناء إضافة العناصر أو تحريرها.
مراجعة VAT والمجاميع
تأكد من نسبة VAT قبل إرسال الفاتورة. NomadBill يحسب الإجمالي من الإجمالي الفرعي ونسبة VAT، حتى تتمكن من التحقق من المبلغ قبل إنشاء PDF أو رابط الدفع.
يجب أن تترك لك خطوة المراجعة الصحيحة إجماليًا فرعيًا واضحًا ومبلغًا VAT وإجمالي نهائي.
تصدير أو إرسال أو تحصيل المدفوعات
بمجرد أن تبدو الفاتورة صحيحة، قم بإنشاء PDF، أو إرسالها عبر البريد الإلكتروني، أو تمكين الخروج Stripe إذا كنت تريد أن يدفع العميل عبر الإنترنت. بعد الإرسال، يمكن لـ NomadBill تسجيل تفاصيل التسليم مثل من استلم الفاتورة ومتى تم إرسالها.
عند هذه النقطة، تنتقل الفاتورة من التحرير إلى التتبع النشط.
البنود
يقوم كل بند من بنود الفاتورة بتخزين بنية صغيرة ومتسقة حتى تتمكن من إبقاء الرسوم واضحة ويمكن التنبؤ بها. يتضمن البند ما يلي:
id— معرف داخلي اختياريname— عنوان البندdescription— نص تفصيلي اختياريquantity— كم عدد الوحدات التي فاتورتكprice— سعر الوحدة
استخدم بندًا واحدًا لكل خدمة أو منتج أو فترة فاتورة قابلة للفوترة. وهذا يجعل PDF أسهل في القراءة ويساعد عميلك على فهم كيفية إنشاء الإجمالي.
NomadBill يدعم أيضًا إعادة ترتيب السحب والإفلات لعناصر السطر. أعد ترتيب العناصر لتتناسب مع القصة التي تريد أن ترويها الفاتورة، مثل إدراج الخدمات الأساسية أولاً والنفقات القابلة للسداد أخيرًا.
VAT الحساب
NomadBill يحسب إجماليات الفاتورة من الإجمالي الفرعي ونسبة VAT. الصيغة هي:
total = subtotal + (subtotal x vat_percentage / 100)
المعدل الافتراضي VAT هو 19%، وهو ما يطابق المعدل الألماني القياسي. يمكنك تغيير النسبة VAT لكل فاتورة حسب الحاجة، طالما ظلت القيمة ضمن النطاق المسموح به من 0 إلى 100.
وهذا يعني:
0صالحة لـ VAT-الفواتير المعفاة أو ذات نسبة الصفر19هي نقطة البداية الافتراضية100هو الحد الأعلى المسموح به
تحقق من معدل VAT قبل إرسال الفاتورة، خاصة إذا كنت ترسل فاتورة عبر ولايات قضائية أو تعمل بمعاملات ضريبية مختلطة.
العملات واللغات
NomadBill يدعم خمس عملات فاتورة وأربع لغات فاتورة. يتم فرض هذه القيم، لذا تستخدم الفواتير دائمًا أحد الخيارات المدعومة.
العملات المدعومة
- EUR
- USD
- GBP
- CHF
- AED
لغات الفاتورة المدعومة
- DE
- EN
- FR
- ES
كيفية اختيار العملة الافتراضية
NomadBill يحل عملة الفاتورة بهذا الترتيب:
- عملة الفاتورة — إذا كانت الفاتورة تحتوي على عملة بالفعل، فسيتم استخدام هذه القيمة.
- العملة الافتراضية للشركة — إذا لم تكن الفاتورة تحتوي على عملة صريحة، فإن NomadBill يتحقق من العملة الافتراضية للشركة.
- تفضيل العملة العالمية — في حالة عدم وجود أي من الخيارين الأولين، يعود NomadBill إلى العملة العالمية المخزنة في وحدة تخزين المتصفح المحلي كـ
nb.currency.
تعمل هذه الأولوية على الحفاظ على استقرار الفواتير الحالية، مع توفير خيار احتياطي على مستوى الشركة وعلى مستوى المستخدم.
ترقيم الفاتورة
تستخدم أرقام الفاتورة التنسيق R-00001. تحدد البادئة R نوع المستند، ويستخدم الجزء الرقمي خمسة أرقام مع الأصفار البادئة.
NomadBill يُنشئ أرقامًا من خلال وظيفة قاعدة بيانات تقوم بتعيين رقم المستند التالي ذريًا لكل شركة. وهذا مهم إذا قام عدة أشخاص بإنشاء فواتير في نفس الوقت، لأن التسلسل يظل آمنًا من ظروف السباق.
هناك تفصيلان مهمان للاستخدام اليومي:
- أرقام الفواتير لكل شركة، ولا تتم مشاركتها عالميًا عبر جميع الحسابات.
- يجب أن يكون كل رقم فاتورة فريدًا داخل نفس الشركة من خلال الجمع بين
company_idوinvoice_number.
PDF الجيل
NomadBill يمكن تصدير الفواتير كـ PDF مستندات للتنزيل أو المشاركة أو التسليم عبر البريد الإلكتروني. يستخدم المحرك PDF بيانات الفاتورة القياسية مع العلامة التجارية لشركتك لإنتاج مستند نهائي.
يستخدم PDF الذي تم إنشاؤه تخطيطًا A4 عموديًا بهوامش 15 ملم ويمكن أن يتضمن:
- شعار الشركة
- لون العلامة التجارية
- جدول البنود
- كتلة المجاميع
- تفاصيل البنك
- تذييل
PDF يدعم الإخراج أيضًا جميع لغات الفاتورة الأربع، لذلك تظهر التسميات باللغة المحددة في الفاتورة. إذا كنت تستخدم تخطيطات PDF مخصصة، فإن NomadBill يدعم أيضًا العرض القائم على القالب.
إرسال الفواتير عبر البريد الإلكتروني
NomadBill يرسل رسائل البريد الإلكتروني الخاصة بالفاتورة من خلال Resend باستخدام noreply@nomadbill.co كعنوان المرسل. يمكنك إرسال إما مستند بالبريد الإلكتروني يحتوي على محتوى HTML ومرفق اختياري PDF، أو بريد إلكتروني على شكل ملخص يسجل تفاصيل التسليم في قاعدة البيانات.
عندما ترسل رسالة بريد إلكتروني تحتوي على ملخص الفاتورة، يقوم NomadBill بتحديث حقول التتبع هذه:
sent_at— متى تم إرسال الفاتورةsent_to— المستلم الذي استلمهاemail_status— اضبط علىsent
يمكن أن يتضمن محتوى البريد الإلكتروني ما يلي:
- رقم الوثيقة
- اسم العميل
- رسالة مخصصة اختيارية
- المبلغ الإجمالي
ويمنحك هذا كلاً من التسليم للخارج ومسار التدقيق الأساسي داخل سجل الفاتورة.
قبول المدفوعات بـ Stripe
قم بتمكين Stripe في الفاتورة عندما تريد من العميل الدفع من خلال صفحة الدفع المستضافة. NomadBill يقوم بإنشاء Stripe جلسة دفع للفاتورة ويرسل العميل إلى Stripe لإكمال الدفع.
كيف يعمل التدفق Stripe
تفعيل Stripe للفاتورة
قم بتشغيل Stripe للفاتورة حتى يتم تفعيل stripe_enabled. يؤدي هذا إلى وضع الفاتورة على أنها مؤهلة للدفع عبر الإنترنت.
بمجرد التمكين، يمكن للفاتورة إنشاء جلسة دفع مستضافة.
قم بإنشاء جلسة الدفع
NomadBill يُنشئ جلسة دفع Stripe من إجمالي الفاتورة. يتم تحويل المبلغ المرسل إلى Stripe إلى سنتات باستخدام Math.round(total_amount * 100)، ويتم تحويل رمز العملة إلى أحرف صغيرة لـ Stripe API.
وهذا يضمن حصول Stripe على المبلغ بالتنسيق الذي يتوقعه.
إعادة توجيه العميل إلى Stripe
تتم إعادة توجيه العميل إلى صفحة الخروج المستضافة Stripe لإكمال الدفع بشكل آمن. لا تحتاج إلى جمع تفاصيل البطاقة مباشرة داخل صفحة الفاتورة.
تعني إعادة التوجيه الناجحة أن العميل يكمل الآن الدفع على Stripe.
التعامل مع النجاح أو الإلغاء
بعد الدفع، Stripe يعيد العميل إلى أحد طريقين للفاتورة:
- النجاح:
/invoices/$id/pay/success - إلغاء:
/invoices/$id/pay/cancel
تؤكد صفحة النجاح الدفع وتؤدي إلى تتبع الشراء. تتيح صفحة الإلغاء للعميل المحاولة مرة أخرى.
قم بتحديث الفاتورة بعد تأكيد webhook
عندما يرسل Stripe حدث checkout.session.completed webhook، يقوم NomadBill بتحديث الفاتورة إلى payment_status=paid وstatus=paid.
تحديث خطاف الويب هذا هو ما ينهي الحالة المدفوعة داخل NomadBill.
الفواتير المتكررة
تتيح لك الفواتير المتكررة وضع علامة على الفاتورة كجزء من نمط الفوترة المتكررة. NomadBill يخزن هذا بالعلم is_recurring والقيمة recurring_frequency.
الترددات المتكررة المدعومة هي:
- weekly
- monthly
- quarterly
- yearly
الفواتير المتكررة هي بيانات وصفية فقط. NomadBill لا يقوم بتشغيل وظيفة cron تلقائية ولا يقوم بإنشاء فواتير جديدة وفقًا لجدول زمني من هذه العلامة وحدها.
استخدم الإعدادات المتكررة لتسمية وتنظيم الفواتير المتكررة، ولكن لا تعتمد عليها كمحرك اشتراك تلقائي.