هر کس در اتریش کسبوکار دارد این پرسشها را میشناسد: آیا نام شرکت و نشانی مشتری جدید من درست است؟ آیا شرکت هنوز در دفتر ثبت شرکتها هست یا در حال انحلال است؟ آیا برای مشتریای که دو سال است به او کالا میرسانم، رسیدگی ورشکستگی آغاز شده است؟ پاسخها در دفتر ثبت شرکتها (Firmenbuch) وزارت دادگستری هستند، اما تقریباً هیچکس مرتب سر نمیزند. در Odoo مخاطب یک بار ایجاد میشود و پس از آن کهنه میشود.
برای همین ماژول ثبت شرکتها برای شرکا (partner_firmenbuch_at) را توسعه دادهایم. این ماژول مخاطبان Odoo را به دفتر ثبت شرکتها و به ثبت رسمی نشانی BEV وصل میکند. برای Odoo 19 نوشته شده و بهصورت نرمافزار آزاد تحت مجوز LGPL-3 بهطور رایگان در GitHub در دسترس است:
github.com/Alex0176/odoo-partner-firmenbuch-at
فهرست مطالب این نوشته
- مسئله: دادههای پایهای که کسی نگهداری نمیکند
- این ماژول چه میکند
- پیشنهاد بهجای بازنویسی
- هشدارها: ورشکستگی، انحلال، ترازنامه
- بررسی نشانی با ثبت نشانی BEV
- پیادهسازی فنی
- آنچه سرویس واقعی به ما آموخت
- نصب و راهاندازی
- حفاظت از دادهها: ماژول چه چیزی را به چه کسی میفرستد
- آزمونها
- محدودیتها و تذکر حقوقی
- پرسشهای متداول
- پشتیبانی از سوی Biricon IT Services
مسئله: دادههای پایهای که کسی نگهداری نمیکند
یک مخاطب در Odoo معمولاً زیر فشار زمان ایجاد میشود: نام، نشانی تقریبی، شاید یک UID. این برای اولین پیشنهاد قیمت کافی است. برای فاکتورهایی که باید از نظر حقوقی درست نشانیگذاری شوند کافی نیست و بهویژه برای متوجهشدن اینکه چیزی در نزد مشتری تغییر کرده است کافی نیست. در عمل چهار خلأ دیده میشود:
- دادههای پایهٔ ناقص. شمارهٔ ثبت شرکت، دادگاه و شکل حقوقی تقریباً همیشه وجود ندارند، چون جستوجو کار دستی است.
- املاهای نادرست. نام شرکت بدون شکل حقوقی، غلط تایپی در خیابان یا شهر، کد پستی جابهجاشده. این را فقط وقتی میفهمید که نامه برگردد.
- نبود پایش. اگر دادگاهی رسیدگی ورشکستگی را آغاز کند یا مشتری شرکت خود را منحل کند، Odoo از آن خبردار نمیشود. فروش به تأمین کالا بهصورت نسیه ادامه میدهد.
- منابع پراکنده. دفتر ثبت شرکتها، صورتهای مالی سالانه و ثبت نشانی در جاهای مختلف قرار دارند. هر کس بخواهد آنها را بررسی کند، دادهها را دستی بین پنجرههای مرورگر کپی میکند.
این ماژول چه میکند
- شرکتهای جدید جستوجو میشوند. وقتی کسی مخاطبی را بهعنوان شرکت ایجاد کند (کشور اتریش یا خالی)، ماژول ظرف چند دقیقه در دفتر ثبت شرکتها جستوجو میکند. اگر دقیقاً یک نتیجه وجود داشته باشد، فیلدهای خالی تکمیل میشوند: خیابان، کد پستی، شهر، کشور، شمارهٔ ثبت شرکت، دادگاه و شکل حقوقی.
- مغایرتها پیشنهاد میشوند، هرگز بازنویسی نمیشوند. اگر در مخاطب چیزی متفاوت از ثبت رسمی باشد، یک پیشنهاد تغییر ایجاد میشود که یک کارمند برای هر فیلد آن را تأیید میکند.
- جستوجوی دفتر ثبت شرکتها در مخاطب. در زبانهٔ ثبت شرکتها جستوجو شرکتها را بر اساس نام پیدا میکند، حتی اگر نتیجهٔ خودکار یکتا نبوده باشد.
- پایش روزانه. ماژول هر روز بررسی میکند کدام شرکتها و اسناد در ثبت رسمی تغییر کردهاند و مشتریان مربوط را وارسی میکند. افزون بر این، هر شرکت در فواصل قابلتنظیم بهطور کامل دوباره بررسی میشود.
- سطوح هشدار. رسیدگیهای ورشکستگی و بازسازی بازشده (از وقایع حقوقی ثبت رسمی)، انحلال، حذف از ثبت، حقوق صاحبان سهام منفی و نسبت پایین حقوق صاحبان سهام شناسایی میشوند و در مخاطب قابلمشاهده میگردند.
- بررسی نشانی. نشانیهای اتریشی بهصورت محلی با ثبت رسمی نشانی «اداره فدرال سنجش و نقشهبرداری» (BEV) بررسی میشوند.
- دادههای ثبت رسمی در مخاطب. دادگاه، شکل حقوقی، مدیرعامل و وقایع حقوقی در زبانهٔ ثبت شرکتها قرار دارند. آنها بازتاب ثبت رسمیاند و مستقیماً بهروز میشوند.
- اعلانها فقط به داخل. همهٔ پیامها به کانال داخلی Discuss با نام ثبت شرکتها و به Chatter مخاطب میروند. یک اجرای بررسی روی چندین شرکت یک پیام جمعی ایجاد میکند، نه یکی برای هر شرکت. ماژول هرگز چیزی برای مشتریان نمیفرستد.
پیشنهاد بهجای بازنویسی
دادههای رسمی لزوماً دادههای بهتر برای کسبوکار شما نیستند: شاید در مخاطب عمداً نشانی تحویل ثبت شده باشد، شاید یک نام کوتاه رایج شده باشد. به همین دلیل ماژول هرگز خودش مقادیر موجود را تغییر نمیدهد. فقط فیلدهای خالی را تکمیل میکند و در صورت مغایرت یک پیشنهاد ایجاد میکند.
در مخاطبان ← ثبت شرکتها ← پیشنهادهای ثبت شرکتها برای هر فیلد مقدار فعلی و مقدار ثبت رسمی را میبینید. فیلدهایی را که نمیخواهید بپذیرید، انتخابنشده رها کنید. با پذیرش موارد انتخابشده فقط فیلدهای علامتخورده نوشته میشوند و با رد پیشنهاد منقضی میشود. پیشنهاد جدید جایگزین پیشنهادهای بازِ قدیمیتر همان مخاطب میشود تا مقادیر منسوخ اعمال نشوند.
هشدارها: ورشکستگی، انحلال، ترازنامه
ماژول سه سطح را از هم تفکیک میکند:
- بدون مشکل: چیزی برای گزارش وجود ندارد.
- هشدار (زرد): در ثبت رسمی ورودیهای معتبری دربارهٔ انحلال، فسخ، تصفیه، حذف یا ادغام وجود دارد، شرکت بهعنوان حذفشده علامت خورده است، یا یک رسیدگی ورشکستگی قبلی در سالهای اخیر لغو شده است (پیشفرض سه سال، قابلتنظیم). یا صورت مالی سالانه حقوق صاحبان سهام منفی، نسبت حقوق صاحبان سهام کمتر از 8 % (پیشفرض بر مبنای § 23 URG، قابلتنظیم)، زیان سالانه یا افت فروش به میزان 25 % و بیشتر را نشان میدهد.
- بحرانی (قرمز): یک رسیدگی ورشکستگی، افلاس یا بازسازی آغاز شده و هنوز لغو نشده است، یا درخواستی بهدلیل نبود دارایی کافی برای پوشش هزینهها رد شده است. مورد اخیر بهمنزلهٔ ناتوانی در پرداخت تلقی میشود.
در مخاطب یک بنر رنگی ظاهر میشود، در فهرست مخاطبان یک نشانه، و در جستوجو فیلترهایی برای هشدار ثبت شرکتها و بحرانی در ثبت شرکتها وجود دارد. اگر مشتریای بحرانی شود، فروشندهٔ مسئول (در غیاب او مدیر سیستم) یک فعالیت با عنوان ثبت شرکتها: بررسی مشتریان دریافت میکند و کانال ثبت شرکتها یک پیام میگیرد.
وقایع حقوقی. رسیدگیهای ورشکستگی در ثبت رسمی در متن شرکت نیستند، بلکه بهصورت وقایع حقوقی با تاریخ، شمارهٔ پرونده و دادگاه ثبت میشوند. ماژول آنها را میخواند، آغاز و لغو را به همان شمارهٔ پرونده نسبت میدهد و در مخاطب بهصورت فهرست نشان میدهد. به این ترتیب یک رسیدگی لغوشده پس از چند سال فقط یک اطلاع است و یک رسیدگی جاری قرمز است.
صورتهای مالی سالانه. اگر آخرین صورت مالی سالانه بهصورت XML موجود باشد، ماژول حقوق صاحبان سهام، نتیجهٔ سالانه، مجموع ترازنامه و فروش را میخواند و نسبت حقوق صاحبان سهام، تغییر فروش و طبقهٔ اندازه را طبق § 221 UGB محاسبه میکند (از جمله شرکتهای بسیار کوچک). شرکتهای کوچک ملزم به انتشار فروش خود نیستند؛ در آن صورت ماژول فروشی نشان نمیدهد. نتیجهٔ آنها را از سود ترازنامه منهای سود انتقالی استخراج میکند و بهعنوان برآورد علامت میزند. نام اقلامی که جستوجو میشوند قابلتنظیم است، چون ساختار XML بسته به فرم متفاوت است.
بررسی نشانی با ثبت نشانی BEV
BEV ثبت نشانی را بهصورت دادههای باز در اختیار میگذارد (Adresse Relationale Tabellen – Stichtagsdaten، هر سال دو بار تاریخ مبنای جدید، استفادهٔ رایگان با ذکر منبع). ماژول این استخراج را از طریق سرویس رسمی INSPIRE-ATOM دانلود میکند، حدود 120 MB با حدود 2,5 میلیون نشانی، و آن را در جدولهای اختصاصی و سبک وارد میکند.
پس از آن هر نشانی شرکتی اتریشی که خیابان دارد هنگام ایجاد و در هر تغییر بهصورت محلی بررسی میشود: کد پستی، خیابان، شمارهٔ ساختمان، شهر و ایالت. هیچ نشانیای به هیچ سرویسی ارسال نمیشود. نتیجه بهصورت یک نشانگر زیر نشانی نمایش داده میشود:
- معتبر: نشانی به همین شکل در ثبت رسمی وجود دارد.
- شمارهٔ ساختمان ناشناخته: خیابان و شهر درست است، شمارهٔ ساختمان نه.
- اصلاح پیشنهاد شده: غلط تایپی در خیابان یا شهر، کد پستی نادرست. اصلاح بهصورت پیشنهاد آماده است.
- یافت نشد: ثبت رسمی این نشانی را نمیشناسد.
ایالت خالی مستقیماً تکمیل میشود. نشانیهای خصوصی مخاطبان (نوع نشانی خصوصی) بررسی نمیشوند. ذکر منبع © Österreichisches Adressregister, Stichtagsdaten vom … با تاریخ مبنای فعلی در تنظیمات آمده است. بهروزرسانی هفتگی اجرا میشود، اما فقط وقتی دانلود میکند که BEV تاریخ مبنای جدیدتری منتشر کرده باشد.
پیادهسازی فنی
دسترسی به ثبت رسمی
وزارت دادگستری دفتر ثبت شرکتها را از طریق FBW-WebServices (HVD) در JustizOnline بهصورت یک رابط SOAP ارائه میدهد. دسترسی رایگان است، اما به یک کلید API نیاز دارد که با ID Austria زیر Informationsweiterverwendung درخواست میشود. کلید در سرآیند HTTP با نام X-API-KEY ارسال میشود. ماژول از سرویس مستقیماً استفاده میکند، بدون Screen-Scraping.
کلاینت models/firmenbuch_client.py Python خالص و بدون وابستگی به Odoo است. این کلاینت استعلامهای SUCHEFIRMAREQUEST، AUSZUG_V2_REQUEST، SUCHEURKUNDEREQUEST، URKUNDEREQUEST و نیز VERAENDERUNGENFIRMAREQUEST و VERAENDERUNGENURKUNDEREQUEST را میشناسد. به همین دلیل میتوان آن را با پاسخهای ذخیرهشده آزمود. درخواستها با فاصلهٔ 0,3 ثانیه ارسال میشوند و استعلامهای تغییرات در بلوکهای هفتروزه.
ارزیابی استخراج
از استخراج فقط ورودیهایی استفاده میشود که هنوز معتبرند (ویژگی AUFRECHT برابر false نباشد). نام از شناسهٔ داده FI_DKZ02، نشانی از FI_DKZ03، مقر از FI_DKZ06 و شکل حقوقی از FI_DKZ07 میآید. افزون بر اینها دادگاه، نشانی وب، اشخاص دارای اختیار نمایندگی و وقایع حقوقی. برای سطح هشدار، متن همهٔ ورودیهای معتبر برای کلیدواژههای قابلتنظیم جستوجو میشود:
DEFAULT_CRITICAL = "Konkursverfahren, Insolvenzverfahren, Sanierungsverfahren, Konkurs eröffnet, ..."
DEFAULT_WARNING = "Liquidation, aufgelöst, Auflösung, Abwicklung, Löschung, gelöscht, Verschmelzung, in Liqu."
مزیت بررسی کلیدواژه: مستقل از اینکه ثبت رسمی یک رخداد را در کدام فیلد نگه میدارد کار میکند. عیب آن در بخش محدودیتها آمده است.
پایش
ماژول سه اقدام زمانبندیشده ایجاد میکند:
- جستوجوی شرکتهای جدید (هر 10 دقیقه، تا 20 مخاطب در هر اجرا). افزون بر این، بلافاصله هنگام ایجاد نیز آغاز میشود.
- پایش شرکتها (روزانه 04:30). شرکتها و اسنادی را که از آخرین اجرا تغییر کردهاند استعلام میکند (حداکثر 30 روز به عقب)، مشتریان مربوط را بررسی میکند و پس از آن تا 50 مشتری را که آخرین بررسیشان بیش از مهلت تنظیمشده گذشته است. هر شرکت در تراکنش جداگانه ذخیره میشود تا یک خطا نتایج قبلی را از بین نبرد. نتیجهٔ اجرا بهصورت یک پیام جمعی به کانال میرسد.
- بهروزرسانی ثبت نشانی (هفتگی 03:15).
بدون کلید API، دو مورد اول بلافاصله برمیگردند. یک مجموع کنترلی برای هر شرکت مانع از آن میشود که استخراجهای بدون تغییر دوباره ارزیابی شوند.
ثبت نشانی
دادههای BEV در سه جدول قرار دارند (bev.locality، bev.street، bev.address) با یک ایندکس روی کد پستی، کد خیابان و شمارهٔ ساختمان. وارد کردن از طریق COPY در یک تراکنش انجام میشود، بنابراین جدولها در یک گام جایگزین میشوند. شمارهٔ ساختمانها به شیوهٔ نگارش ثبت رسمی نرمال میشوند (51-55، 12a). با شمارهٔ ساختمانها، جدولها حدود 400 MB در پایگاه داده فضا میگیرند. هر کس این را نمیخواهد، بررسی شمارهٔ ساختمان را خاموش میکند و با حدود 150.000 ردیف کار را پیش میبرد.
آنچه سرویس واقعی به ما آموخت
ماژولی که فقط با پاسخهای آزمایشی ساختهٔ خودمان آزموده شده باشد هنوز تمامشده محسوب نمیشود. به همین دلیل پیش از انتشار کلاینت را با سرویس واقعی آزمودیم، با کلید شرکت خودمان. در این میان چندین مورد اختلاف با فرضهایمان آشکار شد که آنها را برطرف کردهایم:
- فقط اطلاعات مختصر. استخراج با این کلید فقط در حد اطلاعات مختصر قابل دریافت است. درخواستهایی با اطلاعات کامل را سرویس رد میکند. در نسخهٔ 1.0.0 اجرای روزانه هنوز این را اشتباه درخواست میکرد؛ نسخهٔ 1.1.0 آن را برطرف میکند. از اشخاص، ماژول فقط نام مدیرعاملهای دارای اختیار نمایندگی را برمیدارد؛ شرکا و نشانی اشخاص خوانده نمیشوند.
- خیابان و شمارهٔ ساختمان جدا. نشانی بهصورت
STRASSEوHAUSNUMMERدر عنصرهای جداگانه میآید، نه بهصورت یک متن. ماژول هر دو را کنار هم میگذارد. - دادگاه در بخش اجرا. دادگاه صلاحیتدار در بخش شرکت نیست، بلکه در آخرین بلوک
VOLLZاستخراج قرار دارد. - شرکتهای حذفشده. شرکت حذفشده را از یک ویژگی (
MIT_FIRMA_GELOESCHT_DURCH_VNR) میتوان تشخیص داد، نه از یک متن. ماژول از آن یافتهٔ شرکت حذف شده را میسازد که یک هشدار را فعال میکند. - نام شرکت کلیدواژهٔ جستوجو نیست. جستوجو ابتدای نام را مقایسه میکند. «Muster GmbH» چیزی پیدا نمیکند اگر ثبت رسمی «Muster Gesellschaft m.b.H.» بنویسد؛ شرکتهای در حال انحلال «in Liqu.» را در نام خود دارند و در نام مخاطب گاهی هنوز
&هست. به همین دلیل ماژول جستوجو را بدون شکل حقوقی تکرار میکند و نامها را بدون تفاوتهای نگارشی شکل حقوقی، بدون نویسههای HTML و بدون افزودهٔ «in Liqu.» مقایسه میکند. یک نتیجهٔ تکی فقط زمانی پذیرفته میشود که نام آن با نام مخاطب آغاز شود. - تغییرات اسناد بدون شمارهٔ ثبت شرکت. فهرست اسناد تغییریافته فقط یک کلید دارد. شمارهٔ ثبت شرکت (بدون حرف کنترلی) در ابتدای این کلید قرار دارد. ماژول تغییرات را از این طریق به مشتریان نسبت میدهد.
برای هر یک از این موارد اکنون یک آزمون خودکار با پاسخ بازسازیشده وجود دارد.
آزمون روی پایگاه مشتریان خودمان
پس از نسخهٔ 1.1.0 ماژول را روی پایگاه مشتریان خودمان آزمودیم. ابتدا فقط یک جستوجوی نامِ فقطخواندنی اجرا شد، سپس نسبتدادن نتایج یکتا. در این میان هیچ چیز بدون توجه به مقادیر موجود تغییر نکرد: فیلدهای خالی تکمیل شدند، مغایرتها بهصورت پیشنهاد برای تأیید آمادهاند و حتی یک ایمیل هم ارسال نشد. نتیجه، بدون نامبردن از شرکتهای منفرد:
- 438 مخاطب شرکتی با وضعیت مشتری در اتریش یا بدون کشور جستوجو شدند.
- 138 مورد از آنها بهطور یکتا در دفتر ثبت شرکتها تطبیق داده شدند. 18 مورد دیگر یک نتیجهٔ یکتا بر اساس نام داشتند اما نشانی دیگری در ثبت رسمی (جابهجایی یا شرکت همنام) و به همین دلیل دستنخورده ماندند. 2 نام مبهم هستند.
- حدود 280 مورد را پیدا نکردیم یا فقط بهصورت نتیجهٔ جزئی یافتیم. اینها اشخاص حقیقی، کسبوکارهای انفرادی، شرکتهای خارجی، مخاطبانی که فقط یک برند یا یک مکان را نام میبرند، و شرکتهایی هستند که نامشان در مخاطب با ثبت متفاوت است، مثلاً چون آنجا شکل حقوقی دیگری آمده است. برای آنها جستوجوی دفتر ثبت شرکتها بهصورت دستی باقی میماند.
- 63 پیشنهاد تغییر ایجاد شد، بیشتر برای خیابان و شمارهٔ ساختمان (نگارش) و کشور.
- 66 هشدار، بدون سطح بحرانی. 36 شرکت در ثبت رسمی بهعنوان حذفشده علامت خوردهاند (9 مورد از آنها در حال انحلال نیز هستند)، 2 مورد یک رسیدگی ورشکستگی داشتند که اکنون لغو شده است و در 42 مورد صورت مالی سالانه جلب توجه کرد: نسبت پایین حقوق صاحبان سهام، زیان یا افت فروش. یک شرکت حذفشده لزوماً مشتری ازدسترفته نیست، اما دلیلی است برای بررسی نشانی و گیرندهٔ فاکتور.
دو درس از این: یک پایگاه مشتریان از کسبوکار واقعی آزمونی بسیار بهتر از هر پاسخ بازسازیشده است. ما در این کار خطاهایی در جستوجوی نام یافتیم که در نسخهٔ 1.1.1 برطرف شدهاند (بالا را ببینید). و نرخ نتیجه بهشدت به این بستگی دارد که مخاطبان با چه دقتی نامگذاری شده باشند: کسی که نام شرکت را همانگونه مینویسد که ثبت رسمی آن را نگه میدارد، بهطور قابلاعتماد پیدا میشود.
نصب و راهاندازی
پیشنیازها: Odoo 19.0 با برنامههای استاندارد مخاطبان و Discuss، بستهٔ Python با نام requests (در هر نصب Odoo موجود است) و دسترسی خروجی HTTPS به justizonline.gv.at و data.bev.gv.at. ماژول هیچ وابستگیای خارج از برنامههای استاندارد ندارد، یعنی ماژول دیگری را نصب نمیکند.
- پوشهٔ
partner_firmenbuch_atرا درaddons_pathقرار دهید، فهرست برنامهها را بهروز کنید و ماژول را نصب کنید؛ در سیستمهای عملیاتی بهتر است ابتدا روی یک پایگاهدادهٔ آزمایشی. - ماژول کانال Discuss با نام ثبت شرکتها (کاربران داخلی) را ایجاد میکند و همهٔ مدیران را در آن ثبت میکند. افزون بر این سه اقدام زمانبندیشده ایجاد میشوند.
- کلید API را درخواست کنید: JustizOnline (ID Austria)، Informationsweiterverwendung، API FBW.
- تنظیمات ← ثبت شرکتها: کلید را وارد کنید و آزمون اتصال را بزنید. سپس کانال، گزینهها، کلیدواژهها و کدهای اقلام را انتخاب کنید.
odoo-bin -c /etc/odoo/odoo.conf -d <datenbank> -i partner_firmenbuch_at --stop-after-init
مهم در سیستمهای عملیاتی: نخستین اجرای بهروزرسانی ثبت نشانی بهطور خودکار در شبِ پس از نصب ساعت 03:15 آغاز میشود و حدود 120 MB دانلود میکند. پس از آن همهٔ مخاطبان اتریشی بررسی میشوند؛ موارد قابلتوجه بهصورت پیشنهاد و یک پیام در کانال ظاهر میشوند. هر کس این را نمیخواهد، پیشتر اقدام زمانبندیشدهٔ ثبت نشانی (BEV): بهروزرسانی را غیرفعال میکند یا بررسی نشانیهای اتریشی را در تنظیمات خاموش میکند.
واردسازی انبوه: با کلیدهای زمینهٔ fb_no_lookup=True و bev_no_check=True وارد کنید. در غیر این صورت هر شرکت اتریشی واردشده برای یک استعلام ثبت رسمی صف میشد (20 مورد در هر ده دقیقه) و هر نشانی هنگام ایجاد بررسی میشد.
حفاظت از دادهها: ماژول چه چیزی را به چه کسی میفرستد
- مرتبط با اشخاص: نام مدیرعاملها دادههای شخصی هستند، حتی اگر در ثبت رسمی بهطور عمومی ثبت شده باشند. ماژول آنها را فقط برای نگهداری رابطهٔ تجاری ذخیره میکند. هر کس این را نمیخواهد، فیلد را حذف میکند یا از آن استفاده نمیکند.
- دفتر ثبت شرکتها: فقط نام یا شمارهٔ ثبت شرکت مخاطبانی که بهعنوان شرکت علامت خوردهاند (بدون شرکت مافوق، کشور اتریش یا خالی) به
justizonline.gv.atارسال میشود، همراه با کلید API. اشخاص حقیقی و رابطان یک شرکت هرگز ارسال نمیشوند. - ثبت نشانی: فقط استخراج عمومی دانلود میشود. نشانی مشتریان از سیستم خارج نمیشود.
- بدون ایمیل به مشتریان: اعلانها به کانال داخلی، به Chatter و بهصورت فعالیت برای کارمندان میروند.
- کلید: کلید API فقط برای مدیران قابلمشاهده است.
دفتر ثبت شرکتها یک ثبت عمومی است. استفادهٔ مجدد از دادهها تابع شرایط Informationsweiterverwendung در JustizOnline است.
آزمونها
ماژول 18 آزمون خودکار همراه دارد. این آزمونها با پاسخهای بازسازیشدهٔ ثبت رسمی و یک استخراج نشانی مینیاتوری کار میکنند و به همین دلیل نه کلید API لازم دارند و نه شبکه:
- نرمالسازی شمارهٔ ثبت شرکت
- ارزیابی استخراج (نام، نشانی، دادگاه، مدیرعامل، شرکت حذفشده، ورودیهای نامعتبر نادیده گرفته میشوند)
- مقایسهٔ نام: تفاوتهای نگارشی شکل حقوقی، «in Liqu.»، نویسههای HTML، عدم تطابق با یک شرکت بیگانه
- صورت مالی سالانه: حقوق صاحبان سهام، نتیجه، مجموع ترازنامه
- شرکت جدید پیدا میشود، فیلدهای خالی تکمیل میشوند، مغایرتها پیشنهاد میشوند، پیشنهاد بهطور جزئی اعمال میشود
- پایش: رسیدگی ورشکستگی بازشده سطح را روی بحرانی میگذارد و فعالیت ایجاد میکند، رسیدگی لغوشده یک هشدار میدهد، رابطان جداگانه بررسی نمیشوند
- تغییرات اسناد از طریق کلید نسبت داده میشوند
- بدون کلید API هیچ استعلامی انجام نمیشود
- بررسی نشانی در برابر استخراج مینیاتوری
odoo-bin -d <testdatenbank> -i partner_firmenbuch_at \
--test-enable --test-tags=/partner_firmenbuch_at --stop-after-init
ترجمهٔ آلمانی در i18n/de.po قرار دارد.
محدودیتها و تذکر حقوقی
- یک نتیجه یک اشاره است، نه مشاورهٔ حقوقی. وضعیت از کلیدواژهها در ورودیهای معتبر ثبت رسمی استنتاج میشود. پیش از تصمیم دربارهٔ اعتبار یا شرایط تحویل، خودتان ثبت رسمی را بررسی کنید.
- شناسایی ورشکستگی فقط با موارد بازسازیشده آزموده شده است. ماژول رسیدگیها را از واژههای موجود در متن آزاد وقایع حقوقی تشخیص میدهد (آغاز، لغو، طرح بازسازی تأییدشده، بهدلیل نبود دارایی). قالب آنها را از روی یک استخراج واقعی ثبت رسمی بازسازی کردهایم، اما هنگام توسعه یک مورد ورشکستگی واقعی در اختیار نداشتیم. بنابراین ممکن است عبارتبندی غیرمعمولی نادیده گرفته شود. ماژول جایگزین پروندهٔ رسمی Edikt نیست.
- صورتهای مالی سالانه فقط بهصورت XML. ارائههای صرفاً PDF نادیده گرفته میشوند. در شرکتهای بسیار کوچک ممکن است ترازنامه بهصورت خلاصه و بدون اعدادی که ماژول میخواند ارائه شده باشد.
- فقط اتریش. شرکتهای خارجی استعلام نمیشوند. وبسایتهای شرکتها در ثبت رسمی نیستند و تکمیل نمیشوند.
- انتساب خودکار فقط در صورت نتیجهٔ یکتا. اگر چند شرکت با نام یکسان وجود داشته باشد، یک پیام در کانال از جستوجوی دفتر ثبت شرکتها بهصورت دستی میپرسد.
- رابطها ممکن است تغییر کنند. ماژول به سرویسهای BMJ و BEV وابسته است. اگر نقطهٔ پایانی، طرحواره یا فید ATOM تغییر کند، ممکن است بهروزرسانی لازم شود.
- آزمونشده برای Odoo 19. توسعه و آزمون برای Odoo 19.0 Community. برای نسخههای دیگر آن را بررسی نکردهایم. این مقاله مشاورهٔ حقوقی نیست.
پرسشهای متداول
آیا دسترسی به ثبت رسمی هزینهای دارد؟
تا جایی که ما میدانیم نه: FBW-WebServices برای Informationsweiterverwendung رایگان است، اما به یک کلید API نیاز دارد که از طریق JustizOnline درخواست میکنید. آنچه معتبر است شرایط جاری وزارت دادگستری است.
آیا دادههای موجود مخاطبان بازنویسی میشوند؟
خیر. ماژول فقط در فیلدهای خالی وارد میکند. مقادیر مغایر بهصورت پیشنهاد ایجاد میشوند که یک کارمند برای هر فیلد آن را تأیید میکند.
آیا مشتریان من از این بررسی چیزی متوجه میشوند؟
خیر. همهٔ اعلانها به کانال داخلی، به Chatter مخاطب و بهصورت فعالیت برای کارمندان میروند. ماژول هیچ ایمیلی به مشتریان ارسال نمیکند.
آیا مدیرعاملها یا شرکا ذخیره میشوند؟
نام مدیرعاملهای دارای اختیار نمایندگی بله (فیلد مدیرعامل در زبانهٔ ثبت شرکتها)، شرکا و نشانی اشخاص نه. با نامها مانند دادههای شخصی رفتار کنید.
ماژول چند نفر از مشتریان ما را پیدا میکند؟
این به پایگاه مشتریان بستگی دارد. در مورد ما 138 مورد از 438 مخاطب شرکتی بود (حدود یکسوم). بقیه اشخاص حقیقی، کسبوکارهای انفرادی، شرکتهای خارجی و مخاطبانی هستند که نامشان با نام شرکت مطابقت ندارد. اعداد در بخش آزمون روی پایگاه مشتریان خودمان آمدهاند.
آیا میتوانم مشتریای را بدون شمارهٔ ثبت شرکت پیدا کنم؟
بله. زبانهٔ ثبت شرکتها دکمهٔ جستوجوی دفتر ثبت شرکتها را دارد که بر اساس نام جستوجو میکند. ماژول فقط زمانی بهطور خودکار وارد میکند که دقیقاً یک شرکت مطابقت داشته باشد. در غیر این صورت نتیجه را خودتان انتخاب میکنید.
با شرکتهای آلمان یا سوئیس چه میشود؟
آنها استعلام نمیشوند. ماژول فقط مخاطبان با کشور اتریش یا بدون کشور را بررسی میکند.
بررسی نشانی چقدر حافظه لازم دارد؟
با شمارهٔ ساختمان حدود 400 MB در پایگاه داده و هنگام واردسازی حدود 120 MB فضای موقت دیسک. بدون بررسی شمارهٔ ساختمان حدود 150.000 ردیف کافی است.
اگر فقط دفتر ثبت شرکتها را بخواهم و بررسی نشانی را نه، چه کنم؟
بررسی نشانیهای اتریشی را در تنظیمات خاموش کنید و اقدام زمانبندیشده برای ثبت نشانی را غیرفعال کنید. در آن صورت هیچ چیزی دانلود نمیشود.
ماژول تحت چه مجوزی است؟
تحت LGPL-3. میتوانید از آن استفاده کنید، آن را سازگار کنید و منتشر کنید. خطاها و پیشنهادهای بهبود را بهصورت Issue در مخزن GitHub با خوشحالی میپذیریم.
پشتیبانی از سوی Biricon IT Services
ما نصبهای Odoo را برای کسبوکارهای کوچک و متوسط پشتیبانی میکنیم: از راهاندازی اولیه و سفارشیسازیها و مهاجرتها تا بهرهبرداری جاری. اگر میخواهید دادههای پایهٔ مشتریان را در Odoo مرتب نگه دارید، ریسکهای اعتباری را زودتر تشخیص دهید یا ماژولی مانند این را بررسی کنید و با اطمینان به نمونهٔ عملیاتی خود بیاورید، با کمال میل در کنار شما هستیم. توسعههای داخلی دیگر ما را در وبلاگمان مییابید، برای مثال مجموعههای محصول در پیشنهاد قیمت بهصورت بخش و Web RBL، فهرست انسداد برای ترافیک حمله.
تاریخ بروزرسانی: ۳ نوامبر ۲۰۲۶. نسخهٔ ماژول 19.0.1.1.1. دادهٔ نمونه در تصاویر آزادانه انتخاب شدهاند و شرکتهای واقعی نیستند.