بازنویسی اساسی ابزار اتصال نرمافزار فروش به سامانه مودیان - بخش اول: کلیات، تعاریف، اطلاعات مفهومی و تاریخی
مطابق قانون نظام پایانههای فروشگاهی و سامانه مودیان مصوب مهر ماه سال 1398، مودیان از این پس وظایف جدیدی در رابطه با سازمان امور مالیاتی کشور برعهده دارند. برای کاربران نوسا، انجام برخی از این وظایف نیاز به تهیه ابزار جدیدی جهت اتصال نرمافزار فروش نوسا و مجموعه امکانات جدیدی در سیستم فروش نوسا بوجود آورده است. الزامات مطرح شده در قانون برای تبعیت از دستورالعملهای ذکر شده بسته به نوع مودی به شرح زیر برقرار است:
- تمامی شرکتها و اشخاص حقوقی (به استثنای اشخاص حقوقی موضوع ماده 16 قانون مالیات بر ارزش افزوده) از تاریخ 1 مهر ماه 1402
- تمامی صاحبان مشاغل (اشخاص حقیقی) که تا پایان شهریور ماه بیش از 180 میلیارد ریال فروش در سال 1402 داشتند از تاریخ اول دی ماه 1402
- تمامی صاحبان مشاغل (اشخاص حقیقی) که تا پایان آذر ماه بیش از 180 میلیارد ریال فروش در سال 1402 داشتند از تاریخ اول فروردین ماه 1403
- تمامی صاحبان مشاغل (اشخاص حقیقی) که تا پایان اسفند ماه بیش از 180 میلیارد ریال فروش در سال 1402 داشتند از تاریخ اول تیر ماه 1403
گروه توسعه نرمافزارهای مالی نوسا، بنا به تغییر قانون و نیاز مشتریان، الزام به فراهم کردن امکاناتی برای ارتباط با سامانه مودیان و ارسال صورتحسابها مطابق دستورالعملهای ارائه شده در ویرایش 12.02 سیستم یکپارچه مالی نوسا از اول سال 1402 گردید. با اینکه حداکثر تلاش برای ایجاد مجموعه امکاناتی منسجم و قابل اطمینان بکار رفته است اما همانطور که احتمال داده بودیم، تحت تاثیر عوامل گوناگون، من جمله تغییرات ناگزیری که طی این 11 ماه در سامانه مودیان ایجاد شده، تغییرات اساسی در آنچه در نسخه 12.02 این ابزار تولید شده بود، در نسخه 12.10 داشتیم. متاسفانه همانطور که از اطلاعات و پیچیدگی موجود در فرآیندهای ارسال انواع فاکتورها به سامانه مودیان در ادامه این مستند قابل تشخیص است، مختصات سیستم، شرح فرآیندهای قابل اجرا و تغییرات اساسی که در دادههای سیستم نوسا به عمل آمده است عموما جهت نگهداری داده دقیق در مواجهه با سامانه مودیان در دست ساخت بوده و هیچیک از این تغییرات گستدره و فرآیندهای پیچیده به اختیار ما نبودهاند.
در این مستند، به توصیف امکانات پیادهسازی شده در نسخه بروز این ابزار و تغییراتی که در سیستم فروش به عمل آوردهایم خواهیم پرداخت. در این مسیر، در بخش مقدمه به سوابق قانونی و دستورالعملها و وظایف جدیدی که برای مودیان لحاظ شدهاند میپردازیم. در ادامه، به مفاهیم جدیدی که در این رابطه در سیستم فروش نوسا معرفی و پیادهسازی شدهاند خواهیم پرداخت. سیر عملیاتی که باید برروی برگههای فروش انجام شوند و انواع و وضعیتهای فاکتور فروش در همین رابطه را در یک بخش اختصاصی توضیح خواهیم داد. انجام عملیات مزبور، نیازمند تغییراتی در دادههای پایه و مشخصات برگههای فروش بودند که در یک بخش جداگانه به آنها نیز پرداختهایم. جهت ساده سازی مفاهیم، عموم مفاهیم مهم در این مستند همراه با ویدیوهای آموزشی ارائه گردیده و همچنین بخشی در سایت نوسا جهت ارائه کلیات این موضوع به آدرس go.nosa.com/sm آماده شده تا با بروزرسانی قوانین، زیرساختهای سازمان و نرمافزارهای نوسا، مشتریان نوسا همواره با آخرین تغییرات در رابطه با این سامانه بروز باشند.
بخشهای آتی در این پست و پستهای بعدی، هر یک به مفاهیم و دادههای جدیدی که در این ابزار به نرم افزار یکپارچه مالی نوسا اضافه کردهایم (حافظههای مالیاتی، تعریف روشهای ارسال اطلاعات به سامانه مودیان)، تغییراتی که در نرمافزار فروش جهت پشتیبانی از این ابزار ارائه شده و کاربران باید در فرآیند تنظیم فاکتور فروش مورد توجه قرار دهند و همچنین عملیاتی که با استفاده از امکانات جدید قابل انجام است (ارسال و استعلام) خواهند پرداخت.
بازپخش وبینار ارائه شده توسا شرکت نوسا در اسفند ماه سال 1402 در این بخش از مستند در دسترس میباشد. شرکت نرم افزار و سخت افزار ایران (نوسا) در این وبینار همزمان با تفصیل مراحل ثبت نام و دریافت توکن مورد نیاز نسخه جدید کارپوشه، به ابهامات، محدودیتها، پیچیدگیها، تغییرات، الزامات و قابلیتهای گسترده نسخه 12.10 ابزار یکپارچه اتصال نرم افزار فروش نوسا به سامانه مودیان میپردازد. این وبینار تخصصی برای مدیران و کارشناسان مالی و عموم افراد مشمول استفاده از کارپوشه مالیاتی، پایانه های فروشگاهی و سامانه مودیان مالیاتی مفید میباشد.
زمان بندی محورهای اصلی این وبینار:
1. تحلیل زیرساخت سامانه مودیان و بخشهای آن 00:04:04
2. یکپارچگی ابزار اتصال به سامانه مودیان و نرمافزار فروش نوسا 00:11:02
3. نحوه برخورد با اختلالات و محدودیت های زمانی در سامانه مودیان 00:17:03
4. روش ثبت نام و دریافت توکن GICA برای API جدید سامانه مودیان 00:23:14
5. ثبت انواع حافظه مالیاتی، استعلام ها و روشها در نرم افزار نوسا 00:38:54
6. آشنایی اولیه با نحوه دریافت کد کالا یا خدمات عمومی و یا خاص 00:52:20
7. ثبت اطلاعات عمومی فروش مورد نیاز سامانه مودیان در نرم افزار 00:53:46
8. انواع فاکتورها و الگوهای سامانه مودیان قابل استفاده در نوسا 00:58:40
9. شرایط و نحوه ثبت و استعلام فاکتور اصلی سامانه مودیان در نوسا 01:00:56
10. نکات مهم کلی در رابطه با کارکرد ابزار سامانه مودیان یکپارچه نوسا 01:17:39
11. نحوه ثبت و استعلام فاکتور برگشت سامانه مودیان در نوسا 01:19:51
12. نحوه ثبت و استعلام فاکتور اصلاحی و ابطالی سامانه مودیان در نوسا 01:32:17
13. نحوه درخواست افزایش سقف مجاز فروش در سامانه مودیان مالیاتی 01:54:44
14. نوع، وضعیت و فرآیندهای فروش در نسخه 6.8 سامانه مودیان و ابزار نوسا 01:56:16
15. مفهوم صورتحسابهای مرجع و ارجاعی و پیچیدگیهای فعلی سامانه مودیان 02:11:11
16. نحوه ثبت و استعلام فاکتور برگشت کل / ابطال سامانه مودیان در نوسا 02:31:03
17. پیچیدگیهای فعلی سامانه، موارد خطرناک و مورد توجه جهت اطمینان از سلامت داده 02:40:32
18. نکات خاص و برخی از امکانات جانبی ابزار اتصال به سامانه مودیان یکپارچه نوسا 03:13:02
برخی محدودیتها و نکات مهم در رابطه با نسخه فعلی ابزار ارائه شده، وضعیت سامانه مودیان، روش ارسال و فیلدهای مربوطه:
عموما نرمافزارهای نوسا با تحقیقات بسیار، ساختار مستحکم و انعطاف بالا در دسترس کاربران قرار میگیرد، ولیکن از آنجا که ابزار اتصال نرمافزار فروش به سامانه مودیان نوسا، بر خلاف عموم نرمافزارهای نوسا، یک موجود تحمیلی توسط سازمان امور مالیاتی میباشد و این سامانه همچنان با مشکلات جدی روبرو بوده و بصورت روزمره در دست تغییر است، پس حتما انتظار میرود که ابزار سامانه مودیان نوسا نیز بنا به نیاز و فشار سامانه بالادستی با نسخ و رفتارهای گوناگون مواجه باشد، این واقعیت، ابزار را با محدودیتهایی روبه رو خواهد کرد. دقت بفرمایید نسخه فعلی ابزار سامانه مودیان صرفا پاسخگو نسخ ارائه شده سامانه مودیان تا دی ماه سال 1402 میباشد و ممکن است با تغییرات آتی، کارکرد این ابزار با مشکلات متعدد مواجه گردیده و نسخ جدیدی از نرمافزار و یا DLL برای مشتریان بروز این ابزار، در صورت امکان پشتیبانی از تغییرات آتی، ارائه گردد. برخی از محدودیتها و نکات مهم نسخه فعلی ابزار ارائه شده توسط نوسا در ادامه این بخش بصورت ویژه جهت آشنایی استفاده کنندگان و خریداران این ابزار اعلام گردیده است:
- به دلیل یکپارچگی نرمافزار، جهت استفاده از ابزار اتصال نرمافزار فروش به سامانه مودیان نوسا، وجود نرمافزار فروش کالا و خدمات نوسا الزامیست.
- از آنجا که سامانه مودیان بر مبنای وب سرویس و بر بستر وب پیاده سازی گردیده، در زمان ارسال اطلاعات به سامانه مودیان و یا استفاده از هرگونه استعلام موجود در ابزار نوسا، دسترسی به اینترنت و IP سامانه و API سازمان امور مالیاتی توسط سرور نوسا الزامیست.
- جهت کارکرد این ابزار، زمان و تاریخ سرور باید درست تنظیم شده باشد، در غیر اینصورت در زمان کنترل کلید امنیتی با سامانه با مشکل مواجه خواهیم شد.
- ابزار ارائه شده توسط نوسا بر مبنای نسخهی 6.8 مستند ارائه شده توسط مرکز تنظیم مقررات، نظام پایانههای فروشگاهی و سامانه مودیان سازمان مالیات به تاریخ دی 1402 بازنویسی گردیده است. نسخه فعلی ابزار سامانه مودیان نوسا صرفا قابلیت کارکرد صحیح با این نسخه از سامانه را فراهم میآورد و ممکن است با تغییرات آتی زیرساخت سامانه با مشکل مواجه گردد.
- از انواع فاکتورهای فروش، 4 الگو فاکتور شامل عادی، پیمانکاری، صادراتی و فروش به مصرف کننده نهایی (نوع 2) در ابزار نوسا پیاده سازی گردیده و قابل استفاده میباشند، سایر انواع فاکتورها با استفاده از این ابزار قابل ارسال نخواهند بود. توجه بفرمایید در نسخه قدیمی سامانه 1 نوع فاکتور به نام فاکتور ارزی وجود داشت که در نسخه فعلی این نوع فاکتور به فاکتور عادی تغییر پیدا کرده و دیگر به عنوان نوع جداگانهای از فاکتور اعلام نمیگردد. جایگزین فاکتور ارزی قدیمی، نوعی فاکتور به نام فروش ارز (صرافی) توسط سازمان اعلام گردیده که این نوع جدید از فاکتور در نسخه فعلی نرمافزار نوسا قابل پشتیبانی نمیباشد.
- از آنجا که برخی از فیلدهای اعلامی در مستند سامانه مودیان مربوط به سایر الگوهای فاکتور فروش (فروش ارز / طلا و جواهر / قبوض خدماتی / بلیط هواپیما) و یا مربوط به نوع سوم از صورتحسابهای الکترونیکی (دستگاههای POS) هستند، با توجه به اینکه ابزار نوسا از این الگوهای فروش پشتیبانی نمیکند، این نوع فیلدها نیز در نرمافزار نوسا قابل استفاده و ارسال نمیباشند.
- مالیات ماده 17 در ابزار ارسال اطلاعات به سامانه مودیان نوسا قابل پشتیبانی نمیباشد.
- سایر وجوه قانونی (موضوع، نرخ و مبلغ) در ابزار ارسال اطلاعات به سامانه مودیان نوسا قابل پشتیبانی نمیباشد.
- نسخ قبلی API سامانهی مودیان (که با کلید عمومی کار میکرد و نیازی به گواهی امضا نداشت – V0 و V1) هنوز در دسترس بوده ولی احتمال زیادی وجود دارد که در آیندهی نزدیک غیرعملیاتی شوند و کاربران مجبور به استفاده از نسخهی جدید (که به گواهی امضا نیاز دارد – V2) شوند. برای استفاده از ابزار سامانه مودیان با نسخه V2 وب سرویس ارائه شده، دریافت گواهی از مراکز دولتی مرجع، توسط استفاده کننده طی توضیحات در بخش مربوطه الزامی خواهد بود و در غیر اینصورت ابزار اتصال سامانه مودیان نوسا قابلیت دریافت و ارسال اطلاعات استفاده کننده به سامانه را از دست خواهد داد.
- تاریخ و زمان ایجاد صورتحساب (ردیف 3 مستند سامانه مودیان به نام Intadi2m) که قرار است از درگاه اینترنتی مقداردهی شود، فعلا کاربردی نداشته و یا داستان دیگری دارد که مستند نشده است، با توجه به این نکته، این فیلد در نسخه فعلی لحاظ نگردیده است.
- نوع شخص خریدار (مشتری) مطابق خواستهی سامانه از ترکیب حقیقی یا حقوقی بودن مشتری و نوع شرکت (سازمان) آن حاصل میشود: شخص حقیقی با مقدار 1، شخص حقوقی از نوع مشارکت مدنی با مقدار 3 و سایر اشخاص حقوقی با مقدار 2 صادر خواهند شد.
- در نسخه فعلی ابزار قابلیت ارسال اطلاعات برای فروش به اتباع خارجی، مشارکت مدنی، اشخاص حقوقی و حقیقی وجود داشته ولیکن استفاده از روش های ارسال متفاوت برای برخی از این موارد الزامیست. خصوصا اگه یک شخص حقیقی پرونده مالیاتی داشته باشد، طی مستند مالیات، کد 14 رقمی شخص حقیقی ثبت نام و تایید شده در کارپوشه، برای ثبت فاکتور در کارپوشه شخص الزامیست. اگر صرفا کد ملی و کد پستی وارد گردد، حتی اگر شخص کارپوشه داشته باشد، اطلاعات به عنوان مصرف کننده نهایی بدون درج در کاپوشه شخص ارسال میگردد.
- تمامی فاکتورهای ارسالی به سامانه مودیان توسط حافظه مالیاتی انجام میگردد، تمامی فاکتورهای ارسالی در هر حافظه مالیاتی شامل سریال میباشند و سریال به عنوان بخشی از اطلاعات، ارسال میگردد، این سریال باید همواره به صورت غیر تکراری اضافه گردد، بنابراین اگر از سیستم دیگری اطلاعات مجموعه به ابزار سامانه مودیان نوسا منتقل گردد، ارائه آخرین شماره سریال استفاده شده در سیستم قبلی جهت اطمینان از عدم تکراری بودن سریال الزامیست. یک حافظه مالیاتی در دو سیستم قابل استفاده نبوده و تغییر شناسه حافظه مالیاتی بجای تعریف حافظه جدید در حین استفاده از این ابزار، مشکل ساز خواهد بود.
- اگر مطابق رویهای که پس از سال 1399 جاری شده است، مجموع عوارض و مالیات بر ارزش افزوده در فیلد مالیات بر ارزش افزوده سیستم نوسا محاسبه و لحاظ شود، میتوانیم در صورت نیاز از فیلد عوارض قانونی در سیستم نوسا به عنوان سایر عوارض قانونی در JSON استفاده کنیم. مبلغ و نرخ عوارض قانونی به این منظور قابل استفاده است اما فیلد موضوع سایر عوارض (odt) را باید با مقدار ثابت (رشته حرفی) با محتوای دلخواه در روش ارسال بیاوریم.
- برای برخی از فیلدهای JSON (برخی از شماره ردیفها در مستند سامانه مودیان) بیش از یک فیلد نوسا تامین شده است. به این ترتیب اگر کاربران دادههای مورد نیاز را در فیلدهای متفاوتی درج کرده باشند، میتوانند با تغییر فیلد مبداء در روش ارسال تفاوت رویه را به صورت مناسب اعمال نمایند. به جز این، در مواردی که فیلد JSON به صورت کامل و جامع در مستندات تعریف نشده بودند تمام حالتهای قابل تصور را برای درج در آن فیلد لحاظ کردهایم. مثلا برای فیلد جمع ارزش ارزی (ردیف 32 – tocv) حالتهای جمع بهای ارزی کالاها و خدمات صورتحساب پیش از تخفیف / پس از تخفیف و نهایی را پیشبینی کردهایم. آنچه با سعی و خطا مناسب تشخیص دادهایم (البته در وضعیت سامانه مودیان در دیماه سال 1402) را در روش ارسال پیشفرض نوسا تعریف کردهایم.
- (فعلا) فیلد sstt در ردیف 39 مستند سامانه مودیان (عبارت توصیف کالا یا خدمت) اختیاری است و در صورت تمایل میتوانید آن را از تعریف روش ارسال حذف کنید. البته با توجه به اینکه قرار است خریدار صورتحسابها را در کارپوشهی خود تایید نماید، عدم وجود نام یا عبارت توصیف کنندهی کالا یا خدمت عجیب به نظر میرسد (و این فیلد ممکن است در آینده اجباری شود).
- مبلغ پرداخت نقدی از عوارض قانونی در header و سهم نقدی از عوارض قانونی در body قاعدتا میباید در JSON لحاظ میشدند (با توجه به شباهت آنها با مالیات بر ارزش افزوده). این دو فیلد در فهرست فیلدهای مبداء نوسا لحاظ شدهاند تا چنانچه در آینده مورد نیاز باشند مشکلی نداشته باشیم.
- اگر در روش ارسال اطلاعات، مبالغ به صورت "قطع شده" باشد، بهای سطر، ارزش افزوده و معادل ریالی فروشهای ارزی تحت تاثیر قرار میگیرند، در نتیجه تفاوت چند ریالی بین داده موجود در سامانه و نرمافزار نوسا در برخی فاکتورها قابل پیش بینی خواهد بود.
- به صورت بسیار عجیب، درخواست عامی وجود داشت که برخی از دادهها به صورت تغییر یافته (متفاوت از آنچه در نوسا درج شده است) به سامانه ارسال شوند. یکی از این موارد همان ارسال مبالغ به صورت "قطع شده" بود که پیش از این دیدیم. مورد دیگر به فروشهای صادراتی مربوط میشد. ترتیبی اتخاذ شده که کاربر بتواند با اصلاح روش ارسال، معادل ریالی فروشهای ارزی را به صورت مستقل از آنچه در نوسا درج شده است و با استفاده از نرخ برابری ارز درج شده در برگهی فروش محاسبه و به سامانه ارسال نماید. به این منظور فیلدهای جدیدی تعبیه شدهاند که به عنوان فیلد محتوی (به جای فیلدهای صحیح) قابل استفادهاند. این فیلدها، عمدتا با شماره ردیفهای تکراری، در جدولهای فوق نشان داده شدهاند.
- هیچیک از تمهیداتی که منجر به "نادرست شدن" دادههای ارسالی به سامانه میشوند (قطع کردن / استفاده از نرخ برابری ارز برگه) در روش ارسال پیشفرض نوسا بکار نرفتهاند. در این روش پیشفرض، دادهها به صورت صحیح و بدون تغییر ارسال میشوند. طبیعی است که مسئولیت استفاده از این تمهیدات (و ارسال دادههای نادرست به سامانه) برعهدهی کاربرانی است که اقدام به تغییر تعریف روش ارسال میکنند.
- بنا به پیچیدگیهای عجیب فرآیند و کارکرد فع