Nordlet

← الأساسيات / حزم تطوير البرمجيات (SDK)

الاستيراد من Stripe

قم بتصدير المدفوعات من Stripe، وإعداد قالب استيراد، ودع Nordlet يُسجّل الرسوم والعملاء والفواتير والمرتجعات.

يُغطي هذا الدليل عملية استيراد مدفوعات Stripe من خلال قالب الاستيراد: ما الذي يجب تصديره، وكيفية إعداد القالب، وما الذي يُنشئه الاستيراد. تفاصيل واجهة برمجة التطبيقات (API) موجودة في استيرادات البنوك والمدفوعات.

1. تصدير ملف المدفوعات من Stripe

في لوحة تحكم Stripe، افتح Payments → Export، واختر النطاق الزمني، واحتفظ بخيار All columns، وتضمين أعمدة البيانات الوصفية (metadata) التي تستخدمها (يُصدّر Stripe كل مفتاح بيانات وصفية في عمود يحمل الاسم <key> (metadata)، على سبيل المثال orderNo (metadata)). قم بتنزيل ملف CSV. يعمل كل من التصدير في وضع التشغيل الفعلي (live) ووضع الاختبار (test-mode).

يتم تخطي الصفوف التي لم تُجرِ أي تحويل مالي عند الاستيراد: محاولات الدفع التي فشلت، أو تم إلغاؤها، أو التي لا تزال تتطلب وسيلة دفع، والرسوم التي لم تُحصّل قط.

2. إنشاء حساب بانكي لـ Stripe

يستقر كل استيراد في حساب بانكي. تحت Bank، اضغط على New bank account، واختر Type: Stripe (حساب Stripe ليس له رقم حساب بانكي دولي IBAN)، وسَمِّه على سبيل المثال "Stripe"، واختر العملة التي تتقاضى بها وحساب دفتر الأستاذ (ledger account) الخاص بها. يتصرف رصيد Stripe تماماً مثل الحساب البانكي: تأتي الرسوم، وتخرج المصروفات، وتُنقل المدفوعات الرصيد إلى بنكك الحقيقي.

3. إنشاء قالب الاستيراد

تحت Bank → Import templates، اضغط على New import template، واختر النوع Stripe، واكتب اسماً له.

الحقول (Fields). يُعتبر كل عمود من أعمدة تصدير Stripe صفاً. يُشير مربع Required in file إلى أن العمود يجب أن يكون موجوداً في الملف المُحمَّل؛ فإذا كان الملف يفتقر إلى عمود مطلوب، يتم رفضه وتظهر الأسماء المفقودة. يتم إلغاء تحديد أعمدة Card … الـ 19 افتراضياً لأن Stripe يتخلى عنها في بعض الحسابات.

حساب دفتر الأستاذ (Ledger account). الصفوف التي تحمل أموالاً، وهي Amount، وFee، وAmount Refunded، يمكن تعيينها لحساب دفتر الأستاذ، سواء أكان حساباً موجوداً بالفعل أم حساباً جديداً مُنشأً من نفس الصف. يتم ترحيل كل حركة مالية ناتجة عن حقل مُعيَّن وقت الاستيراد: فالأموال الواردة تُدين حساب بنك Stripe وتدائن الحساب المُعيَّن، والأموال الصادرة تفعل العكس، وتُوسَم المعاملة البانكية على أنها مطابقة لذلك القيد اليومي. الإعداد المعتاد هو:

الحقل الحساب التأثير
Fee حساب مصروفات رسوم مزود خدمة الدفع (PSP) (6800 في دليل الحسابات القياسي) يتم تسجيل كل رسوم لـ Stripe كمصروف
Amount اترك خيار "Not posted" (غير مُرحَّل) تبقى الرسوم مفتوحة لمطابقة الفواتير (انظر الخطوة 5)
Amount Refunded اترك خيار "Not posted" (غير مُرحَّل) تتم معالجة المرتجعات من خلال إشعارات الدائن (انظر الخطوة 5)

إنشاء عملاء مفقودين (Create missing customers). حدد هذا الخيار في صف Customer Email. لكل عنوان بريد إلكتروني في الملف لا يزال غير مرتبط بأي شريك، يتم إنشاء عميل جديد: يُستمد الاسم من Customer Description (ويُستخدم البريد الإلكتروني إن كان فارغاً)، ويُستمد العنوان من أعمدة Card Address … إن وُجدت. يتم التعرف على الشركاء الموجودين مسبقاً من خلال البريد الإلكتروني بغض النظر عن حالة الأحرف (case-insensitively)، بحيث لا يتم إنشاء أي شيء مرتين.

إنشاء شريك Stripe (Create partner Stripe). حدد هذا الخيار في صف Fee. يُنشئ الاستيراد شريكاً مورداً يُسمى Stripe مرة واحدة (يتم إعادة استخدام شريك موجود بنفس الاسم إن وُجد) ويُسجّل كل إدخال رسوم في دفتر اليومية مع تعيين Stripe كشريك، بحيث توضح قيود الرسوم الجهة التي تم الدفع لها.

حقول البيانات الوصفية (Metadata fields). أضف صفاً واحداً لكل مفتاح بيانات وصفية تريد أن يقرأه الاستيراد، مثل orderNo على سبيل المثال. يمكن تعيين علامتين على هذه الصفوف:

  • إنشاء أو ربط الفواتير (Create or link invoices) - تحدد المفتاح الذي يُميز الطلب (الخطوة 5). يمكن لصف واحد فقط حمل هذه العلامة. يظهر معدل ضريبة القيمة المضافة (VAT) للفواتير المُنشأة بجانبه، بالإضافة إلى خيار صنف الكتالوج (Catalog item) الاختيارى: عند اختياره، يشير كل سطر فاتورة يُنشئه الاستيراد إلى ذلك المنتج أو الخدمة، بحيث يتم ترحيل الإيراد إلى حساب الصنف؛ بينما يظل نص السطر مستمداً من رسوم الشحن.
  • علامة الشركة (Company flag) - تحدد مفتاحاً تشير قيمته إلى أن المشتري عبارة عن شركة (true، أو 1، أو yes، أو company، أو business، أو b2b). العملاء المُنشأون من هذه الرسوم هم شركاء من نوع شركة؛ وكل ما عدا ذلك يُعتبر أشخاصاً طبيعيين.

احفظ القالب.

4. استيراد الملف

في Bank، اختر حساب بنك Stripe، والقالب، والملف، ثم اضغط على Import. يُظهر الزر مؤشر تحميل (spinner) حتى ينتهي الاستيراد؛ وقد تستغرق الملفات الكبيرة عدة دقائق نظراً لأنه يتم إصدار الفواتير واحدة تلو الأخرى. يوضح سطر النتيجة عدد المعاملات التي تم استيرادها، وعدد المعاملات التي كانت موجودة مسبقاً، وعدد الحركات التي تم ترحيلها، وعدد العملاء والفواتير وإشعارات الدائن التي تم إنشاؤها. تعرض التحذيرات الطلبات التي تعذر معالجتها والسبب وراء ذلك.

إعادة استيراد نفس الملف مرة أخرى تُعد عملية آمنة: حيث يتم التعرف على المعاملات من خلال معرف رسوم Stripe، والعملاء من خلال البريد الإلكتروني، والطلبات من خلال قيمة بياناتها الوصفية.

5. ما الذي تفعله ميزة "إنشاء أو ربط الفواتير" (Create or link invoices)

يتم تجميع الرسوم والمرتجعات حسب قيمة مفتاح البيانات الوصفية المحدد (رقم الطلب).

  • إذا كانت فاتورة مبيعات بنفس تلك القيمة موجودة مسبقاً - طلب مبيعات مرجعه الخارجي هو تلك القيمة، أو فاتورة رقمها هو تلك القيمة - يتم مطابقة الرسوم معها كمدفوعات.
  • وإلا، يتم إنشاء فاتورة مبيعات للعميل: سطر واحد لكل رسم، مع نص سطر الرسم ومبلغ الرسم كإجمالي شامل لضريبة القيمة المضافة بسعر الضريبة الخاص بالقالب، وتؤرخ بتاريخ الرسم الأول. يتم إصدارها وترحيلها على الفور، وتتم مطابقة الرسوم معها، بحيث تظهر كمدفوعة. يتم تسجيل طلب مبيعات بقناة stripe ورقم الطلب، بحيث يقوم الاستيراد التالي بالربط بدلاً من الإنشاء.
  • كل عملية استرداد (refund) في المجموعة تصبح إشعار دائن مُصْدَراً مقابل تلك الفاتورة بالمبلغ المُسترد، وتتم مطابقة معاملة الاسترداد معها.

المجموعات التي تفتقر إلى بريد إلكتروني للعميل، أو التي تحتوي على رسوم بعملات مختلفة، أو التي تظل فاتورتها الحالية مسودة أو مدفوعة بالكامل، يتم تخطيها وإدراجها في قائمة التحذيرات. تظل معاملاتها غير مطابقة تحت Bank → Transactions.

تأتي أرقام الفواتير من سلسلة العام الحالي حتى بالنسبة للرسوم المؤرخة في سنوات سابقة، بحيث لا تتداخل عمليات الاستيراد التاريخية مع الأرقام الحالية.

6. الحقول الستة الاختيارية في أسفل القالب

تترك معظم الشركات الحقول الستة فارغة ويعمل الاستيراد بالشكل المطلوب تماماً. وهي توجد لحالتين ضيقتين: عندما ترغب في تسجيل حجز البطاقات كمستندات، أو عندما تجمع أموالاً تخص شخصاً آخر جزئياً.

لماذا تبدو القوائم المنسدلة فارغة

تُدرج قوائم "نوع العملية" المنسدلة الثلاث أنواع العمليات التي أنشأتها شركتك تحت Account → Operation types. إذا لم تقم بإنشاء أي منها، فلن تحتوي القائمة المنسدلة على أي عناصر. وهذا ليس خطأً؛ قم بإنشاء نوع عملية أولاً، أو اترك الحقل فارغاً.

تُدرج قائمة حقل بيانات المُقرض الوصفية (Lender metadata field) المنسدلة أسماء أعمدة البيانات الوصفية التي كتبتها في قائمة حقول البيانات الوصفية (Metadata fields) الأعلى في نفس النموذج. أضف حقل بيانات وصفية هناك أولاً ليظهر هنا.

تسمية الاسترداد الجزئي وتسمية الاسترداد الكلي

عندما يُنشئ الاستيراد إشعار دائن لعملية استرداد، توفر هذه الحقول الكلمة المطبوعة في أعلى ملف PDF الخاص بإشعار الدائن هذا.

الحالة الكلمة المستخدمة الافتراضي
الاسترداد أقل من إجمالي الفاتورة تسمية الاسترداد الجزئي DEPOZITAS
الاسترداد يساوي إجمالي الفاتورة تسمية الاسترداد الكلي ANULIAVIMAS

قم بتغييرها فقط إذا كانت شركتك تطبع كلمات مختلفة على مثل هذه المستندات. وهي لا تؤثر على الترقيم ولا على المحاسبة.

نوع عملية التفويض (Authorization operation type)

تفويض البطاقة هو أموال محجوزة على بطاقة العميل لم تقم بسحبها بعد. في تصدير Stripe، تحتوي هذه الصفوف على Captured مضبوطاً على false. يتجاهل الاستيراد هذه الصفوف عادةً، نظراً لعدم تحرك أي أموال.

قم بتعبئة هذا الحقل ليصبح كل صف من هذا القبيل مستند مبيعات مُصْدَراً، باستخدام نوع العملية هذا وسلسلة المستندات التي يشير إليها نوع العملية هذا. اتركه فارغاً ليتم تخطي هذه الصفوف، وتظهر نتيجة الاستيراد تحذير "authorization(s) skipped: template has no authorization operation type".

إذا لم تكن تعلم مسبقاً أن عملك يحتاج إلى إظهار الحجوزات كمستندات، فاتركه فارغاً.

نوع عملية الدفع (Payout operation type)، ونوع عملية العمولات (Commission operation type)، وحقل بيانات المُقرض الوصفية (Lender metadata field)

تخطي هذا الجزء بالكامل إلا إذا كان عملك يجمع أموالاً تخص شخصاً آخر - مثل سوق إلكتروني (marketplace) يدفع للبائعين، أو منصة تدفع للمُقرضين. المحل العادي لا يملأ هذه الحقول أبداً.

يسرد Stripe هذه القصة في ملفين. يوضح تصدير المدفوعات (payments) ما دفعه كل عميل. ويوضح تصدير التحويلات (transfers) المنفصل المبلغ الذي أرسلته إلى الطرف الآخر. يحتاج الاستيراد إلى كليهما لمعرفة ما احتفظت به لنفسك.

في Bank، يُظهر نموذج الاستيراد مربع ملف Stripe transfers export عندما يوجد قالب Stripe واحد على الأقل؛ اختر ملف التحويلات هناك بجانب ملف المدفوعات. من خلال واجهة برمجة التطبيقات، هو حقل transfersCsv في bank/statements/import.

عند توفر الملفين معاً:

الحقل ما يفعله
نوع عملية الدفع (Payout operation type) لكل تحويل إلى الطرف الآخر، يتم كتابة قيد دفتر أستاذ واحد بالمبلغ المحول. يأتي حساب المدين والدائن من نوع العملية هذا. إذا تُرك فارغاً، يستخدِم القيد قواعد ترحيل مستحقات الدفع للبائع والمورد بدلاً من ذلك.
نوع عملية العمولات (Commission operation type) الجزء الذي تحتفظ به، ويُحسب كمبلغ الرسم مطروحاً منه رسوم Stripe مطروحاً منه المبلغ المحول للخارج، ولا يُكتب إلا عندما يكون أكبر من الصفر. تأتي الحسابات من نوع العملية هذا، وإلا فمن قواعد ترحيل مستحقات الدفع للبائع وإيرادات العمولات.
حقل بيانات المُقرض الوصفية (Lender metadata field) اسم عمود البيانات الوصفية لـ Stripe الذي يحتفظ بالجهة التي ذهبت إليها الأموال. يتم إنشاء شريك بهذه القيمة، أو إعادة استخدامه إذا كان موجوداً، وتعيينه على كلا القيدين أعلاه. إذا تُرك فارغاً، أو في صف بدون قيمة، يعطي تحذير "lender not identified" ويتم كتابة القيد بدون شريك.

إذا كان كلا حقلي نوع العملية فارغين، فلن يتم كتابة أي قيود تحويل أو عمولة على الإطلاق، بغض النظر عن أي إعدادات أخرى.

7. المدفوعات إلى بنكك

لا يحتوي تصدير المدفوعات على صفوف مدفوعات نقدية (payouts)، لذا يتم تسجيل الأموال التي يرسلها Stripe إلى بنكك الحقيقي من تقرير المدفوعات بدلاً من ذلك. في لوحة تحكم Stripe، افتح Reports → Payouts → Payout reconciliation, itemized، وقم بتنزيله، واستيراده تحت Bank → Settlements على حسابك البانكي الحقيقي، ثم قم بترحيل كل عملية دفع (payout).

لكل سطر دفع وضع استيراد المدفوعات هذا رسومه، أو مبالغه المستردة على حساب بنك Stripe مسبقاً، ينقل الترحيل صافي مبلغ السطر من حساب بنك Stripe إلى الحساب البانكي الحقيقي. لا يتم تسجيل الرسوم ومدفوعات الفواتير مرتين. أما الأسطر التي دفعها Stripe ولم يراها هذا الاستيراد قط، فيتم تسجيلها كما هو موضح في استيرادات البنوك والمدفوعات.

يعرض كل سطر دفع الفرق عن المدفوعات المستوردة (Difference to imported payments): وهو ما نقلته عملية الدفع مطروحاً منه ما يحتفظ به حساب بنك Stripe لنفس الرسوم والمرتجعات. الصفر يعني أن الدفعة تُصفي حساب Stripe. السطر الذي يحتوي على فرق، أو الذي يحتوي على حركة في حساب Stripe لم تُرحَّل بعد، يتم حسابه ضمن الأسطر المراد فحصها (Lines to check). يحتفظ تصدير المدفوعات بإجمالي المبلغ المسترد لكل رسم فقط، لذا تتم مقارنة جميع أسطر الاسترداد الخاصة برسم واحد معاً مقابل هذا الإجمالي.

إذا تم ترحيل عملية دفع قبل استيراد ملف المدفوعات، يتخطى الاستيراد الرسوم والعمولات والمرتجعات الخاصة بتلك الدفعة ويذكرها بالاسم في التحذيرات.

8. أين تبحث لاحقاً

  • Bank → Transactions - كل حركة مُستوردة؛ الحركات المطابقة ترتبط بالفاتورة أو قيد اليومية.
  • Invoices - الفواتير المُنشأة وإشعارات الدائن، مع رقم الطلب في الملاحظات.
  • Partners - العملاء المُنشأون.
  • Ledger → Journal - قيود الترحيل الخاصة بالرسوم والمدفوعات والفواتير.

الفوترة (Billing)

الملفات التي يصل حجمها إلى 10 ميجابايت و50,000 حركة. تُحتسب كل 10 حركات مستوردة كطلب واجهة برمجة تطبيقات (API) واحد.