قوانین رندینگ (اعشار) در سامانه مودیان
قوانین رندینگ (اعشار) در سامانه مودیان
بازگشت
سامانه مودیان
قوانین رندینگ
آموزشی
قوانین رندینگ (اعشار) در سامانه مودیان
راهنمای کامل و اجرایی برای جلوگیری از خطاهای «نامعتبر بودن مبلغ/اعشار» در هنگام صدور و ارسال صورتحساب الکترونیکی.
0
ریالی (قطع کردن)
4
ارزی (قطع کردن)
8
مبلغ واحد (حداکثر)
قاعده طلایی
در سامانه مودیان «گرد کردن (Round)» معمولاً مبنا نیست؛ قاعده عمومی «قطع کردن (Truncate)» است:
یعنی ارقام اضافی اعشار حذف میشوند و افزایش انجام نمیشود.
جستجوی هوشمند قوانین رندینگ
سوال را بنویسید (مثل: «مبلغ واحد چند رقم اعشار دارد؟» یا «ریالی چند رقم؟»)
یک سوال را انتخاب کنید تا پاسخ نمایش داده شود.
خلاصه قوانین (برای پیادهسازی سریع)
1
مبالغ ریالی
اغلب فیلدهای ریالی (جمعها، مالیات، عوارض، تخفیفها و …) باید بدون اعشار ارسال شوند
(0 رقم اعشار) و اگر محاسبات شما اعشار تولید کرد، باید با روش «قطع کردن» به عدد صحیح تبدیل شود.
2
مبالغ ارزی
برای فیلدهای ارزی، حداکثر 4 رقم اعشار مجاز است و باز هم روش محاسبه «قطع کردن» میباشد.
3
مبلغ واحد
«مبلغ واحد» (Unit Price) میتواند اعشاری باشد و طبق سند فنی، حداکثر 8 رقم اعشار مجاز دارد.
اگر بیش از 8 رقم تولید شود باید قطع شود.
رندینگ یعنی چی؟ تفاوت «گرد کردن» با «قطع کردن»
Round (گرد کردن)
بر اساس رقم بعدی، مقدار افزایش/کاهش میکند.
مثال: 12.345 → (با 2 رقم) 12.35
Truncate (قطع کردن)
ارقام اضافی حذف میشوند و مقدار افزایش نمییابد.
مثال: 12.345 → (با 2 رقم) 12.34
چرا این مهم است؟
بسیاری از خطاهای رایج سامانه مودیان، ناشی از مغایرت اعشار/طول فیلدهاست.
با اعمال «قطع کردن» طبق تعداد رقم اعشار مجاز هر فیلد، ریسک رد شدن صورتحساب به شدت کم میشود.
تمرکز روی فیلدهای حساس
| نوع مقدار | حداکثر رقم اعشار | روش | نکته اجرایی |
|---|---|---|---|
| مبالغ ریالی (بهجز مبلغ واحد) | 0 | قطع کردن | هر اعشار تولید شد حذف شود (به عدد صحیح) |
| مبالغ ارزی | 4 | قطع کردن | بهویژه در الگوهای ارزی/صادراتی |
| مبلغ واحد (Unit Price) | 8 | قطع کردن | طبق سند فنی «مبلغ واحد»، حداکثر 8 رقم اعشار |
یادآوری
اگر محاسبات شما منفی هم تولید میکند (مثل برگشت از فروش)،
«قطع کردن» باید به سمت صفر انجام شود (نه همیشه floor).
فرمولهای استاندارد قطع کردن (0، 4 و 8 رقم اعشار)
قاعده عمومی (Truncate به سمت صفر)
اگر مقدار مثبت است: floor(x × 10^n) ÷ 10^n
اگر مقدار منفی است: ceil(x × 10^n) ÷ 10^n
اگر مقدار منفی است: ceil(x × 10^n) ÷ 10^n
ریالی (0 رقم اعشار)
Trunc0(x) = (x ≥ 0) ? floor(x) : ceil(x)
ارزی (4 رقم اعشار)
Trunc4(x) = (x ≥ 0) ? floor(x×10000)/10000 : ceil(x×10000)/10000
مبلغ واحد (8 رقم اعشار)
Trunc8(x) = (x ≥ 0) ? floor(x×100000000)/100000000 : ceil(x×100000000)/100000000
کاربرد سریع
اگر در خروجی اکسل/نرمافزار واسط، «مبلغ واحد» شما بیشتر از 8 رقم اعشار داشت، قبل از ارسال به سامانه مودیان آن را Trunc8 کنید.
برای مبالغ ریالی (TBILL، TODAM، TVAM و …) هم Trunc0 را اعمال کنید.
خطاها و مشکلات رایج (و راهحل)
1) رد شدن صورتحساب به دلیل اعشار نامعتبر
معمولاً وقتی رخ میدهد که فیلدی بیشتر از اعشار مجاز ارسال شود (مثلاً مبلغ واحد با بیش از 8 اعشار).
راهحل: قبل از ساخت JSON نهایی، Trunc مطابق فیلد اعمال شود.
2) اختلاف یک ریال/یک واحد در جمعها
اگر در یک جا Round و در جای دیگر Truncate کنید، جمعها ناهماهنگ میشوند.
راهحل: یک سیاست واحد «قطع کردن» و اعمال در تمام مراحل محاسبه.
3) ارزی/صادراتی: نرخ VAT باید صفر باشد
در الگوی صادرات معمولاً نرخ مالیات بر ارزش افزوده باید صفر ثبت شود
(و اعشار ارزی هم حداکثر 4 رقم).
4) برگشت از فروش و مقادیر منفی
اگر از floor برای منفیها استفاده کنید، مقدار از نظر قدرمطلق بزرگتر میشود.
راهحل: قطع کردن به سمت صفر (برای منفیها از ceil استفاده کنید).
مطالب مرتبط
جدول پرداخت سامانه مؤدیان | تسویه نقد، نسیه و نقد-نسیه + اعتبار و بدهی ارزش افزوده
راهنمای کامل الگوهای صورتحساب الکترونیکی و موضوع صورتحساب در سامانه مؤدیان
سوالات متداول ارسال صورتحساب الکترونیکی سامانه مودیان
راهنمای جامع واکنشها و وضعیت صورتحساب در سامانه مودیان | تأیید، رد، اصلاح، ابطال و فروش نهایی
عدم مشاهده صورتحساب در کارپوشه سامانه مودیان
سامانه مودیان
شناسه یکتای حافظه مالیاتی (سامانه مؤدیان) | صفر تا صد
فراخوانهای ارزش افزوده
وب سرویس سامانه مودیان api
نرم افزار واسط ارسال صورتحساب الکترونیکی سامانه مودیان درسان
حد مجاز فروش در سامانه مودیان؛ راهنمای جامع و کاربردی
راهنمای شناسایی و رفع هوشمند خطاهای سامانه مودیان
تفاوت الگوی صادرات و فروش ارزی
دانلود نرم افزار درسان دسک همه نسخه ها
تمدید مهلت ارسال صورتحساب اسفند سال 1404 و فروردین 1405
توضیحات در خصوص عدول، احتساب، عدم احتساب نحوه تبدیل فایل Csv به اکسل و نحوه محاسبه فروش نهایی و ارزش افزوده در سامانه مودیان
ثبت نظر