at_aziz قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 السلام عليكم ورحمة الله وبركاتة اخواني كما تعلمون ان الهيئة العامة للزكاة والدخل في السعوديه بدأت بتطبيق الفاتوره الاكترونيه على جميع التجار واصحاب المحلات التجاريه ونقاط البيع وجعلت لهذه المرحله مرحلتين الاولي ابتداء من اليوم الهيئة العامة للزكاة والدخل راح تجبر التجار وأصحاب المحلات على تطبيق متطلبات الفاتوره الاكترونيه ولابد من وجود كود الاستجابه السريع QR CODE ويحمل اسم المورد رقم الاشتراك مبلغ الضريبه اجمالي مبلغ الفاتوره شامل الضريبة هذي طلباتهم في الوقت الحالي وبالنسبة لهذا الموضوع تم حله في موضوع اخونا الغالي اباجودي جزاه الله خير وبارك فيه https://www.officena.net/ib/topic/111831-شخابيط-وافكار-qr-code-فكرة-جديدة-☺/ وهذا شكل من اشكال الفاتوره الاكترونيه لااحد البرامج عندي بعد مساعدة الفاضل اباجودي المرحلة الثانيه بعد 13 شهر تقريبا الهيئة العامة للزكاة والدخل في السعوديه راح تجبر التجار على ربط الفاتوره الاكترونيه بموقع الهيئة العامة للزكاة والدخل ولا بد ان الفاتوره تكون مشفره بصيغة معينه وراح يعتمدون الفاتروه الاكترونيه بصيغة XML مرفق لكم رابط الدليل الارشادي للفاتوره الاكترونيه من موقع الهيئة العامة للزكاة والدخل يمكن الاطلاع عليه وفهم المتطلبات الدليل الارشادي للفاتوره الاكترونية مصدر الدليل من موقع الهيئة العامه للزكاة والدخل الموضوع المهم الان والحقيقه مشغل بالي من فتره كيف يتم تطبيق المرحله الثاني مرحلة تشفير الفاتوره الاكترونيه على الاكسس وماهو الكود المناسب لذلك كثير من المبرمجين لديهم برامج معموله على الاكسس وتعمل عند عملائهم بعد فتره اذا الاكسس لم يخدم المرحله الثانيه ماراح يكون فيه فايده وراح يخسر المبرمج عملائه وراح العميل يضطر انه يجيب برنامج جديد متوافق مع متطلبات مصلحة الزكاة والدخل ارجو من الجميع مناقشة حلول هذه المشكله حتى تعم الفائده للجميع بارك الله فيكم وجزاكم الله خير 1
ابوخليل قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 هذه محاول لتطبيق المرحلة الثانية تشفير البيانات ولكن التشفير لا يدعم العربية .. آمل من الاساتذتي الكرام ايجاد الحلول ايضا عنوان المؤسسة مقيد بـــ 12 حرف آمل ايضا من اساتذتي فك القيد ملحوظة : حمل تطبيق الهيئة من المتجر ( هو عبارة عن كيمرا لقراءة الكيو آر ) اسمه : E-Invoice Qr Reader استدراك : المثال المرفق امتداد لموضوع ابو جودي هنا DataQr.rar 1 1
د.كاف يار قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 37 دقائق مضت, at_aziz said: وهذا شكل من اشكال الفاتوره الاكترونيه لااحد البرامج عندي للأسف هذه غير مطابقة للمواصفات لو رجعنا الى الدليل الارشادي للمطورين ستجد بأن الأرقام لابد ان تكون هندية الصحيح بأن تبدء من الآن في جدولة الأعمال لكي تصل للنتيجة قبل الوقت المحدد ! مرفق المواصفات الفنية لقواعد البيانات و مخراجت ملف XML الموضوع بسيط 442806521_20210528_ZATCA_Electronic_Invoice_XML_Implementation_Standard_vShared(1).pdf 3
د.كاف يار قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 و بما ان الموضوع مطروح للنقاش آمل من ان نتشارك بتطوير نظام للحصول على مخراجات المرحلة الأولى من الفاتورة الالكترونية الدليل به ادق التفاصيل المساعدة 8.1 Introduction This chapter describes the different VAT information that can be provided in an electronic invoice. Please also see VAT category codes for details on the VAT category code list, and Calculation of VAT for detailed explanation and example on how to perform the calculations for VAT Breakdown. 2
at_aziz قام بنشر ديسمبر 4, 2021 الكاتب قام بنشر ديسمبر 4, 2021 37 دقائق مضت, د.كاف يار said: للأسف هذه غير مطابقة للمواصفات لو رجعنا الى الدليل الارشادي للمطورين ستجد بأن الأرقام لابد ان تكون هندية استاذي الكريم انا تابعت المحاضرات للمسؤولين في مصلحة الزكاة اللي فهمته منهم ان المرحلة الاولي المطلوب وضع كود الاستجابه السريع QR على الفاتوره ويحمل البيانات المطلوبه هذا الملطلوب فقط في المرحله الاولي والفاتوره المرفقه اعلا تخص هذا للمرحله الاولي ولو فتحت رابط الدليل الارشادي المرفق اعلاه لتبين لك ذلك نحن الان مشكلتنا بالتشفير وXML وربط الفاتوره مباشره في موقع مصلحة الزاكاة في المرحلة الثانيه
محب العقيدة قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 انا ما اعرف ولا حاجة عن قوانبن السعودية لكن رايت فيديد لالية التشفير لنظام الضريبة الجديد في للسعودبة اظن ان تطبيقه سهل لم اجرب لكن حسب الفيديو احسبه سهل وربما يكون العكس https://youtu.be/yEIuP5ZiacY 1
د.كاف يار قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 50 دقائق مضت, at_aziz said: ان المرحلة الاولي المطلوب وضع كود الاستجابه السريع QR بهذا تكون المشكلة انتهت ما راح تحتاج تطبق باقي الفاتورة 50 دقائق مضت, at_aziz said: نحن الان مشكلتنا بالتشفير وXML وربط الفاتوره كيف تنفذ هذه بدون المواصفات الفاتورة الكترونية اذا فأنت بحاجة post and get كذلك استدعاء API فلن تستطيع استقبال post رقم فاتورة اذا لم تكن برمجيا مستوفي الشروط الدنيا يجب ان تقرأ المواصفات جيدا حتى تتمكن من انشاء الفاتورة الالكتروني الموضوع ليس كما تفضلت به مجرد كود استجابة سريع منذ ساعه, ابو جودي said: طيب مبدئيا انا مش فاهم اى شئ ولا اعرف اى شئ عن موضوع التشفير ده ولكن بالبحث على الانترنت وجدت ذلك فهل ذلك هو المطلوب Private Const clOneMask = 16515072 '000000 111111 111111 111111 Private Const clTwoMask = 258048 '111111 000000 111111 111111 Private Const clThreeMask = 4032 '111111 111111 000000 111111 Private Const clFourMask = 63 '111111 111111 111111 000000 Private Const clHighMask = 16711680 '11111111 00000000 00000000 Private Const clMidMask = 65280 '00000000 11111111 00000000 Private Const clLowMask = 255 '00000000 00000000 11111111 Private Const cl2Exp18 = 262144 '2 to the 18th power Private Const cl2Exp12 = 4096 '2 to the 12th Private Const cl2Exp6 = 64 '2 to the 6th Private Const cl2Exp8 = 256 '2 to the 8th Private Const cl2Exp16 = 65536 '2 to the 16th Public Function Encode64(sString As String) As String Dim bTrans(63) As Byte, lPowers8(255) As Long, lPowers16(255) As Long, bOut() As Byte, bIn() As Byte Dim lChar As Long, lTrip As Long, iPad As Integer, lLen As Long, lTemp As Long, lPos As Long, lOutSize As Long For lTemp = 0 To 63 'Fill the translation table. Select Case lTemp Case 0 To 25 bTrans(lTemp) = 65 + lTemp 'A - Z Case 26 To 51 bTrans(lTemp) = 71 + lTemp 'a - z Case 52 To 61 bTrans(lTemp) = lTemp - 4 '1 - 0 Case 62 bTrans(lTemp) = 43 'Chr(43) = "+" Case 63 bTrans(lTemp) = 47 'Chr(47) = "/" End Select Next lTemp For lTemp = 0 To 255 'Fill the 2^8 and 2^16 lookup tables. lPowers8(lTemp) = lTemp * cl2Exp8 lPowers16(lTemp) = lTemp * cl2Exp16 Next lTemp iPad = Len(sString) Mod 3 'See if the length is divisible by 3 If iPad Then 'If not, figure out the end pad and resize the input. iPad = 3 - iPad sString = sString & String(iPad, Chr(0)) End If bIn = StrConv(sString, vbFromUnicode) 'Load the input string. lLen = ((UBound(bIn) + 1) \ 3) * 4 'Length of resulting string. lTemp = lLen \ 72 'Added space for vbCrLfs. lOutSize = ((lTemp * 2) + lLen) - 1 'Calculate the size of the output buffer. ReDim bOut(lOutSize) 'Make the output buffer. lLen = 0 'Reusing this one, so reset it. For lChar = LBound(bIn) To UBound(bIn) Step 3 lTrip = lPowers16(bIn(lChar)) + lPowers8(bIn(lChar + 1)) + bIn(lChar + 2) 'Combine the 3 bytes lTemp = lTrip And clOneMask 'Mask for the first 6 bits bOut(lPos) = bTrans(lTemp \ cl2Exp18) 'Shift it down to the low 6 bits and get the value lTemp = lTrip And clTwoMask 'Mask for the second set. bOut(lPos + 1) = bTrans(lTemp \ cl2Exp12) 'Shift it down and translate. lTemp = lTrip And clThreeMask 'Mask for the third set. bOut(lPos + 2) = bTrans(lTemp \ cl2Exp6) 'Shift it down and translate. bOut(lPos + 3) = bTrans(lTrip And clFourMask) 'Mask for the low set. If lLen = 68 Then 'Ready for a newline bOut(lPos + 4) = 13 'Chr(13) = vbCr bOut(lPos + 5) = 10 'Chr(10) = vbLf lLen = 0 'Reset the counter lPos = lPos + 6 Else lLen = lLen + 4 lPos = lPos + 4 End If Next lChar If bOut(lOutSize) = 10 Then lOutSize = lOutSize - 2 'Shift the padding chars down if it ends with CrLf. If iPad = 1 Then 'Add the padding chars if any. bOut(lOutSize) = 61 'Chr(61) = "=" ElseIf iPad = 2 Then bOut(lOutSize) = 61 bOut(lOutSize - 1) = 61 End If Encode64 = StrConv(bOut, vbUnicode) 'Convert back to a string and return it. End Function Public Function Decode64(sString As String) As String Dim bOut() As Byte, bIn() As Byte, bTrans(255) As Byte, lPowers6(63) As Long, lPowers12(63) As Long Dim lPowers18(63) As Long, lQuad As Long, iPad As Integer, lChar As Long, lPos As Long, sOut As String Dim lTemp As Long sString = Replace(sString, vbCr, vbNullString) 'Get rid of the vbCrLfs. These could be in... sString = Replace(sString, vbLf, vbNullString) 'either order. lTemp = Len(sString) Mod 4 'Test for valid input. If lTemp Then Call Err.Raise(vbObjectError, "MyDecode", "Input string is not valid Base64.") End If If InStrRev(sString, "==") Then 'InStrRev is faster when you know it's at the end. iPad = 2 'Note: These translate to 0, so you can leave them... ElseIf InStrRev(sString, "=") Then 'in the string and just resize the output. iPad = 1 End If For lTemp = 0 To 255 'Fill the translation table. Select Case lTemp Case 65 To 90 bTrans(lTemp) = lTemp - 65 'A - Z Case 97 To 122 bTrans(lTemp) = lTemp - 71 'a - z Case 48 To 57 bTrans(lTemp) = lTemp + 4 '1 - 0 Case 43 bTrans(lTemp) = 62 'Chr(43) = "+" Case 47 bTrans(lTemp) = 63 'Chr(47) = "/" End Select Next lTemp For lTemp = 0 To 63 'Fill the 2^6, 2^12, and 2^18 lookup tables. lPowers6(lTemp) = lTemp * cl2Exp6 lPowers12(lTemp) = lTemp * cl2Exp12 lPowers18(lTemp) = lTemp * cl2Exp18 Next lTemp bIn = StrConv(sString, vbFromUnicode) 'Load the input byte array. ReDim bOut((((UBound(bIn) + 1) \ 4) * 3) - 1) 'Prepare the output buffer. For lChar = 0 To UBound(bIn) Step 4 lQuad = lPowers18(bTrans(bIn(lChar))) + lPowers12(bTrans(bIn(lChar + 1))) + _ lPowers6(bTrans(bIn(lChar + 2))) + bTrans(bIn(lChar + 3)) 'Rebuild the bits. lTemp = lQuad And clHighMask 'Mask for the first byte bOut(lPos) = lTemp \ cl2Exp16 'Shift it down lTemp = lQuad And clMidMask 'Mask for the second byte bOut(lPos + 1) = lTemp \ cl2Exp8 'Shift it down bOut(lPos + 2) = lQuad And clLowMask 'Mask for the third byte lPos = lPos + 3 Next lChar sOut = StrConv(bOut, vbUnicode) 'Convert back to a string. If iPad Then sOut = Left$(sOut, Len(sOut) - iPad) 'Chop off any extra bytes. Decode64 = sOut End Function يا سلام عليك فعلا انت استاذ و رئيس قسم من الطراز الفاخر فهلا هذا مطابق للمواصفات
at_aziz قام بنشر ديسمبر 4, 2021 الكاتب قام بنشر ديسمبر 4, 2021 https://www.youtube.com/watch?v=_cXfTqGWPKo&ab_channel=zatca_sa هذا شرح عن الفاتوره الاكترورنيه من نفس قناة مصلحة الزكاة والدخل يوضح فيه كل المتطلبات ارجو الاطلاع عليه وفهم المطلوب
ابوخليل قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 16 دقائق مضت, ابو جودي said: هل دالة التشفير تلك هى المطلوبة برجاء التأكد من ان البيانات التى يتم الحصول عليها فى الستعلام هى البيانات الصحيحة بعد التشفير افتح مثالي في مشاركتي على التقرير حمل التطبيق هذا على هاتفك ثم اقرأ الكيو آر ،،، حاول تقرأه ايضا من قارىء للباركود آخر لترى الفرق رمز الكيو آر في مثالي مشفر حسب طلب الهيئة ، ولكن يوجد فيه بعض الملاحظات التي ذكرتها
ابوخليل قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 38 دقائق مضت, ابوخليل said: افتح مثالي في مشاركتي على التقرير حمل التطبيق هذا على هاتفك ثم اقرأ الكيو آر ،،، حاول تقرأه ايضا من قارىء للباركود آخر لترى الفرق رمز الكيو آر في مثالي مشفر حسب طلب الهيئة ، ولكن يوجد فيه بعض الملاحظات التي ذكرتها نسيت شيئا فك الضغط عن الملف والصق المجلد بجميع محتوياته على قرص C ( منكم واليكم ابا جودي) Reference.rar
at_aziz قام بنشر ديسمبر 4, 2021 الكاتب قام بنشر ديسمبر 4, 2021 10 دقائق مضت, ابوخليل said: سيت شيئا فك الضغط عن الملف والصق المجلد بجميع محتوياته على قرص C ( منكم واليكم ابا جودي) جزاك الله خير وبارك فيك ابا خليل الحقيقة طبقت ماذكرت على لكن للاأسف يطلع غير معتمد بعد مسحة في البرنامج المذكور اعلاه اما بقيه البرامج يقراء بدون مشاكل كيف يتم التعديل على مثال الاخ اباجودي حتى يكون متوافق مع القاري المعتمد هذا مثال الاخ ابو جودي الاخير GenerateOrReadQRCodeImageV.03.mdb.zip
ابوخليل قام بنشر ديسمبر 4, 2021 قام بنشر ديسمبر 4, 2021 19 دقائق مضت, at_aziz said: جزاك الله خير وبارك فيك ابا خليل الحقيقة طبقت ماذكرت على لكن للاأسف يطلع غير معتمد بعد مسحة في البرنامج المذكور اعلاه اما بقيه البرامج يقراء بدون مشاكل لا تطبق على برنامجك فقط شغل المثال المرفق بعد لصق المجلد وتسجيل المكتبات المثال يعمل واعطيتك النتيجة بالصور 1
at_aziz قام بنشر ديسمبر 4, 2021 الكاتب قام بنشر ديسمبر 4, 2021 (معدل) الله يعطيك استاذنا الفاضل ابا خليل نعم على المثال يعمل لكن نحن الان في ورطه شغلي الاول اصبح مامنه فايده كيف نطبق هذا الكود على مثال نقدر ننقله لاي برنامج تم تعديل ديسمبر 4, 2021 بواسطه at_aziz
at_aziz قام بنشر ديسمبر 5, 2021 الكاتب قام بنشر ديسمبر 5, 2021 السلام عليكم ورحمة الله وبركاته اليوم تواصلت مع خدمة العملاء في مصلحة الزكاه والدخل قالو انه لابد من تشفير qr في المرحله الاولى والثانية ارجو منكم ياخوان مساعدتنا بحل لهذا لانها مهمه ومطلوبه وتفيد كل من له عملاء جزاكم الله خير وبارك فيكم
ابوخليل قام بنشر ديسمبر 5, 2021 قام بنشر ديسمبر 5, 2021 28 دقائق مضت, ابو جودي said: فعلا انا صدعت بسبب ده واعتقدت ان التطبيق منى انا كان خطأ حتى اننى ارسلت لاستاذ ابو خليل على الخاص تمام جربت الكود : الهكس يشفر ويعيد التشفير مشكلتنا في الخطوة التالية وهي التحويل الى base64 امهلوني سأحاول اتمنى ان اصل لنتيجة جيدة ربما احد اساتذتنا يسبقني وهذا الذي اتمناه 3
ابوخليل قام بنشر ديسمبر 7, 2021 قام بنشر ديسمبر 7, 2021 هذا رابط يشرح طريقة عمل الفاتورة بكل دقة للأسف تعبت وأنا احاول التطبيق ولم اوفق ... لي رجعة اليه باذن الله .. 1
at_aziz قام بنشر ديسمبر 7, 2021 الكاتب قام بنشر ديسمبر 7, 2021 بارك الله فيك وجزاك الله خير استاذنا القدير ابا خليل الله يعطيك العافيه وبيض الله وجهك الان المشكله الاهم في تعديل الامثله السابقه مشكله جبر الهلالات الى عدد صحيح لوتنحل عدم جبر الهلل نقدر نمشي بعض الامور لين تكتمل كل الملاحظات
ابوخليل قام بنشر ديسمبر 7, 2021 قام بنشر ديسمبر 7, 2021 vat = (Format(text4, "0000.00")) tax = (Format(text5, "000.00")) 2
ابوخليل قام بنشر ديسمبر 7, 2021 قام بنشر ديسمبر 7, 2021 ايشركم تتوالى الانتصارات من بعد ابو جودي الحمد لله تم ضبط المثال على زيادة ونقص الاسم ودعم اللغة العربية انا مثل ابو جودي تعبت كثيرا فالحمد لله الذي لا يحمد على مكروه سواه سأخلد للنوم غدا بإذن الله اعطيكم النتيجة اذكر فيه شرح الطريقة مدعمة بالصور والادوات والمكتبات المطلوبة 2 2
ابو جودي قام بنشر ديسمبر 7, 2021 قام بنشر ديسمبر 7, 2021 2 دقائق مضت, ابوخليل said: ايشركم تتوالى الانتصارات من بعد ابو جودي الحمد لله تم ضبط المثال على زيادة ونقص الاسم ودعم اللغة العربية انا مثل ابو جودي تعبت كثيرا فالحمد لله الذي لا يحمد على مكروه سواه سأخلد للنوم غدا بإذن الله اعطيكم النتيجة اذكر فيه شرح الطريقة مدعمة بالصور والادوات والمكتبات المطلوبة بشركم الله أعلى درجات الجنان استاذى الجليل ومعلمى القدير و والدى الحبيب فعلا الموضوع متعب جدا جدا جدا وارهقنى البحث عن الحلول كثيرا 3 دقائق مضت, ابوخليل said: الحمد لله الذي لا يحمد على مكروه سواه سأخلد للنوم فعلا الحمد لله تعالى جزاكم اله خيرا استاذى الجليل ومعلمى القدير و والدى الحبيب نوما هانئا ان شاء الله 2
ابوخليل قام بنشر ديسمبر 8, 2021 قام بنشر ديسمبر 8, 2021 9 ساعات مضت, ابوخليل said: ايشركم تتوالى الانتصارات من بعد ابو جودي الحمد لله تم ضبط المثال على زيادة ونقص الاسم ودعم اللغة العربية انا مثل ابو جودي تعبت كثيرا فالحمد لله الذي لا يحمد على مكروه سواه سأخلد للنوم غدا بإذن الله اعطيكم النتيجة اذكر فيه شرح الطريقة مدعمة بالصور والادوات والمكتبات المطلوبة تفضلوا من هنا 1
ابو جودي قام بنشر ديسمبر 8, 2021 قام بنشر ديسمبر 8, 2021 وبفضل الله تعالى هذا المرفق الاخير يمكن تجربة مسح الqrcode من هنا لقراءة البيانات منه https://aliphia.com/zatca-qrcode/#scan-using-file E-Invoicing.zip 1
ابو جودي قام بنشر ديسمبر 8, 2021 قام بنشر ديسمبر 8, 2021 السلام عليكم ورحمة الله تعالى وبركاته بعد جلسات العمل والنقاش هذه وأيضا تلك وأيضا تلك وأيضا تلك واخص فيها أستاذي الجليل ومعلمي القدير و والدى الحبيب أستاذ @ابوخليل له كل الشكر والتقدير وكذلك أصحاب المواضيع الذين حثوا الهمم لإخراج مثل هذا العمل اهداء الى منتدانا الحبيب واحبابنا الكرام اليكم كود الاستجابة السريع QR CODE (يدعم اللغة العربية) حسب متطلبات هيئة الزكاة والضريبة والجمارك السعودية علما انه يتم قراءة الرمز عبر قارىء خاص بالهيئة ( تطبيق جوال ) حمل من هنا : تطبيق هيئة الزكاة والضريبة والجمارك كما يتم قراءة الرمز عبر قارىء خاص من خلال موقع على الانترنت إذهب الى الموقع : من هنا الشرح ... مهم جدا مفيش أي شرح متطلبات التشغيل كالتالي : فقط يرجى التأكد من وجود الأداة qr.exe داخل مجلد باسم Reference في نفس مسار قاعدة البيانات اسالكم الدعاء بظهر الغيب لصديقي في العمل و الذى ساعدني في عمل ملف qr.exe أتمنى لكم تجربة ممتعة ... ================================================== KSA E-Invoicing QR-Code.zip 6 3
سلمان الشهراني قام بنشر ديسمبر 8, 2021 قام بنشر ديسمبر 8, 2021 يعطيك العافيه استاذي الغالي فيه ملاحظة لا يتم حفظ الشفره داخل قاعدة البيانات 1
الردود الموصى بها