تنتهي كل جلسة شحن مدفوعة بوثيقة واحدة تحدد من يدفع لمن وكم: سجل تفاصيل الشحن أو CDR. لا يراه السائق مباشرة، لكن الفواتير وتسويات التجوال والتقارير الضريبية والنزاعات كلها تعتمد عليه، وعندما تكون السجلات خاطئة تضيع الأموال بصمت وتتضرر العلاقات مع الشركاء.
يشرح هذا الدليل محتوى سجل CDR، وكيف يبنيه نظام CSMS من بيانات OCPP، وكيف تطابقه مع الشركاء.
- سجل CDR هو السجل النهائي غير القابل للتغيير لجلسة شحن مكتملة.
- يُبنى من بيانات المعاملة والعداد في OCPP مع التعرفة المطبقة.
- لا يُعدّل السجل بعد إرساله، وتتم التصحيحات بسجلات دائنة.
- المطابقة الشهرية مع بيانات جلساتك تمنع تسرب الإيرادات بصمت.
ما هو سجل CDR؟
يصف سجل CDR جلسة الشحن بعد انتهائها: من شحن، وأين، ومتى، وكم من الطاقة سُلّم، وما الأسعار المطبقة، وما التكلفة الإجمالية. وفي التجوال يرسل المشغّل السجلات إلى مزود الخدمة الذي يستخدمها لفوترة سائقه والدفع للمشغّل، وداخليًا يمثل السجل نفسه أساس فواتيرك وتقاريرك. أما نظيره المباشر أثناء الشحن فهو كائن الجلسة، المشروح في دليلنا عن وحدات OCPI 2.2.1.
الحقول الأساسية في سجل CDR وفق OCPI
| الحقل | المحتوى |
|---|---|
| id | معرّف فريد للسجل يحدده المشغّل |
| start_date_time / end_date_time | بداية الجلسة ونهايتها بتوقيت UTC |
| session_id | ربط بالجلسة المعنية |
| cdr_token | الرمز المستخدم: معرّف RFID أو رمز التطبيق ومعرّف العقد |
| auth_method | طريقة التفويض، مثل القائمة البيضاء أو التفويض اللحظي |
| cdr_location | العنوان والإحداثيات ومعرّف EVSE وبيانات الموصل وقت الشحن |
| currency وtariffs | العملة والتعرفات المطبقة |
| charging_periods | فترات زمنية بأبعاد الطاقة والوقت والوقوف |
| signed_data | قراءات عداد موقعة اختيارية للتحقق |
| total_cost وtotal_energy وtotal_time وtotal_parking_time | الإجماليات المستخدمة في الفوترة |
| credit وcredit_reference_id | تحديد السجل الدائن وربطه بالأصل |
كيف يبني نظام CSMS السجل من OCPP؟
- البدء: يرسل الشاحن StartTransaction (في OCPP 1.6J) أو TransactionEvent بنوع Started (في OCPP 2.0.1) مع قراءة العداد الأولى والمعرّف المفوّض.
- أثناء الشحن: تُبلغ رسائل MeterValues عن الطاقة والقدرة وأحيانًا حالة الشحن بفواصل محددة.
- الإيقاف: توفر StopTransaction أو TransactionEvent Ended القراءة النهائية وسبب الإيقاف وبيانات المعاملة إن ضُبطت.
- التسعير: يطبق النظام التعرفة السارية عند بدء الجلسة على الطاقة والمدة ووقت الانتظار.
- الإنهاء: يُنشأ السجل ويُحفظ ويُرسل إلى الشركاء أو يُستخدم في الفوترة.
وقد شرحنا تدفق الرسائل في مقالنا عن StartTransaction وStopTransaction.
فترات الشحن: التفصيل الخفي
السجل ليس مجرد إجمالي، فالفترات تقسم الجلسة إلى كتل كلما تغيّر بُعد مؤثر في السعر، كانتهاء نافذة تعرفة زمنية أو توقف السيارة عن الشحن مع بقائها موصولة. ويستخدم الشركاء هذه الفترات لإعادة حساب السعر، فإذا لم تطابق فتراتك التعرفة المنشورة لن يتمكن مزود الخدمة من التحقق من إجماليك وسيعترض عليه.
السجلات الدائنة والتصحيحات
السجل المرسل نهائي، فإذا وقع خطأ مثل عطل في العداد أو تعرفة طُبقت خطأً، ترسل سجلًا دائنًا يلغي الأصل ثم سجلًا جديدًا صحيحًا، فيبقى مسار تدقيق يمكن للطرفين تتبعه. ولا تغيّر الإجماليات في قاعدة بياناتك بصمت دون سجل دائن مقابل.
قراءات العداد الموقعة
في الأسواق ذات قواعد القياس الصارمة يمكن للشواحن توقيع قراءات العداد، ليتمكن السائق أو طرف ثالث من التحقق من عدم تغيير قيم الطاقة، ويمكن نقل هذه القيم في حقل signed_data. ويجب أن يدعم العداد والبرنامج الثابت التوقيع، فراجع القواعد المحلية وقدرات أجهزتك.
أسباب شائعة لأخطاء السجلات
- غياب رسائل الإيقاف عند إعادة تشغيل الشاحن أو انقطاع الاتصال، فتبقى الجلسات مفتوحة.
- قراءات عداد تقفز أو تُصفَّر بعد تحديث البرنامج الثابت.
- انحراف ساعة الشاحن، مما ينتج أوقاتًا وأسعارًا زمنية خاطئة.
- تطبيق تغييرات التعرفة على جلسات بدأت قبل التغيير.
- حساب رسوم الانتظار على مدة توصيل الكابل بدلًا من نهاية الشحن، راجع رسوم الانتظار.
- سجلات مكررة بعد إعادة المحاولة دون فحص منع التكرار.
قائمة المطابقة
- قارن عدد الجلسات لكل شريك في نظامك بالسجلات المرسلة والمؤكدة.
- قارن إجمالي الطاقة الشهري لكل شريك مع كشف حسابه.
- افحص الجلسات ذات الطاقة الصفرية أو المدد الطويلة جدًا أو القيم السالبة.
- تحقق من أن كل سجل دائن يشير إلى أصل موجود.
- اتفق مع كل شريك على مهلة وإجراء للاعتراض ووثّقهما.
الحفظ والخصوصية
تحتوي السجلات على بيانات شخصية مثل معرّفات الرموز والمواقع المرتبطة بشخص، فاحفظها طوال المدة التي تتطلبها الالتزامات الضريبية والتعاقدية، وقيّد الوصول إليها، وطبّق قواعد حماية البيانات على التصدير والمشاركة مع الشركاء.
الأسئلة الشائعة
من ينشئ سجل CDR؟
تنشئه منصة المشغّل لأنها تتحكم في الشاحن وبيانات العداد، ويستقبله مزود الخدمة ويستخدمه في الفوترة.
هل يمكن لمزود الخدمة رفض سجل؟
يمكنه الاعتراض عليه وفق اتفاقية الشراكة، والتعرفات الواضحة والقراءات الدقيقة والفترات الصحيحة تقلل النزاعات.
متى يجب إرسال السجل؟
فور إنهاء الجلسة، فالتأخير يؤخر فوترة مزود الخدمة ويصعّب المطابقة.
ينشئ Üreticy سجلات CDR من قراءات OCPP ويطبق تعرفاتك ويحتفظ بسجلات كاملة للتدقيق والمطابقة مع الشركاء. اطلع على مزايا الفوترة والتقارير أو تواصل معنا.
