با هر پایگاه دادهای؛ بدون تغییر در نرمافزار شما
اتصال ERP و نرمافزار اختصاصی به آسا از طریق پایگاه داده
ایجنت آسا روی سیستم شما نصب میشود، دادههای فروش را از پایگاه داده نرمافزارتان میخواند و امن برای آسا میفرستد. نوع پایگاه داده محدودیتی ایجاد نمیکند و ایجنت در شبکه ایزوله و با دسترسی محدود هم کار میکند.
- دانش فنی لازم
- مدیر پایگاه داده یا تیم فنی
- حجم مناسب صورتحساب
- متوسط تا بسیار زیاد
- راهاندازی
- یکبار نگاشت داده؛ با تیم شما یا تیم فنی آسا
- میزان خودکارسازی
- دستی، گروهی یا کاملاً خودکار
روش «پایگاه داده اختصاصی» چیست و برای چه کسی مناسب است؟
اگر نرمافزار فروش، ERP یا سامانه اختصاصی دارید، لازم نیست آن را تغییر دهید یا وبسرویس بنویسید. ایجنت آسا (برنامه ASA TSP Sync) روی سیستم شما نصب میشود، دادههای صورتحساب را از پایگاه داده میخواند و از یک کانال رمزنگاریشده برای آسا میفرستد. کنترل و ثبت در پنل آسا انجام میشود و ارسال به سامانه مؤدیان ۲۴ ساعته، ۷ روز هفته و با ظرفیت تا ۱٬۰۰۰ صورتحساب در ثانیه برای هر مؤدی صورت میگیرد.
ایجنت در محیط کاملاً ایزوله هم کار میکند: هیچ پورت ورودی باز نمیکند، فقط خودش به سرور آسا وصل میشود و با حسابی محدود کار میکند که تنها دادههای صورتحساب را میبیند. رمز پایگاه داده روی سیستم خودتان میماند و برای آسا فرستاده نمیشود.
نوع پایگاه داده محدودیتی ایجاد نمیکند. روی SQL Server، ایجنت مستقیم از پایگاه داده نرمافزار میخواند. برای پایگاههای داده دیگر، مثل Access، MySQL، PostgreSQL یا Oracle، تیم فنی آسا راه اتصال را متناسب با سیستم شما پیاده میکند؛ برای نمونه با یک پایگاه داده واسط که دادههای فروش به آن منتقل میشود.
تنها کاری که یکبار باید انجام شود «نگاشت» است: دادههای فروش شما در قالب یک View استاندارد در اختیار ایجنت قرار میگیرد. نام و ساختار جدولهای شما آزاد است و راهنمای این View بهصورت عمومی منتشر شده است.
نتیجه هر صورتحساب، شامل شماره مالیاتی و وضعیت ارسال، در جدول گزارش کنار همان View نوشته و بهروز نگه داشته میشود تا اگر بخواهید، آن را در نرمافزار خودتان هم نمایش دهید.
مناسب است اگر…
- نرمافزار فروش، ERP یا سامانه اختصاصی با پایگاه داده خودتان دارید؛ SQL Server یا هر پایگاه داده دیگر.
- نمیخواهید کد نرمافزار را تغییر دهید یا وبسرویس تازه بنویسید و منتشر کنید.
- سیاست امنیتی شما اجازه باز کردن پورت یا دسترسی گسترده به پایگاه داده را نمیدهد.
- میخواهید از امکانات پنل (بازبینی، ثبت گروهی و حالت خودکار) استفاده کنید.
روش دیگری انتخاب کنید اگر…
- نرمافزارتان ابری است یا رایانه ویندوزی برای نصب ایجنت ندارید: وبسرویس (API)
- از سپیدار، هلو، تدبیر یا سیبا استفاده میکنید و اتصال آماده دارید: اتصال نرمافزار حسابداری
صورتحساب در این روش چه مسیری را طی میکند؟
- پایگاه داده نرمافزار شماSQL Server یا پایگاه داده دیگر، با هر ساختاری
- ایجنت آسا روی سیستم شماخواندن داده صورتحساب با دسترسی محدود
- پنل آسادریافت امن، کنترل و ثبت
- سامانه مؤدیانارسال و بازگشت نتیجه به سیستم شما
مراحل راهاندازی و استفاده
هماهنگی اولیه
نوع نرمافزار و پایگاه داده خود را به پشتیبانی آسا اعلام کنید. روی SQL Server، تیم فنی شما میتواند کار را با راهنمای عمومی آسا انجام دهد؛ برای سایر پایگاههای داده، تیم فنی آسا اتصال را پیاده میکند.
آمادهسازی View صورتحساب
دادههای فروش به ستونهای استاندارد آسا نگاشت میشود. هر ردیف View یک قلم از صورتحساب است و ستونهایی که کاربرد ندارند خالی میمانند.
ساخت حساب محدود
برای ایجنت یک حساب جدا در پایگاه داده بسازید که فقط همان View را بخواند و در جدولهای گزارش بنویسد. نمونه مجوزها در راهنمای فنی آمده است.
نصب ایجنت و اتصال به پنل
ASA TSP Sync را روی سیستمی که به پایگاه داده دسترسی دارد نصب کنید و با کد یکبارمصرفی که از پنل میگیرید به کسبوکار خود وصل کنید.
آزمایش
در پنل، «صورتحسابهای حسابداری» را بازخوانی کنید و چند صورتحساب را با داده واقعی مقایسه کنید. بررسی ساختار View هم از همان پنل انجام میشود.
راهاندازی
صورتحسابها را تکی یا گروهی ثبت کنید و پس از اطمینان، در صورت تمایل حالت خودکار را روشن کنید.
مزایا و معایب روش «پایگاه داده اختصاصی»
مزایا
- با هر پایگاه دادهایSQL Server مستقیم وصل میشود و برای سایر پایگاههای داده، تیم فنی آسا اتصال را پیاده میکند.
- امن، حتی در محیط ایزولهایجنت فقط ارتباط خروجی رمزنگاریشده دارد، هیچ پورت ورودی باز نمیکند و با حساب محدود کار میکند.
- بدون تغییر در نرمافزار شماکد نرمافزار دست نمیخورد و وبسرویسی لازم نیست؛ دادههای موجود فقط خوانده میشوند.
- ظرفیت بالا، ۲۴ ساعتهحجم بالای فروش هم معطل نمیماند: ارسال شبانهروزی و بدون تعطیلی است و ظرفیت آن تا ۱٬۰۰۰ صورتحساب در ثانیه برای هر مؤدی است.
- ساختار جدولهای شما آزاد استفقط ستونهای خروجی View باید استاندارد باشند، نه مدل داده داخلی شما.
- راهنمای فنی عمومیمشخصات ستونها، قواعد، نمونه View و مجوزهای لازم در راهنمای عمومی آسا آمده است.
- پوشش همه الگوهای صورتحسابفروش، فروش ارزی، طلا و جواهر و پلاتین، پیمانکاری، قبوض خدماتی، بلیت هواپیما، صادرات، بارنامه، فرآوردههای نفتی، بورس کالا، بیمه و فروش زنجیرهای با همان View پشتیبانی میشوند.
- بازگشت نتیجه به سیستم شماوضعیت و شماره مالیاتی در جدول گزارش نوشته میشود و میتوانید آن را به نرمافزار خودتان منتقل کنید.
معایب و محدودیتها
- غیر از SQL Server، اتصال اختصاصی استاتصال مستقیم و آماده برای SQL Server است؛ برای سایر پایگاههای داده، طراحی و پیادهسازی با تیم فنی آسا انجام میشود و زمان بیشتری میبرد.
- نگاشت داده به شناخت نرمافزار نیاز داردکسی که ساختار دادههای فروش شما را میشناسد باید در نگاشت همکاری کند: تیم فنی شما یا شرکت پشتیبان نرمافزار.
- نیاز به نگهداری Viewاگر ساختار نرمافزار شما عوض شود، View هم باید بهروز شود.
- خطای نگاشت یعنی خطای صورتحساباگر ستونی اشتباه نگاشت شود، صورتحساب با داده نادرست یا خطا نمایش داده میشود؛ آزمایش پیش از راهاندازی ضروری است.
- ایجنت روی ویندوز نصب میشودایجنت به یک رایانه ویندوزی همیشه روشن نیاز دارد که به پایگاه داده دسترسی داشته باشد.
امنیت روش «پایگاه داده اختصاصی»
فقط ارتباط خروجی
ایجنت هیچ پورت ورودی باز نمیکند و از شبکه قابل دسترسی نیست؛ خودش با HTTPS به سرور آسا وصل میشود و ارتباط برنامه کنار ساعت با سرویس هم فقط درون همان رایانه است.
کار در محیط ایزوله
ایجنت سرویس جداگانه ویندوز با پوشه داده و گزارش خودش است و میتواند روی رایانه یا ماشین مجازی جدایی نصب شود که فقط به SQL Server و، بهصورت خروجی، به سرور آسا (api.mega-pay.ir) دسترسی دارد؛ بقیه شبکه میتواند بسته بماند. بهروزرسانی خودکار به download.mega-pay.ir هم نیاز دارد.
View مرز دادههاست
ایجنت فقط ردیفهای View صورتحساب را برای آسا میفرستد. View در پایگاه داده خود شماست و خودتان تعیین میکنید چه ستونها و ردیفهایی در آن باشد؛ آنچه در View نگذاشتهاید دیده نمیشود.
دسترسی حداقلی به پایگاه داده
حساب ایجنت View را میخواند و در جدولهای گزارش آسا مینویسد؛ لازم نیست مدیر SQL Server باشد. اگر رویه بهروزرسانی بسازید، نتیجه سامانه مؤدیان فقط از راه همان رویه در جدولهای شما ثبت میشود.
فهرست بسته دستورها
سرور آسا فقط چند کار مشخص را میتواند از ایجنت بخواهد: آزمایش اتصال، بررسی و آمادهسازی ساختار، خواندن ردیفهای View صورتحساب، نوشتن جدولهای گزارش آسا و اجرای رویه بهروزرسانی آسا. هر دستور دیگری رد میشود و اجرای SQL یا برنامه دلخواه ممکن نیست.
اسکریپتهای کنترلشده
ایجنت فقط اسکریپت Viewها و رویه استاندارد آسا را میپذیرد؛ دستورهای DROP، TRUNCATE، GRANT، REVOKE و DENY رد میشوند، اسکریپت View نمیتواند دادهای را تغییر دهد و تعریف قبلی هر شیء پیش از جایگزینی روی همان رایانه پشتیبان گرفته میشود.
رمز پایگاه داده نزد شما میماند
رمز پایگاه داده و توکن ایجنت فقط روی همان رایانه، با DPAPI ویندوز رمزنگاریشده و در پوشهای ذخیره میشوند که فقط سیستم و مدیران آن رایانه به آن دسترسی دارند. رمزی که در خود برنامه وارد کنید از رایانه خارج نمیشود؛ اگر آن را در پنل وارد کنید، یک بار و رمزنگاریشده از سرور آسا عبور میکند و بلافاصله پس از تحویل به ایجنت پاک میشود.
اتصال با کد یکبارمصرف
هر ایجنت با یک کد ۸ رقمی یکبارمصرف و ۱۵ دقیقهای به یک کسبوکار وصل میشود و هر زمان بخواهید، دسترسی آن را از پنل قطع میکنید؛ صدور کد و تغییر تنظیمات اتصال فقط با مجوز مدیریت اتصال ممکن است.
نصاب امضاشده، بهروزرسانی بررسیشده
نصاب و فایلهای برنامه امضای دیجیتال دارند. هر نسخه جدید فقط از مرکز دانلود رسمی آسا و با HTTPS دریافت میشود و پیش از نصب، اثر SHA-256 آن با نسخه منتشرشده مقایسه میشود؛ بهروزرسانی خودکار را هم میتوانید از پنل خاموش کنید.
آسا شرکت معتمد مالیاتی نوع اول با مجوز سازمان امور مالیاتی کشور است و از دادههای شما طبق ضوابط محرمانگی و حریم خصوصی محافظت میکند.
پیشنیازها
- دسترسی به پایگاه داده نرمافزار و امکان ساخت View و حساب محدود
- فردی آشنا با ساختار دادههای فروش نرمافزار
- رایانه ویندوزی (ویندوز ۱۰ یا ۱۱، یا ویندوز سرور ۲۰۱۶ به بالا) برای نصب ایجنت
- دسترسی خروجی HTTPS از آن رایانه به api.mega-pay.ir (و برای بهروزرسانی خودکار به download.mega-pay.ir)؛ بدون نیاز به پورت ورودی
- برای پایگاههای داده غیر از SQL Server: هماهنگی با پشتیبانی آسا و ارائه ساختار دادههای فروش
- نگهداری شناسه کالا/خدمت و اطلاعات خریدار در نرمافزار مبدأ
پیشنیاز مشترک همه روشها ثبتنام رایگان در پنل آسا و دریافت شناسه یکتای حافظه مالیاتی با کلید معتمد آسا است. مراحل را در راهنمای ثبتنام و دریافت شناسه یکتا ببینید.
مستندات و منابع این روش
- راهنمای ساخت View و Stored Procedure (در زبانه جدید باز میشود)راهنمای فنی عمومی: مشخصات کامل ستونها، قواعد، نمونه View، مجوزهای حساب محدود و خطاهای رایج.
- دانلود ایجنت (ASA TSP Sync) و راهنمای نصب (در زبانه جدید باز میشود)نصاب ایجنت و راهنمای گامبهگام نصب و راهاندازی.
- اتصال نرمافزار حسابداریشیوه کار ایجنت و حالت خودکار؛ در این روش هم همینطور کار میکنند.
- هماهنگی اتصال با پشتیبانی آسابرای طراحی اتصال، بهویژه اگر پایگاه داده شما SQL Server نیست، با پشتیبانی آسا تماس بگیرید.
کدام پایگاههای داده قابل اتصالاند؟
هر پایگاه دادهای که دادههای فروش شما در آن نگهداری میشود قابل اتصال است؛ تفاوت فقط در شیوه پیادهسازی است.
| پایگاه داده | شیوه اتصال | پیادهسازی |
|---|---|---|
| SQL Server | ایجنت مستقیم از View روی پایگاه داده نرمافزار میخواند | تیم فنی شما با راهنمای عمومی آسا |
| Access، MySQL، PostgreSQL، Oracle و سایر پایگاههای داده | اتصال اختصاصی؛ برای نمونه انتقال دادههای فروش به پایگاه داده واسط و خواندن با همان View | تیم فنی آسا با همکاری شما |
برای تیم فنی: چه چیزهایی در پایگاه داده ساخته میشود؟
| شیء | سازنده | کاربرد |
|---|---|---|
dbo.MegaPayInvoiceView | تیم فنی (الزامی) | View اصلی؛ هر ردیف یک قلم از صورتحساب اصلی، اصلاحی یا ابطالی |
dbo.MegaPayInvoiceViewReturn | تیم فنی (در صورت نیاز) | صورتحسابهای برگشت از فروش |
dbo.MegaPayInvoiceLog | ایجنت | جدول گزارش؛ نتیجه ثبت، شماره مالیاتی و وضعیت هر صورتحساب |
dbo.MegaPayInvoiceReturnLog | ایجنت | جدول گزارش برگشت از فروش |
dbo.MegaPayUpdateData | تیم فنی (اختیاری) | رویهای برای انتقال نتیجه از جدول گزارش به جدولهای نرمافزار |
نمونهای از ستونهای View
جدول زیر فقط ستونهای پرکاربرد را نشان میدهد. فهرست کامل، همراه ستونهای اختصاصی هر الگو، در راهنمای فنی آمده است.
| ستون | توضیح |
|---|---|
InvoiceId | شناسه داخلی صورتحساب؛ ردیفهای همشناسه یک صورتحساب را میسازند |
InvoiceNo | شماره صورتحساب |
InvoiceDateGregorian | تاریخ و زمان صدور |
InvoiceType | نوع صورتحساب ۱ یا ۲؛ اگر خالی باشد از اطلاعات خریدار تعیین میشود |
InvoicePattern | الگوی صورتحساب؛ اگر خالی باشد فروش (۱) |
InvoiceIssue | موضوع: اصلی ۱، اصلاحی ۲، ابطالی ۳ |
InvoiceSourceTaxId | شماره مالیاتی صورتحساب مرجع؛ برای اصلاحی و ابطالی الزامی |
ItemID | شناسه ردیف |
ItemStuffid | شناسه کالا/خدمت |
ItemQty | تعداد یا مقدار |
ItemFee | مبلغ واحد (ریال) |
ItemDiscount | تخفیف ردیف |
ItemVatRate | نرخ مالیات بر ارزش افزوده |
چند قاعده مهم برای تیم فنی
- هر ردیف View یک قلم است؛ اطلاعات سرآمد و خریدار باید در همه ردیفهای یک صورتحساب یکسان باشد.
- ستونهایی که کاربرد ندارند حذف نمیشوند و با مقدار خالی (NULL) برمیگردند.
- تغییر صورتحسابی که ثبت شده باعث ارسال دوباره نمیشود؛ برای اصلاح، صورتحساب جدید با موضوع اصلاحی بسازید.
- حذف ردیف از View صورتحساب را ابطال نمیکند؛ ابطال باید با موضوع ابطالی ثبت شود.
- برگشت کامل همه اقلام بهصورت صورتحساب ابطالی ثبت میشود، نه برگشت از فروش.
پرسشهای متداول درباره روش «پایگاه داده اختصاصی»
ایجنت دقیقاً چه کاری میکند؟
ایجنت برنامه کوچکی است که روی سیستم شما نصب میشود، دادههای صورتحساب را از پایگاه داده میخواند و با ارتباط رمزنگاریشده برای آسا میفرستد. نتیجه هر صورتحساب را هم در جدول گزارش مینویسد و کار دیگری روی سیستم شما انجام نمیدهد.
آیا میتوان ایجنت را در شبکه ایزوله نصب کرد؟
بله. ایجنت به پورت ورودی نیاز ندارد و فقط باید بتواند با HTTPS به سرور آسا وصل شود. میتوانید بقیه دسترسیهای شبکه را ببندید و برای ایجنت حسابی بسازید که فقط View صورتحساب را میبیند.
آیا این روش با MySQL، PostgreSQL، Oracle یا Access هم کار میکند؟
بله، با اتصال اختصاصی. ایجنت فقط از SQL Server مستقیم میخواند؛ برای پایگاههای داده دیگر، تیم فنی آسا راه اتصال را طراحی و پیاده میکند. برای شروع با پشتیبانی آسا تماس بگیرید.
نگاشت داده را چه کسی انجام میدهد؟
روی SQL Server، تیم فنی، مدیر پایگاه داده یا شرکت پشتیبان نرمافزار شما View را با راهنمای عمومی آسا میسازد. اگر پایگاه داده دیگری دارید، پیادهسازی را تیم فنی آسا با همکاری شما انجام میدهد.
آیا ایجنت به همه دادههای ما دسترسی دارد؟
خیر. ایجنت با حسابی کار میکند که خودتان میسازید و فقط View صورتحساب را میخواند. چیزی که در View نباشد خوانده و ارسال نمیشود و ایجنت مستقیم در جدولهای نرمافزار شما نمینویسد.
تفاوت این روش با وبسرویس چیست؟
در این روش نرمافزار شما تغییر نمیکند و ایجنت داده را میخواند؛ در وبسرویس، نرمافزار شما خودش صورتحساب را برای آسا میفرستد. اگر تغییر کد نرمافزار دشوار است، اتصال از طریق پایگاه داده سادهتر است؛ اگر ثبت لحظهای یا استقلال از ویندوز میخواهید، وبسرویس مناسبتر است.
اطلاعات فروشنده را هم باید در View بیاوریم؟
خیر. هویت فروشنده از کسبوکار و حافظه مالیاتی تعریفشده در آسا گرفته میشود و View فقط اطلاعات صورتحساب، اقلام و خریدار را دارد.
روشهای دیگر اتصال به آسا
- پنل تحت وبسادهترین راه شروع؛ بدون نصب و بدون دانش فنی
- فایل اکسلتا ۵۰۰٬۰۰۰ ردیف در هر فایل، با خطایابی پیش از ثبت
- وبسرویس (API)یکپارچهسازی کامل برای تیمهای فنی و سامانههای فروش
- اتصال نرمافزار حسابداریصورتحسابهای سپیدار، هلو، تدبیر و سیبا، مستقیم در پنل آسا
- کارتخوانتراکنشهای کارتخوان را بدون ورود دستی به صورتحساب تبدیل کنید
برای شروع با این روش آمادهاید؟
ثبتنام در آسا رایگان است. اگر مطمئن نیستید این روش برای کسبوکار شما مناسب است، کارشناسان آسا راهنماییتان میکنند.
بدون هزینه ثبتنام، بدون گواهی امضا، بدون تعطیلی.