Nordlet

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

ربط الحسابات المصرفية

ربط البنك عبر الخدمات المصرفية المفتوحة (open banking)، وربط حساباته، واختيار قالب استيراد، ومزامنة المعاملات في دفتر الأستاذ.

يتناول هذا الدليل كيفية الاتصال المباشر بالبنك عبر الخدمات المصرفية المفتوحة (PSD2 open banking)، وكيفية ربط حسابات البنك بدفتر الأستاذ (ledger)، وضمان قيام كل عملية مزامنة بإنشاء الشركاء (partners)، ومطابقة الفواتير، وترحيل الرسوم من خلال قالب الاستيراد، بالإضافة إلى توضيح النتائج التي تعيدها عملية المزامنة. تفاصيل واجهة برمجة التطبيقات (API) متاحة في قسم استيرادات البنوك والمدفوعات. أما في حال استخدام ملفات كشوف الحساب بدلاً من الاتصال المباشر، فيرجى مراجعة استيراد كشوف الحسابات المصرفية (camt.053).

1. ربط البنك

من خلال الانتقال إلى البنك (Bank) ← الاتصالات (Connections)، حدد الدولة واضغط على إظهار البنوك (Show banks). اختر بنكك ونوع صاحب الحساب (شركة أو فرد)، ثم اضغط على اتصال (Connect). سيتم توجيهك إلى صفحة الموافقة الخاصة بالبنك، حيث يتعين عليك تسجيل الدخول والموافقة على الوصول، ليقوم البنك بعد ذلك بإعادتك إلى Nordlet. سيظهر الاتصال في القائمة مرفقاً بتاريخ انتهاء صلاحية الموافقة. تخضع الموافقات لمدد زمنية محددة يفرضها البنك (عادة 90 أو 180 يوماً)؛ وعند انتهاء صلاحية إحداها، يلزم إعادة الاتصال.

تُستمد قائمة البنوك من مزود الخدمات المصرفية المفتوحة المُعد مسبقاً لبيئة عمل Nordlet. وإذا لم تظهر أي بنوك للدولة المحددة، فهذا يعني أن المزود لا يغطيها حتى الآن.

2. ربط حسابات البنك

تحت كل اتصال، تُعرض الحسابات التي يوفرها البنك متبوعة برقم الحساب المصرفي الدولي (IBAN) والعملة. لكل حساب، حدد حساباً مصرفياً موجوداً مسبقاً في دفتر الأستاذ أو اختر إنشاء حساب مصرفي جديد (Create a new bank account)، ويمكنك اختيارياً تحديد تاريخ البدء للمزامنة، ثم اضغط على ربط (Link). تتم مزامنة الحسابات المرتبطة فقط. وفي حال عدم تحديد تاريخ لبدء المزامنة، ستقوم المزامنة الأولى جلب المعاملات الخاصة بالأيام الـ 90 الأخيرة.

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

من خلال الانتقال إلى البنك (Bank) ← قوالب الاستيراد (Import templates)، اضغط على قالب استيراد جديد (New import template)، واختر نوع اتصال بنكي (Bank connection)، ثم أُعطهِ اسماً. تُمثل الصفوف الخصائص التي يعيدها التدفق المصرفي لكل معاملة. يُحتفظ بمربع مطلوب في الملف (Required in file) للاكتمال فقط، حيث لا يتم التحقق من صحة التدفق المباشر وفقه.

حساب دفتر الأستاذ (Ledger account). يمكن تعيين صف المبلغ البسيط transaction_amount.amount وصفوف القواعد إلى حساب في دفتر الأستاذ؛ حيث يتم ترحيل كل معاملة تمت مزامنتها والناتجة عن صف مُعيّن فوراً ووسمها بأنها مطابقة للقيد اليومي. تعمل صفوف القواعد على اختيار المعاملات بناءً على رمز المعاملة المصرفية أو الاتجاه:

الصف الاختيار الحساب النموذجي
الرسوم البنكية (الرمز CHRG) المعاملات التي تنتمي عائلة رموزها إلى CHRG مصروفات الرسوم البنكية (6800 في الدليل النموذعي)
الفوائد (الرمز INTR) عائلة الرمز INTR إيرادات أو مصروفات الفوائد
الضرائب (الرمز TAXE) عائلة الرمز TAXE المدفوعات الضريبية
المبالغ الصادرة الأخرى أي مدينة أخرى يُترك الخيار "غير مرحل" لتتم مطابقة المدفوعات مع فواتير المشتريات
المبالغ الواردة الأخرى أي دائنة أخرى يُترك الخيار "غير مرحل" لتتم مطابقة المقبوضات مع فواتير المبيعات
transaction_amount.amount كل معاملة لم يلتقطها أي قاعدة عادة ما يكون "غير مرحل"

يتم ترحيل المعاملة إلى حساب الصف الأول الذي تطابقه: عائلة الرمز خاصتها، ثم اتجاهها، ثم صف المبلغ البسيط. يُستمد الرمز من حقل bank_transaction_code الخاص بالبنك؛ أما البنوك التي لا ترسل أي رموز فتترك صفوف الرمز دون مطابقات.

إنشاء العملاء أو الموردين المفقودين. حدد خيار إنشاء العملاء المفقودين (Create missing customers) على صف debtor.name لإنشاء عميل مقابل كل دافع غير معروف للأموال الواردة، وخيار إنشاء الموردين المفقودين (Create missing suppliers) على صف creditor.name مقابل كل مستلم غير معروف للأموال الصادرة. يتم التعرف على الشركاء بواسطة رقم الحساب المصرفي الدولي (debtor_account.iban / creditor_account.iban، المُخزّن في الحسابات المصرفية للشريك)، ثم بالاسم المطابق تماماً؛ والشريك الذي يتم العثور عليه عن طريق الاسم سيتم إضافة رقم الحساب المصرفي إليه. يُعتبر الشريك الجديد شركة إذا تضمّن اسمه شكلاً قانونياً (مثل UAB، MB، SIA، GmbH، Ltd، …) وإلا فيُعتبر فرداً.

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

ربط الفواتير بهذا الحقل. حدد هذا الخيار على صف remittance_information أو reference_number. كل معاملة جديدة يحتوي نص الحوالة أو المرجع فيها على رقم فاتورة مبيعات صادرة مفتوحة (أموال واردة) أو فاتورة مشتريات مسجلة (أموال صادرة) تتم مطابقتها معها وترحيل الدفع. عندما يكون الدافع شريكاً معروفاً (عبر رقم IBAN محفوظ أو عبر اسم أو رمز الشريك بدقة)، يجب أن تخصص الفوعة لذلك الشريك حصراً. أما الدفع الوارد من دافع غير معروف فلا تتم مطابقته إلا إذا كان مساوياً للرصيد المتبقي وكان رقم الفاتورة يتضمن بادئة السلسلة الخاصة بها. لا تتم أبداً مطابقة الدفع الذي يتجاوز الرصيد المتبقي. المعاملات التي تفشل في اجتياز هذه الشقق تظل غير مطابقة لتتولى مطابقتها يدوياً. خيار إنشاء فواتير دفع مقدم للفواتير الواردة غير المطابقة (Create advance invoices for unmatched incoming payments) يحول المقبوضات غير المطابقة من شريك معروف إلى فاتورة مبيعات مقدمة صادرة بالقيمة المذكورة، ومؤرخة بتاريخ الدفع، وبالنسبة لضريبة القيمة المضافة المحددة أو عنصر الكטלوج المُختار؛ ويتطلب هذا الخيار تفعيل إنشاء العملاء المفقودين لكي يكون الشريك معروفاً.

احفظ القالب.

4. تطبيق القالب واختيار الجدول الزمني

بالعودة إلى البنك (Bank) ← الاتصالات (Connections)، يحتوي كل حساب مرتبط على قائمة منسدلة لاختيار القالب وأخرى للجدول الزمني. اختر القالب، واختر مزامنة يدوية (Sync manually)، أو مزامنة يومية (Sync daily)، أو مزامنة أسبوعية (Sync weekly)، أو مزامنة شهرية (Sync monthly)، ثم اضغط على تطبيق (Apply). الحساب المرتبط الذي يخلو من قالب ستتم مزامنته، لكنه سيسجل المعاملات فقط دون ترحيل أو مطابقة أو إنشاء أي عناصر.

مع تفعيل الجدول الزمني اليومي أو الأسبوعي أو الشهري، تقوم واجهة برمجة التطبيقات بمزامنة الحساب تلقائياً: فمرة كل ساعة، تبحث عن الحسابات التي تجاوزت فترة مزامنتها الأخيرة دورتها الزمنية (24 ساعة، أو 7 أيام، أو 30 يوماً) وتجري مزامنتها تماماً كما تفعل مزامنة الآن (Sync now)، مع تشغيل القالب تلياً. تُحسب المزامنة المجدولة ضمن الاستخدام تماماً كالطلب اليدوي (كل 10 معاملات مُسترجعة تُحتسب كطلب واحد). وإذا رفض البنك المزامنة، كأن تكون الموافقة قد انتهت صلاحيتها مثلاً، سيُوسم الاتصال بالخطأ ويتم تخطيه حتى تعيد ربطه من جديد.

5. المزامنة

اضغط على مزامنة الآن (Sync now) في قسم الاتصال. ستقوم Nordlet بجلب المعاملات المُرحلة الجديدة لكل حساب مرتبط؛ بينما تُتجاوز المعاملات المعلقة حتى يقوم البنك بترحيلها. يجري جلب المعاملات (منذ آخر مزامنة، مع تداخل لمدة أسبوع لضمان عدم تفويت الترحيلات المتأخرة)، وتسجيلها لمرة واحدة - حيث يُتعرف على المعاملات بواسطة مرجع قيد البنك - ثم يُنفّذ قالب الحساب. يُظهر سطر النتيجة عدد المعاملات المستوردة وتلك التي كانت موجودة مسبقاً؛ وعبر واجهة برمجة التطبيقات، تعيد المزامنة أيضاً عدد الحركات المُرحلة، والشركاء المُنشأين، والفواتير المرتبطة والمُنشأة، والمدفوعات المطابقة، بالإضافة إلى التحذيرات الخاصة بالمدفوعات التي تعذرت مطابقتها.

يمكن تشغيل المزامنة من واجهة برمجة التطبيقات (bank/feeds/sync) وفق جدول زمني؛ حيث يُحتسب كل 10 معاملات مُسترجعة كطلب واجهة برمجة تطبيقات واحد.

6. إلى أين تتجه لاحقاً

  • البنك (Bank) ← المعاملات (Transactions) - جميع المعاملات التي تمت مزامنتها، مصنفة حسب تبويبات الحسابات؛ وتلك المطابقة ترتبط بالفاتورة أو القيد اليومي.
  • الفواتير (Invoices) - فواتير الدفع المقدم المُنشأة للمقبوضات غير المطابقة.
  • الشركاء (Partners) - العملاء والموردين المُنشأين، حيث يتضمن كل منهم رقم IBAN تحت الحسابات المصرفية.
  • دفتر الأستاذ (Ledger) ← دفتر اليومية (Journal) - قيود الترحيل للرسوم (مع تعيين البنك كشريك)، والفوائد، والضرائب، والمدفوعات.

عند توقف الاتصال عن العمل

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