صرف نظر و مشاهده محتوا

Odoo 19: اقلام باز در پورتال مشتریان با تاریخ مبنا و خروجی PDF – ماژول portal_open_items

5 نوامبر 2026 | Odoo 19 Community | توسعه‌ی داخلی
5 نوامبر 2026 توسط
Odoo 19: اقلام باز در پورتال مشتریان با تاریخ مبنا و خروجی PDF – ماژول portal_open_items

ماژول portal_open_items برای Odoo 19: فهرست اقلام باز در پورتال مشتریان با تاریخ مبنا و خروجی PDF

«راستی هنوز چقدر از شما طلبکاریم؟» این پرسش در هر پایگاه مشتریان به‌طور مرتب مطرح می‌شود، معمولاً درست پیش از پایان فصل، پیش از حسابرسی صورت‌های مالی سالانه یا زمانی که حسابداری مشتری مشغول آماده‌سازی پرداخت‌هاست. کسی که خودش به این پرسش پاسخ ندهد، آن را از طریق ایمیل یا تلفن دریافت می‌کند و باید یک فهرست اقلام باز (فهرست OP) از حسابداری استخراج و ارسال شود. در Odoo 19 Community این کار خودبه‌خود انجام نمی‌شود: پورتال مشتریان فاکتورها را به‌صورت جداگانه نشان می‌دهد، اما فهرستی از اقلام باز کل شرکت ارائه نمی‌دهد، آن هم در یک روز دلخواه.

برای این منظور ماژول اقلام باز در پورتال مشتریان (portal_open_items) را برای Odoo 19 نوشته‌ایم. مشتریانی که دسترسی‌شان فعال شده است، در پورتال فهرستی از همه‌ی فاکتورهای باز، اسناد بستانکاری و پرداخت‌های هنوز تخصیص‌نیافته‌ی شرکت خود را می‌بینند، می‌توانند یک تاریخ مبنا انتخاب کنند، فهرست را به‌صورت PDF دریافت کنند و با یک نگاه می‌بینند که رفتار پرداخت آن‌ها در چه وضعیتی است. این ماژول نرم‌افزار آزاد تحت مجوز AGPL-3 است و در GitHub قرار دارد:

github.com/Alex0176/odoo-portal-open-items

ما این ماژول را در 5 نوامبر 2026 روی سامانه‌ی عملیاتی خودمان نصب کردیم. گزینه‌ی آن در آنجا به‌طور پیش‌فرض غیرفعال است و فقط پس از هماهنگی با هر یک از مشتریان فعال می‌شود. بنابراین تجربه‌ی بهره‌برداری هنوز کوتاه است؛ آزمون ما شامل سیزده آزمون خودکار و یک پایگاه داده‌ی آزمایشی با مشتریان نمونه بوده است. هر کس این ماژول را به کار می‌گیرد، باید بخش‌های مربوط به محاسبه‌ی تاریخ مبنا، مربوط به رفتار پرداخت و محدودیت‌ها را بخواند.

مسئله: فهرست OP بنا به درخواست

یک فهرست اقلام باز نشان می‌دهد کدام فاکتورهای یک مشتری هنوز پرداخت نشده‌اند، کدام‌یک سررسیدگذشته‌اند و مانده چقدر است. برای تأمین‌کننده، ابزاری برای برنامه‌ریزی نقدینگی و پیگیری مطالبات است. برای مشتری، مبنایی است برای برنامه‌ریزی پرداخت‌ها، تطبیق فاکتورها با حسابداری خود و روشن کردن ابهامات، بدون آنکه لازم باشد هر فاکتور را جداگانه باز کند. موارد استفاده‌ی رایج:

  • بستن حساب فصلی و سالانه: حسابداری مشتری می‌خواهد بداند در 31.12. چه بدهی‌هایی وجود داشته است. این یک تاریخ مبنا در گذشته است.
  • تطبیق: مشتری گمان می‌کند فاکتوری را پرداخت کرده است، اما ما آن را هنوز باز می‌بینیم. یک فهرست مشترک با تاریخ، سررسید و مبلغ این موضوع را سریع‌تر از زنجیره‌ای از ایمیل‌ها روشن می‌کند.
  • دوره‌های پرداخت: هر کس هفتگی یا ماهانه پرداخت‌ها را آماده می‌کند، همه‌ی فاکتورهای باز یک تأمین‌کننده را یک‌جا لازم دارد، با اقلام سررسیدگذشته در بالا.
  • چند مخاطب: در یک شرکت، یک نفر سفارش می‌دهد و دیگری پرداخت می‌کند. اقلام باز متعلق به شرکت است، نه به یک شخص.

تاکنون این فهرست‌ها را دستی از حسابداری استخراج می‌کردیم و با ایمیل می‌فرستادیم. این کار وقت می‌گیرد و در نهایت تصویری لحظه‌ای است که فردای آن روز منسوخ می‌شود. بهتر آن است که مشتری هر زمان خودش فهرست را در پورتال باز کند، همیشه با آخرین وضعیت.

نگاه کلی به راه‌حل

این ماژول به پورتال مشتریان Odoo یک صفحه‌ی اقلام باز و یک کاشی در حساب من اضافه می‌کند. امکانات آن:

  • گزینه برای هر مخاطب: «نمایش فهرست اقلام باز در پورتال». فقط در صورت فعال بودن این گزینه، کاربر پورتال کاشی و صفحه را می‌بیند. به‌طور پیش‌فرض غیرفعال است.
  • کل شرکت: فهرست شامل اقلام باز همه‌ی مخاطبان شرکت است، نه فقط کاربری که وارد شده است.
  • تاریخ مبنا: مشتری یک تاریخ انتخاب می‌کند و می‌بیند در آن روز چه چیزی باز بوده است.
  • خروجی PDF: فهرست به‌صورت PDF در قالب شرکت شما، با سربرگ، مانده و مجموع اقلام سررسیدگذشته.
  • رفتار پرداخت: سهم فاکتورهای پرداخت‌شده در موعد، با تأخیر اندک و با تأخیر زیاد، طولانی‌ترین فاکتور باز و ارزیابی خوب یا بد، در پورتال و در PDF.
  • اقلام سررسیدگذشته با رنگ مشخص شده‌اند و تعداد روزهای گذشته از تاریخ سررسید را نشان می‌دهند.
  • اسناد بستانکاری و مطالبات مشتری با مبلغ منفی در فهرست قرار می‌گیرند و از مانده می‌کاهند.
  • پیوند: هر فاکتور در فهرست به نمای فاکتور در پورتال منتهی می‌شود.
  • چندزبانه: رابط کاربری و PDF از زبان کاربر پیروی می‌کنند؛ ترجمه‌ی آلمانی همراه ماژول ارائه می‌شود.

پورتال مشتریان در Odoo 19 با کاشی اقلام باز در کنار سفارش‌ها و فاکتورها

این کاشی در صفحه‌ی اصلی حساب من در کنار سفارش‌ها و فاکتورها نمایش داده می‌شود. کسی که این گزینه را ندارد، آن را نمی‌بیند.

فعال‌سازی برای هر مخاطب: گزینه

یک فهرست OP داده‌های تجاری کل یک شرکت را نشان می‌دهد. به همین دلیل ماژول آن را برای همه‌ی کاربران پورتال فعال نمی‌کند، بلکه فقط جایی که شما صراحتاً بخواهید. در فرم مخاطب، زیر وب‌سایت، کادر انتخاب «نمایش فهرست اقلام باز در پورتال» قرار دارد. این کادر برای کاربران دارای دسترسی فاکتور (گروه account.group_account_invoice) قابل مشاهده است و برای همان یک مخاطب اعمال می‌شود.

فرم مخاطب در Odoo با گزینه‌ی نمایش فهرست اقلام باز در پورتال

این با رویه‌ی عملی سازگار است: در یک شرکت، مدیریت یا حسابداری باید فهرست را ببیند، اما کارمندی که فقط تیکت‌ها را مشاهده می‌کند نباید. این گزینه برای مخاطب اعمال می‌شود، اما اقلام نمایش‌داده‌شده به کل شرکت تعلق دارند. بنابراین گزینه را برای کسی فعال کنید که باید دید کلی از شرکت داشته باشد.

فهرست در پورتال مشتریان

با یک کلیک روی کاشی، /my/open-items باز می‌شود. این صفحه نام شرکت، انتخاب تاریخ مبنا و جدول اقلام باز را نشان می‌دهد:

فهرست اقلام باز در پورتال مشتریان Odoo با فاکتورهای سررسیدگذشته، سند بستانکاری، مانده و مجموع اقلام سررسیدگذشته

ستونمحتوا
سندشماره‌ی سند فاکتور یا سند بستانکاری، با پیوند به نمای فاکتور در پورتال؛ در زیر آن مرجع، در صورت وجود
تاریختاریخ فاکتور یا تاریخ ثبت
سررسیدتاریخ سررسید؛ برای اقلام سررسیدگذشته در زیر آن «n روز سررسیدگذشته» به رنگ قرمز
مبلغمبلغ اولیه‌ی قلم
بازمبلغ هنوز باز (پس از پرداخت‌های جزئی)

زیر جدول، مانده، یعنی مجموع همه‌ی مبالغ باز، و مجموع اقلام سررسیدگذشته قرار دارد. ردیف‌های سررسیدگذشته رنگ پس‌زمینه دارند تا هنگام مرور سریع بلافاصله دیده شوند. اسناد بستانکاری و پرداخت‌هایی که هنوز به فاکتوری تخصیص نیافته‌اند، با علامت منفی نمایش داده می‌شوند و از مانده می‌کاهند؛ یادداشتی زیر جدول این موضوع را برای مشتری توضیح می‌دهد. اگر شرکت شما با چند ارز کار می‌کند، مانده به تفکیک هر ارز نشان داده می‌شود.

اقلام باز در تاریخ مبنا

بالای تاریخ، عبارت «اقلام باز در تاریخ مبنا» قرار دارد و کنار آن یک فیلد تاریخ و دکمه‌ی نمایش. با یک تاریخ مبنا در گذشته، فهرست نشان می‌دهد چه چیزی در آن روز هنوز پرداخت نشده بود. این دقیقاً همان گزارشی است که برای بستن حساب‌ها، حسابرسی‌ها و تطبیق‌ها لازم است: «در 31.12. چه بدهی‌هایی به این تأمین‌کننده داشتیم؟»

اقلام باز در تاریخ مبنا 02.11.2026 در پورتال مشتریان Odoo

تاریخ مبنا چگونه محاسبه می‌شود

برای هر قلم این قاعده برقرار است: باز در تاریخ مبنا = مبلغ فاکتور منهای همه‌ی پرداخت‌هایی که تا و از جمله روز تاریخ مبنا تطبیق داده شده بودند. یک قلم زمانی در فهرست قرار می‌گیرد که در تاریخ مبنا قبلاً ثبت شده باشد و در آن روز هنوز مانده‌ای داشته باشد. فاکتوری مورخ 7 سپتامبر به مبلغ 1.250,50 € که در 20 اکتبر با 500,00 € به‌طور جزئی پرداخت شده و در 5 نوامبر باقی‌مانده‌اش تسویه شده است، در تاریخ مبنای 2 نوامبر با 750,50 € در فهرست قرار می‌گیرد و در تاریخ مبنای 5 نوامبر دیگر اصلاً دیده نمی‌شود.

محور زمانی: فاکتور، پرداخت جزئی، تاریخ مبنا و پرداخت باقی‌مانده و محاسبه‌ی مبلغ باز در تاریخ مبنا

سررسیدگذشتگی نیز بر پایه‌ی تاریخ مبنا ارزیابی می‌شود: قلمی سررسیدگذشته است که تاریخ سررسیدش پیش از تاریخ مبنا باشد و مانده‌اش مثبت. روزهای گذشته از سررسید تا تاریخ مبنا شمرده می‌شوند، نه تا امروز. یک تاریخ مبنا در آینده مانند امروز در نظر گرفته می‌شود، و همچنین یک تاریخ خالی یا نامعتبر در نوار نشانی. بنابراین فهرست نمی‌تواند پیش‌بینی را به‌جای واقعیت جا بزند.

«تاریخ پرداخت» در اینجا به چه معناست

آنچه ملاک است، تاریخی است که فاکتور و پرداخت در Odoo با یکدیگر تطبیق داده شده‌اند (بزرگ‌تر از دو تاریخ ثبت)، نه تاریخ فاکتور. این حالت معمول است: پرداخت در روز دریافت ثبت و به فاکتور تخصیص داده می‌شود. هر کس پرداخت‌ها را چند روز دیرتر تخصیص دهد، فاکتور را به همان میزان بیشتر باز می‌بیند. بخش محدودیت‌ها به این موضوع دقیق‌تر می‌پردازد.

خروجی PDF

با دریافت PDF ماژول فهرست را برای تاریخ مبنای انتخاب‌شده به‌صورت فایل PDF تولید می‌کند. دکمه‌ی چاپ همان فهرست را در پنجره‌ی چاپ مرورگر باز می‌کند. PDF از قالب سند شرکت Odoo شما (لوگو، نشانی، پاورقی از تنظیمات) و قطع کاغذ اروپایی استفاده می‌کند:

PDF اقلام باز در تاریخ مبنا با سربرگ، جدول، مانده و مجموع اقلام سررسیدگذشته

  • عنوان با تاریخ مبنا: «اقلام باز در تاریخ مبنا 02.11.2026»، حتی اگر تاریخ مبنا امروز باشد. اگر قلم بازی وجود نداشته باشد، در آنجا «هیچ قلم بازی وجود ندارد.» درج می‌شود.
  • نشانی مشتری در کادر نشانی قالب شرکت، تا فهرست در حالت چاپ‌شده نیز با موضوع سازگار باشد.
  • اقلام سررسیدگذشته پررنگ چاپ می‌شوند تا در چاپ سیاه‌وسفید هم جلب توجه کنند.
  • مانده و مجموع اقلام سررسیدگذشته در انتهای جدول، و در صورت وجود چند ارز، به تفکیک هر ارز.
  • نام فایل شامل نام شرکت و تاریخ، مثلاً Open_items_Muster_Handels_GmbH_2026-11-02.pdf.

رفتار پرداخت: ارزیابی با یک نگاه

از نسخه‌ی 19.0.1.1.0 به بعد، بالای جدول یک ارزیابی کوتاه نشان می‌دهد شرکت فاکتورهایش را با چه میزان وقت‌شناسی پرداخت می‌کند. همین ارزیابی در PDF هم می‌آید. بدین ترتیب مشتری خودش می‌بیند در چه وضعیتی است و شما دیگر لازم نیست جداگانه برایش توضیح دهید.

صفحه‌ی اقلام باز در پورتال مشتریان Odoo با ارزیابی رفتار پرداخت به رنگ‌های سبز، نارنجی و قرمز و ارزیابی بد

  • سبز: «47 % در مهلت پرداخت پرداخت شدند.» منظور فاکتورهایی است که در تاریخ سررسید یا پیش از آن پرداخت شده‌اند.
  • نارنجی: «29 % در هفته‌ی پس از پایان مهلت پرداخت پرداخت شدند.» این‌ها پرداخت‌هایی هستند که یک تا هفت روز پس از سررسید انجام شده‌اند.
  • قرمز: «24 % دیرتر پرداخت شدند، به‌طور میانگین پس از 39 روز (25 روز پس از پایان مهلت پرداخت).» عدد اول از تاریخ فاکتور و عدد داخل پرانتز از سررسید شمرده می‌شود. این سطر فقط در صورتی نمایش داده می‌شود که چنین فاکتورهایی وجود داشته باشد.
  • «فاکتورها تا 60 روز باز مانده‌اند.» این سن قدیمی‌ترین فاکتوری است که در تاریخ مبنا هنوز باز است، از تاریخ فاکتور محاسبه شده.

در زیر آن ارزیابی رفتار پرداخت: خوب یا بد قرار دارد، و در انتهای صفحه (در PDF در پایان صفحه) این تذکر: «مشتریان با رفتار پرداخت بد به پیش‌پرداخت منتقل می‌شوند.» PDF همین سطرها را در طرح‌بندی سربرگ‌دار نشان می‌دهد:

PDF اقلام باز در تاریخ مبنای 05.10.2026 با رفتار پرداخت، ارزیابی خوب و تذکر درباره‌ی پیش‌پرداخت

چه چیزی شمرده می‌شود

  • فاکتورها ارزیابی می‌شوند، البته فقط آن‌هایی که برای مشتری صادر و ثبت شده‌اند. اسناد بستانکاری و پیش‌نویس‌ها شمرده نمی‌شوند. در پرداخت اقساطی هر قسط جداگانه شمرده می‌شود.
  • بازه‌ی زمانی: فاکتورهای دوازده ماه گذشته و همه‌ی فاکتورهایی که هنوز باز هستند، حتی اگر قدیمی‌تر باشند.
  • روز پرداخت تاریخ آخرین تطبیق با یک پرداخت است، همان‌طور که در تاریخ مبنا.
  • فاکتورهای باز: اگر فاکتوری در تاریخ مبنا سررسیدگذشته باشد، طوری شمرده می‌شود که گویی در تاریخ مبنا پرداخت شده است، یعنی نارنجی یا قرمز. فاکتور بازی که هنوز سررسید نشده، ارزیابی نمی‌شود.
  • با تاریخ مبنای گذشته وضعیت همان روز ملاک است: پرداخت‌های پس از تاریخ مبنا هنوز شمرده نمی‌شوند.
  • اگر چیزی برای ارزیابی نباشد، در آنجا «فاکتوری از 12 ماه گذشته برای ارزیابی وجود ندارد.» نوشته می‌شود و ارزیابی‌ای هم در کار نیست.

رفتار پرداخت چه زمانی «خوب» است؟

ارزیابی خوب است، اگر دست‌کم 70 % فاکتورها سبز یا نارنجی باشند (به‌موقع یا حداکثر یک هفته با تأخیر) و هیچ فاکتور بازی بیش از 30 روز سررسیدگذشته نباشد. در غیر این صورت بد است. آستانه‌ها (7 روز، 70 %، 30 روز، 12 ماه) به‌صورت ثابت در ابتدای models/res_partner.py قرار دارند و می‌توان آن‌ها را همان‌جا تغییر داد.

مهم: این ماژول هیچ‌کس را به پیش‌پرداخت منتقل نمی‌کند. تذکر پاورقی متنی ثابت است که به مشتریان با ارزیابی بد نشان می‌دهد چه پیامدی ممکن است در پی داشته باشد. اینکه آیا و چه زمانی چنین تصمیمی بگیرید، به خودتان بستگی دارد. اگر این جمله به دلتان نمی‌نشیند، آن را در هر دو قالب (صفحه‌ی پورتال و گزارش) یا در ترجمه تغییر دهید.

چه کسی چه چیزی را می‌بیند؟ مدل دسترسی

اقلام باز داده‌های حساسی هستند، به همین دلیل دسترسی برای ما مهم‌تر از هر امکان اضافی بود. مدل دسترسی عمداً ساده است:

مدل دسترسی: مخاطب با گزینه، بدون گزینه، مخاطب شرکت دیگر، نشانی PDF و کارمند

  • فقط با گزینه‌ی فعال. بدون علامت در مخاطب، کاشی‌ای وجود ندارد و فراخوانی /my/open-items به حساب من هدایت می‌شود.
  • همیشه شرکت خود کاربر. شرکت از روی کاربری که وارد شده تعیین می‌شود، نه از روی یک پارامتر در نشانی. هیچ راهی برای درخواست شرکت دیگر از طریق نوار نشانی وجود ندارد.
  • همان بررسی برای PDF. Odoo اصولاً گزارش‌های PDF را از طریق یک نشانی عمومی نیز ارائه می‌دهد. از این رو ماژول در خود گزارش دوباره بررسی می‌کند: فقط کاربران دارای دسترسی حسابداری یا کاربران پورتال با گزینه‌ی فعال برای شرکت خودشان PDF دریافت می‌کنند و بقیه خطای دسترسی می‌گیرند.
  • فقط اقلام ثبت‌شده. پیش‌نویس‌ها و اسناد ابطال‌شده هرگز نمایش داده نمی‌شوند.
  • فقط حوزه‌های حسابداری خود کاربر: فقط ثبت‌های شرکت‌هایی در نظر گرفته می‌شوند که کاربر به آن‌ها دسترسی دارد.

پیاده‌سازی فنی

این ماژول فقط به account و portal وابسته است، یعنی به اجزای Odoo Community. فقط یک فیلد به مخاطب اضافه می‌کند و در غیر این صورت از کنترلر، کلاس گزارش و قالب‌ها تشکیل شده است.

جزءوظیفه
فیلد portal_open_items روی res.partnerگزینه‌ی بولی «نمایش فهرست اقلام باز در پورتال»، غیرقابل کپی، پیش‌فرض غیرفعال.
_open_items_data()ردیف‌های مطالبات ثبت‌شده و هنوز تطبیق‌نیافته‌ی شرکت را جست‌وجو می‌کند و برای هر ردیف مانده، سررسیدگذشتگی و روزها را محاسبه می‌کند. ردیف‌ها، مجموع‌ها به تفکیک ارز و تاریخ مبنا را برمی‌گرداند.
_payment_morale()فاکتورهای دوازده ماه گذشته و همه‌ی فاکتورهای باز را تا تاریخ مبنا ارزیابی می‌کند: سهم پرداخت‌های به‌موقع، تا هفت روز با تأخیر و دیرتر، میانگین مدت، طولانی‌ترین فاکتور باز و ارزیابی خوب یا بد.
_open_items_residual()مانده‌ی یک ردیف در تاریخ مبنا: مبلغ منهای همه‌ی تطبیق‌های جزئی با تاریخ تا تاریخ مبنا، به ارز فاکتور.
کنترلر /my/open-itemsصفحه را نمایش می‌دهد، تاریخ مبنا را ارزیابی می‌کند (خالی، نامعتبر یا در آینده = امروز) و در صورت نبودن گزینه به حساب من هدایت می‌کند.
کنترلر /my/open-items/pdfPDF را با همان تاریخ مبنا تولید می‌کند و همراه با نام فایل تحویل می‌دهد.
گزارش report_open_itemsقالب QWeb در طرح‌بندی شرکت (web.external_layout) با بررسی اختصاصی مجوز.
قالب‌های پورتالکاشی در حساب من، مسیر ناوبری، صفحه با فرم تاریخ و جدول.
فرم مخاطبگزینه در بخش وب‌سایت، فقط برای گروه account.group_account_invoice قابل مشاهده.
ترجمهآلمانی (de.po) و الگو (.pot) همراه ماژول ارائه می‌شوند.

اقلام باز از ردیف‌های ثبت حسابداری خوانده می‌شوند، نه از فاکتورها. این مهم است: فقط به این ترتیب اسناد بستانکاری و پرداخت‌های هنوز تخصیص‌نیافته نیز ظاهر می‌شوند، و فقط به این ترتیب می‌توان وضعیت یک روز پیشین را از تطبیق‌ها (account.partial.reconcile) بازسازی کرد. پرس‌وجو برای کل شرکت (commercial_partner_id) با دسترسی‌های ارتقایافته اجرا می‌شود و بررسی اینکه کاربر مجاز به دیدن آن است، پیش از آن انجام می‌گیرد.

آزمون‌ها

این ماژول سیزده آزمون خودکار دارد که در سیستم ما همگی با موفقیت (سبز) اجرا می‌شوند:

  • دسترسی فقط با گزینه‌ی فعال، در غیر این صورت هدایت به حساب من،
  • فهرست شامل اقلام کل شرکت است، اما هرگز اقلام شرکت دیگر را شامل نمی‌شود،
  • گزینه برای هر مخاطب اعمال می‌شود، نه برای همه‌ی کاربران شرکت،
  • اسناد بستانکاری با مبلغ منفی در فهرست قرار می‌گیرند و از مانده می‌کاهند،
  • تاریخ مبنا: فاکتوری که بعداً پرداخت شده، پیش از آن در فهرست است و پس از آن نیست،
  • صفحه با تاریخ آینده و با تاریخ نامعتبر،
  • نشانی PDF یک فایل PDF برمی‌گرداند،
  • گزارش به‌صورت HTML و بررسی دسترسی در گزارش،
  • مبلغ باز در تاریخ مبنا پس از پرداخت‌های جزئی پیش از تاریخ مبنا و پس از آن،
  • رفتار پرداخت: تقسیم‌بندی به به‌موقع، تا یک هفته با تأخیر و دیرتر، همراه با مقادیر میانگین، از جمله برای تاریخ مبنای گذشته،
  • رفتار پرداخت با فاکتورهای باز و ارزیابی خوب یا بد،
  • رفتار پرداخت بدون فاکتور و هرگز با داده‌های شرکت دیگر،
  • رفتار پرداخت در صفحه‌ی پورتال و در PDF.

افزون بر این، صفحه را در یک پایگاه داده‌ی آزمایشی با مشتریان نمونه در مرورگر آزمودیم؛ تصاویر این نوشته از همان‌جا هستند. همه‌ی نام‌ها، شماره‌ی اسناد و مبالغ در آن‌ها کاملاً ساختگی‌اند.

نصب و راه‌اندازی

git clone https://github.com/Alex0176/odoo-portal-open-items.git
ln -s /pfad/odoo-portal-open-items/portal_open_items /pfad/addons/
odoo-bin -c odoo.conf -d <datenbank> -i portal_open_items --stop-after-init

وابستگی‌ها account و portal هستند. پس از نصب، سرویس Odoo باید دوباره راه‌اندازی شود، زیرا ماژول شامل کد Python است. هر کس سامانه‌ی عملیاتی دارد، ماژول را ابتدا روی یک نسخه‌ی کپی از پایگاه داده نصب کند. سپس:

  1. مخاطبی را که باید فهرست را ببیند باز کنید (شخص دارای دسترسی پورتال)،
  2. در فرم کادر انتخاب نمایش فهرست اقلام باز در پورتال را علامت بزنید و ذخیره کنید،
  3. در پورتال با همان کاربر وارد شوید یا همراه مشتری بررسی کنید: کاشی، فهرست، تاریخ مبنا و PDF.

پیش از فعال‌سازی، تنظیمات فرستنده و طرح‌بندی شرکت خود را بررسی کنید، زیرا PDF لوگو، نشانی و پاورقی را از قالب سند برمی‌دارد. خود ماژول هیچ ایمیلی ارسال نمی‌کند و هیچ اعلانی ایجاد نمی‌کند.

محدودیت‌ها و نکات

  • وضعیت امروز برای اسناد ثبت‌شده. تاریخ مبنا بر پایه‌ی ثبت‌هایی محاسبه می‌کند که اکنون در سامانه وجود دارند. اگر پس از تاریخ مبنا فاکتوری ابطال شده یا به پیش‌نویس بازگردانده شده باشد، فهرست آن را نشان نمی‌دهد. این یک تصویر تغییرناپذیر «همان‌گونه که آن زمان چاپ شد» نیست.
  • پرداخت‌ها از روز تطبیق به حساب می‌آیند. اگر پرداختی چند روز پس از دریافت فاکتور تخصیص داده شود، فاکتور تا آن زمان به‌عنوان باز در فهرست می‌ماند. هر کس گزارش‌های دقیق تاریخ مبنا می‌خواهد، باید پرداخت‌ها را به‌موقع تخصیص دهد. تطبیق بانکی با فاکتورها در Odoo Community وجود ندارد؛ ما برای این کار از ماژول Bank-Statement-Matcher.
  • رفتار پرداخت به همان اندازه خوب است که تطبیق شما. آنچه شمرده می‌شود، زمانی است که یک پرداخت به یک فاکتور تخصیص داده شده است. پرداخت‌هایی که مدت‌ها تطبیق داده نشده‌اند، مشتری را بدتر از آنچه هست نشان می‌دهند. پیش از آنکه از آن نتیجه‌ای بگیرید، ارزیابی را برای مشتریان خود بررسی کنید.
  • ارزیابی برای مشتری قابل مشاهده است. هر کس این گزینه را دارد، نتیجه و تذکر درباره‌ی پیش‌پرداخت را هم می‌بیند. ماژول در این میان هیچ تغییری در شرایط پرداخت نمی‌دهد.
  • فقط مطالبات. این ماژول نشان می‌دهد مشتری چه مبلغی به شما بدهکار است، نه بدهی‌های شما به مشتری.
  • بدون مراحل یادآوری و بدون پیوند پرداخت در فهرست. مشتری می‌تواند از فهرست یک فاکتور را باز کند و در آنجا، به همان شکلی که پورتال شما در غیر این صورت اجازه می‌دهد، پرداخت کند.
  • PDF و حالت چندپردازشی. Odoo برای تولید گزارش‌های PDF در داخل، نشانی وب خودش را فراخوانی می‌کند. اگر سامانه‌ی شما فقط با یک پردازه‌ی کاری اجرا شود، ممکن است این کار مسدود شود. این موضوع برای همه‌ی گزارش‌های PDF در پورتال صدق می‌کند، نه فقط برای این ماژول. پس از نصب، دکمه‌ی PDF را یک بار در شرایط واقعی بیازمایید.
  • فقط روی Odoo 19.0 Community آزمایش شده است. برای نسخه‌های دیگر آن را بررسی نکرده‌ایم.
  • جایگزین پیگیری مطالبات و صورت‌حساب نیست. این فهرست نه جایگزین صورت‌حساب حسابداری است و نه جایگزین فرایندهای پیگیری شما؛ فقط وضعیت را شفاف می‌کند.

پرسش‌های متداول

فهرست اقلام باز (فهرست OP) چیست؟

صورتی از همه‌ی فاکتورهایی که هنوز یا به‌طور کامل پرداخت نشده‌اند، با تاریخ فاکتور، سررسید و مبلغ باز. این فهرست «فاکتورهای باز»، «حساب مشتری» یا «تراز حساب‌ها» نیز نامیده می‌شود، هرچند تراز حساب‌ها در معنای دقیق به مانده‌ی همه‌ی حساب‌ها اشاره دارد.

چرا پورتال Odoo به‌طور پیش‌فرض فهرست OP نشان نمی‌دهد؟

پورتال سفارش‌ها، فاکتورها و پرداخت‌ها را جداگانه، با وضعیت و فیلتر نشان می‌دهد. فهرست کلی شرکت با مانده و گزارش تاریخ مبنا تا جایی که ما دیده‌ایم جزو محدوده‌ی نسخه‌ی Community نیست. ماژول برای همین منظور ساخته شده است.

آیا همه‌ی کاربران پورتال یک شرکت فهرست را می‌بینند؟

خیر. فقط مخاطبان دارای گزینه‌ی فعال. اما فهرست نمایش‌داده‌شده کل شرکت را در بر می‌گیرد، نه فقط فاکتورهای همان یک مخاطب.

آیا می‌توانم تاریخ مبنایی در گذشته انتخاب کنم، مثلاً 31.12. سال گذشته؟

بله، هر تاریخ دلخواه تا امروز. فهرست در این صورت اقلامی را نشان می‌دهد که در آن روز ثبت شده و هنوز پرداخت نشده بودند. به نکات مربوط به محاسبهتوجه کنید: ملاک، روز تطبیق پرداخت است.

آیا تاریخ مبنا در آینده پشتیبانی می‌شود؟

خیر. تاریخ‌های آینده مانند امروز در نظر گرفته می‌شوند تا فهرست وضعیتی را نشان ندهد که هنوز وجود ندارد.

آیا اسناد بستانکاری و پیش‌پرداخت‌ها در فهرست ظاهر می‌شوند؟

بله. اسناد بستانکاری و پرداخت‌هایی که هنوز به فاکتوری تخصیص نیافته‌اند، با مبلغ منفی در فهرست قرار می‌گیرند و از مانده می‌کاهند. یادداشتی زیر جدول این موضوع را برای مشتری توضیح می‌دهد.

اقلام سررسیدگذشته چگونه شناسایی می‌شوند؟

قلمی سررسیدگذشته است که تاریخ سررسیدش پیش از تاریخ مبنا باشد و هنوز مانده‌ی مثبتی باز باشد. روزهای گذشته از سررسید تا تاریخ مبنا شمرده می‌شوند.

آیا PDF به زبان‌های دیگر هم موجود است؟

بله، رابط کاربری و PDF از زبان کاربر پیروی می‌کنند. ترجمه‌ی آلمانی همراه ماژول ارائه می‌شود؛ برای زبان‌های دیگر یک فایل .po یا ترجمه از طریق رابط کاربری Odoo کافی است.

آیا مشتری با تغییر نشانی می‌تواند فهرست شرکت دیگری را ببیند؟

خیر. شرکت همیشه از روی کاربری که وارد شده تعیین می‌شود. نشانی فقط شامل تاریخ مبنا است. نشانی گزارش PDF خود Odoo نیز در خود گزارش دوباره بررسی می‌شود.

رفتار پرداخت چگونه محاسبه می‌شود؟

از فاکتورهای ثبت‌شده‌ی مشتریان در دوازده ماه گذشته و همه‌ی فاکتورهای باز. برای هر فاکتور شمرده می‌شود که چند روز پس از سررسید پرداخت شده است: حداکثر در تاریخ سررسید (سبز)، تا هفت روز پس از آن (نارنجی) یا دیرتر (قرمز). ارزیابی زمانی خوب است که دست‌کم 70 % فاکتورها سبز یا نارنجی باشند و هیچ فاکتوری بیش از 30 روز سررسیدگذشته باز نمانده باشد. جزئیات در بخش رفتار پرداخت.

آیا ماژول مشتریان با رفتار پرداخت بد را به پیش‌پرداخت منتقل می‌کند؟

خیر. فقط ارزیابی و تذکر را نشان می‌دهد. شرایط پرداخت، پیش‌پرداخت و مسدودسازی‌ها همچنان تصمیم شما و فرایند شما در Odoo هستند.

آیا ماژول ایمیل یا یادآوری ارسال می‌کند؟

خیر. فقط صفحه و PDF را فراهم می‌کند. هیچ پیام، اعلان یا فعالیتی ایجاد نمی‌کند.

آیا ماژول با Odoo Enterprise کار می‌کند؟

این ماژول فقط به account و portal وابسته است که در هر دو نسخه وجود دارند. ما آن را فقط روی نسخه‌ی Community از Odoo 19 آزمایش کرده‌ایم.

این ماژول تحت چه مجوزی منتشر شده است؟

تحت AGPL-3. شما می‌توانید آن را به کار ببرید، تغییر دهید و منتشر کنید، به شرط آنکه شرایط مجوز را رعایت کنید. اشکالات و پیشنهادهای بهبود به‌صورت Issue در مخزن GitHub خوش‌آمدند.

پشتیبانی توسط Biricon IT Services

ما نصب‌های Odoo را برای شرکت‌های کوچک و متوسط پشتیبانی می‌کنیم: از استقرار و سفارشی‌سازی و مهاجرت گرفته تا بهره‌برداری جاری. اگر می‌خواهید اقلام باز، فاکتورها و تیکت‌ها را در پورتال در اختیار مشتریان خود بگذارید، حسابداری را در Odoo Community گسترش دهید یا ماژولی را با اطمینان به نمونه‌ی عملیاتی خود منتقل کنید، با کمال میل کمک می‌کنیم. دیگر توسعه‌های داخلی ما: بایگانی شرکت همراه با کاربران پورتال, ثبت شرکت‌ها و بررسی نشانی برای مشتریان اتریشی, شماره‌ی اسناد از پیشوند، سال و شمارنده و مجموعه‌های محصول در پیشنهاد به‌صورت یک بخش.

همین حالا تماس بگیرید

وضعیت: 6 نوامبر 2026. نسخه‌ی ماژول 19.0.1.1.1. تغییرات نسبت به نسخه‌ی نخست در 5 نوامبر: رفتار پرداخت (19.0.1.1.0) و اصلاح مبلغ باز در تاریخ مبنا پس از پرداخت‌های جزئی (19.0.1.1.1). همه‌ی نام‌ها، شماره‌ی اسناد و مبالغ در تصاویر ساختگی‌اند.