
„Колку всушност ни останува да ви платиме?“ Ова прашање редовно се појавува кај секоја клиентска база, најчесто пред крајот на кварталот, пред ревизијата на годишната сметка или кога сметководството на клиентот подготвува плаќања. Кој не одговара однапред, го добива прашањето по е-пошта или телефон, а некој мора да извезе и да испрати листа на отворени ставки (ОС-листа) од сметководството. Со Odoo 19 Community тоа не оди автоматски: порталот за клиенти ги прикажува поединечните фактури, но не и листа на отворените ставки за целата компанија, а особено не на слободно избран ден.
За таа цел го напишавме модулот Отворени ставки во порталот за клиенти (portal_open_items) за Odoo 19. Клиентите со овозможен пристап гледаат во порталот листа на сите отворени фактури, кредитни ноти и сè уште недоделени плаќања на нивната компанија, можат да изберат датум на состојба, да ја преземат листата како PDF и со еден поглед гледаат каква е нивната платежна дисциплина. Модулот е слободен софтвер под лиценцата AGPL-3 и се наоѓа на GitHub:
github.com/Alex0176/odoo-portal-open-items
Модулот го инсталиравме во нашиот продуктивен систем на 5 ноември 2026 година. Опцијата таму е стандардно исклучена и се поставува само по договор со поединечни клиенти. Искуството од работата е значи сè уште кратко; тестиравме со тринаесет автоматски тестови и тест-база со примерни клиенти. Кој го презема модулот, треба да ги прочита деловите за пресметката на датумот на состојба, за платежната дисциплина и за ограничувањата .
Содржина на овој напис
- Проблемот: ОС-листа по барање
- Решението накратко
- Овозможување по контакт: опцијата
- Листата во порталот за клиенти
- Отворени ставки на датум на состојба
- PDF-извоз
- Платежна дисциплина: оценка со еден поглед
- Кој што смее да гледа? Моделот на пристап
- Техничка имплементација
- Тестови
- Инсталација и поставување
- Ограничувања и напомени
- Често поставувани прашања
- Поддршка од Biricon IT Services
Проблемот: ОС-листа по барање
Листата на отворени ставки покажува кои фактури на еден клиент сè уште не се платени, што од тоа е задоцнето и колкаво е салдото. За добавувачот тоа е алатка за планирање на ликвидноста и за опомени. За клиентот е основа за планирање на плаќањата, за усогласување на фактурите со сопственото сметководство и за расчистување на прашања без да се отвора секоја фактура поединечно. Типични прилики:
- Квартален и годишен биланс: Сметководството на клиентот сака да знае кои обврски постоеле на 31.12. Тоа е датум на состојба во минатото.
- Усогласување: Клиентот смета дека платил една фактура, а ние ја гледаме како сè уште отворена. Заедничка листа со датум, рок на достасување и износ го разјаснува тоа побрзо од синџир на е-пошта.
- Платежни циклуси: Кој неделно или месечно подготвува плаќања, има потреба од сите отворени фактури на еден добавувач на еден поглед, со задоцнетите на врвот.
- Повеќе контакт-лица: Во една фирма едниот нарачува, другиот плаќа. Отворените ставки припаѓаат на фирмата, а не на една личност.
Досега ги вадевме овие листи рачно од сметководството и ги испраќавме по пошта. Тоа одзема време и на крајот е моментална слика што веќе следниот ден е застарена. Подобро е листа што клиентот сам може да ја отвори во порталот во секое време, секогаш со актуелната состојба.
Решението накратко
Модулот го дополнува порталот за клиенти на Odoo со страница Отворени ставки и плочка на Мојата сметка. Обемот на функции:
- Опција по контакт: „Прикажи листа на отворени ставки во порталот“. Само ако е поставена, корисникот на порталот ја гледа плочката и страницата. Стандардно е исклучена.
- Целата компанија: Листата ги содржи отворените ставки на сите контакти на фирмата, а не само на најавениот корисник.
- Датум на состојба: Клиентот избира датум и гледа што било отворено тој ден.
- PDF-извоз: Листата како PDF во распоредот на вашата фирма, со заглавие, салдо и збир на задоцнетите ставки.
- Платежна дисциплина: удел на фактурите платени навреме, со мало задоцнување и доцна, најдолго отворената фактура и оценка добра или лоша, во порталот и во PDF-от.
- Задоцнетите ставки се означени во боја и ги покажуваат деновите по рокот на достасување.
- Кредитните ноти и побарувањата во корист на клиентот стојат во листата со негативен износ и го намалуваат салдото.
- Поврзување: Секоја фактура во листата води до прегледот на фактурата во порталот.
- Повеќејазичност: Интерфејсот и PDF-от го следат јазикот на корисникот, германскиот превод е приложен.

Плочката се појавува на почетната страница Мојата сметка покрај нарачките и фактурите. Кој ја нема опцијата, не ја гледа.
Овозможување по контакт: опцијата
Една ОС-листа прикажува деловни податоци на цела фирма. Затоа модулот не ја овозможува за сите корисници на порталот, туку само таму каде што тоа изрично го сакате. На контактот, во формуларот под Веб-страница, се наоѓа полето за избор „Прикажи листа на отворени ставки во порталот“. Видливо е за корисници со права за фактури (група account.group_account_invoice) и важи за овој еден контакт.

Тоа одговара на праксата: во една фирма раководството или сметководството треба да ја гледа листата, а вработен што само ги следи тикетите не треба. Опцијата важи за контактот, но прикажаните ставки припаѓаат на целата компанија. Затоа поставете ја опцијата кај лицето што треба да има преглед на фирмата.
Листата во порталот за клиенти
Клик на плочката ја отвора /my/open-items. Страницата го прикажува името на фирмата, изборот на датум на состојба и табелата со отворените ставки:

| Колона | Содржина |
|---|---|
| Документ | Број на документ на фактурата или кредитната нота, поврзан со прегледот на фактурата во порталот; под него референцата, доколку постои |
| Датум | Датум на фактурата, односно на книжењето |
| Достасува на | Датум на достасување; кај задоцнетите ставки под него со црвено „n дена задоцнето“ |
| Износ | Првобитен износ на ставката |
| Отворено | Сè уште отворен износ (по делумни плаќања) |
Под табелата стојат салдото, т.е. збирот на сите отворени износи, и збирот на задоцнетите ставки. Задоцнетите редови се обоени, за веднаш да се забележат при брз преглед. Кредитните ноти и плаќањата што сè уште не се доделени на фактура се појавуваат со негативен знак и го намалуваат салдото; напомена под табелата му го објаснува тоа на клиентот. Ако вашата компанија работи во повеќе валути, салдото се прикажува по валута.
Отворени ставки на датум на состојба
Над табелата стои „Отворени ставки на датум на состојба“, до него поле за датум и копчето Прикажи. Со датум на состојба во минатото листата покажува што тој ден сè уште не било платено. Тоа е токму анализата што е потребна за биланси, ревизии и усогласувања: „Кои обврски имавме на 31.12. кон овој добавувач?“

Како се пресметува датумот на состојба
За секоја ставка важи: Отворено на датум на состојба = износ на фактурата минус сите плаќања што биле усогласени до и вклучувајќи го датумот на состојба. Една ставка припаѓа на листата ако на датумот на состојба веќе била книжена и тогаш сè уште имала остаток. Фактура од 7 септември од 1.250,50 €, делумно платена на 20 октомври со 500,00 € и подмирена со остатокот на 5 ноември, значи стои на листата со 750,50 € при датум на состојба 2 ноември, а при датум на состојба 5 ноември воопшто не се појавува.

Задоцнетоста исто така се оценува на датумот на состојба: една ставка е задоцнета ако нејзиниот датум на достасување е пред датумот на состојба и остатокот е позитивен. Деновите по достасувањето се бројат до датумот на состојба, а не до денес. Датум на состојба во иднината се третира како денес, исто како и празен или неважечки датум во адресната линија. Листата значи не може да симулира прогноза.
Што овде значи „датум на плаќање“
Меродавен е датумот на кој фактурата и плаќањето во Odoo биле меѓусебно усогласени (поголемиот од двата датума на книжење), а не датумот на фактурата. Тоа е вообичаениот случај: плаќањето се книжи на денот на приемот на уплатата и се доделува на фактурата. Кој ги доделува плаќањата дури по неколку дена, ја гледа фактурата соодветно подолго како отворена. Делот ограничувањата навлегува подетално во ова.
PDF-извоз
Преку Преземи PDF модулот ја создава листата како PDF-датотека за избраниот датум на состојба. Копчето Печати ја отвора истата листа во дијалогот за печатење на прелистувачот. PDF-от го користи распоредот на документи на вашата фирма во Odoo (лого, адреса, подножје од поставките) и европскиот формат на хартија:

- Наслов со датум на состојба: „Отворени ставки на датум на состојба 02.11.2026“, дури и ако датумот на состојба е денес. Ако нема отворени ставки, таму стои „Нема отворени ставки.“
- Адресата на клиентот во адресното поле на распоредот на фирмата, за листата и во печатена форма да одговара на предметот.
- Задоцнетите ставки печатени задебелено, за да се истакнуваат и при црно-бело печатење.
- Салдо и збир на задоцнетите ставки на крајот од табелата, при повеќе валути по валута.
- Име на датотеката со фирмата и датумот, на пример
Open_items_Muster_Handels_GmbH_2026-11-02.pdf.
Платежна дисциплина: оценка со еден поглед
Од верзијата 19.0.1.1.0 над табелата стои кратка анализа колку навремено компанијата ги плаќа своите фактури. Истата анализа се појавува и во PDF-от. Така клиентот сам гледа каде се наоѓа, а вие не мора посебно да му објаснувате.

- Зелено: „47 % се платени во рокот за плаќање.“ Станува збор за фактури платени на денот на достасување или порано.
- Портокалово: „29 % се платени во неделата по истекот на рокот за плаќање.“ Тоа се плаќања од еден до седум дена по достасувањето.
- Црвено: „24 % се платени подоцна, во просек по 39 дена (25 дена по истекот на рокот за плаќање).“ Првиот број брои од датумот на фактурата, бројот во заградата од достасувањето. Редот се појавува само ако има такви фактури.
- „Фактурите се отворени до 60 дена.“ Тоа е староста на најстарата фактура што на датумот на состојба е сè уште отворена, сметано од датумот на фактурата.
Под тоа стои оценката на платежната дисциплина: добра или лоша, а на дното на страницата, во PDF-от на крајот на страницата, напомената „Клиентите со лоша платежна дисциплина се префрлаат на авансно плаќање.“ PDF-от ги прикажува истите редови во распоред со заглавие на писмо:

Што се брои
- Се оценуваат фактурите кон клиентот што се книжени. Кредитните ноти и нацртите не се сметаат. При плаќање на рати секоја рата се брои посебно.
- Период: фактурите од последните дванаесет месеци и сите фактури што се сè уште отворени, дури и ако се постари.
- Ден на плаќање е датумот на последното усогласување со плаќање, исто како кај датумот на состојба.
- Отворени фактури: Ако фактурата на датумот на состојба е задоцнета, се брои како да е платена на датумот на состојба, т.е. портокалово или црвено. Отворена фактура што сè уште не достасала не се оценува.
- Со датум на состојба во минатото важи состојбата на тој ден: плаќањата по датумот на состојба сè уште не се сметаат.
- Ако нема што да се оцени, таму стои „Нема фактури од последните 12 месеци за оценување.“ и нема оценка.
Кога платежната дисциплина е „добра“?
Оценката е добра ако најмалку 70 % од фактурите се зелени или портокалови (навремени или најмногу една недела задоцнети) и ниту една отворена фактура не е задоцнета повеќе од 30 дена. Инаку е лоша. Праговите (7 дена, 70 %, 30 дена, 12 месеци) стојат како константи на почетокот на models/res_partner.py и таму можат да се прилагодат.
Важно: модулот никого не го префрла на авансно плаќање. Напомената во подножјето е фиксен текст што им покажува на клиентите со лоша оценка што може да следува од тоа. Дали и кога ќе одлучите така, останува ваша работа. Ако реченицата не ви одговара, променете ја во двата шаблони (страницата во порталот и извештајот) или во преводот.
Кој што смее да гледа? Моделот на пристап
Отворените ставки се чувствителни податоци, затоа пристапот ни беше поважен од секоја дополнителна функција. Моделот е намерно едноставен:

- Само со поставена опција. Без штиклирање на контактот нема плочка, а повикот на
/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/pdf | Го создава PDF-от со истиот датум на состојба и го испорачува со име на датотека. |
Извештај 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-код. Кој работи со продуктивен систем, модулот го инсталира прво на копија од базата. Потоа:
- отворете го контактот што треба да ја гледа листата (лице со пристап до порталот),
- во формуларот поставете го полето за избор Прикажи листа на отворени ставки во порталот и зачувајте,
- најавете се во порталот како овој корисник или проверете заедно со клиентот: плочка, листа, датум на состојба и PDF.
Пред овозможувањето проверете ги поставките за испраќач и распоред на вашата фирма, бидејќи PDF-от ги презема логото, адресата и подножјето од распоредот на документи. Модулот самиот не испраќа е-пошта и не создава известувања.
Ограничувања и напомени
- Актуелна состојба за книжени документи. Датумот на состојба пресметува врз основа на книжењата онака како што моментално стојат во системот. Ако по датумот на состојба една фактура била сторнирана или вратена во нацрт, листата не ја прикажува. Непроменлива моментална слика „како што била тогаш испечатена“ тоа не е.
- Плаќањата се сметаат од денот на усогласувањето. Ако едно плаќање се доделува дури по неколку дена по приемот на фактурата, фактурата дотогаш стои на листата како отворена. Кој сака чисти анализи по датум на состојба, плаќањата треба да ги доделува навреме. Банкарско усогласување со фактури не е вклучено во Odoo Community; за тоа го користиме нашиот модул Bank-Statement-Matcher.
- Платежната дисциплина е добра колку и вашето усогласување. Се брои кога плаќањето е доделено на фактура. Плаќања што долго не биле усогласени го прават клиентот да изгледа полошо отколку што е. Проверете ја оценката кај вашите клиенти пред да извлечете заклучок од неа.
- Оценката е видлива за клиентот. Кој ја има опцијата, го гледа и резултатот и напомената за авансно плаќање. Притоа модулот не менува ништо во условите за плаќање.
- Само побарувања. Модулот покажува што клиентот ви должи, а не вашите обврски кон клиентот.
- Без степени на опомени и без линк за плаќање во листата. Клиентот од листата може да отвори фактура и таму да плати, онака како што тоа инаку го дозволува вашиот портал.
- PDF и повеќепроцесна работа. За создавање PDF-извештаи Odoo внатрешно ја повикува сопствената веб-адреса. Ако вашиот систем работи со само еден работен процес, тоа може да блокира. Ова важи за сите PDF-извештаи во порталот, не само за овој модул. Проверете го копчето за PDF по инсталацијата еднаш под реални услови.
- Тестирано само на Odoo 19.0 Community. За други верзии не сме го проверувале.
- Не е замена за опомени и извод од сметка. Листата не заменува ниту сметководствен извод од сметка, ниту вашите процеси на опомени, само ја прави состојбата транспарентна.
Често поставувани прашања
Што е листа на отворени ставки (ОС-листа)?
Список на сите фактури што сè уште не се платени или не се платени целосно, со датум на фактурата, рок на достасување и отворен износ. Се нарекува и „отворени фактури“, „сметка на клиент“ или „бруто биланс“, при што бруто билансот во потесна смисла ги означува салдата на сите сметки.
Зошто порталот на Odoo не прикажува ОС-листа веќе по подразбирање?
Порталот ги прикажува нарачките, фактурите и плаќањата поединечно, со статус и филтри. Вкупна листа на компанијата со салдо и анализа по датум на состојба не припаѓаат на обемот на 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). Сите имиња, броеви на документи и износи во сликите се слободно измислени.