
«Quant ens queda encara per cobrar de vosaltres?» Aquesta pregunta arriba de manera regular a qualsevol cartera de clients, sovint poc abans del tancament del trimestre, abans de l'auditoria dels comptes anuals o quan la comptabilitat del client prepara pagaments. Qui no la respon per iniciativa pròpia se la veu formular per correu electrònic o per telèfon, i algú ha d'exportar de la comptabilitat una llista de partides obertes (llista OP) i enviar-la. Amb Odoo 19 Community això no es fa soli: el portal de clients mostra les factures una per una, però no una llista de les partides obertes de tota l'empresa, i encara menys a una data escollida lliurement.
Hem escrit per a això el mòdul Partides obertes al portal de clients (portal_open_items) per a Odoo 19. Els clients amb accés activat veuen al portal una llista de totes les factures obertes, els abonaments i els pagaments encara no assignats de la seva empresa, poden triar una data de tall, descarregar la llista en PDF i veuen d'un cop d'ull com està la seva moral de pagament. El mòdul és programari lliure sota la llicència AGPL-3 i es troba a GitHub:
github.com/Alex0176/odoo-portal-open-items
Hem instal·lat el mòdul el 5 de novembre de 2026 al nostre sistema de producció. L'opció hi està desactivada per defecte i només s'activa després d'acordar-ho amb cada client. L'experiència en explotació encara és, doncs, curta; hem fet proves amb tretze proves automàtiques i una base de dades de prova amb clients d'exemple. Qui adopti el mòdul hauria de llegir les seccions sobre el Càlcul a la data de referència, sobre la moral de pagament i sobre les Limitacions llegir.
Contingut d’aquest article
- El problema: la llista OP a petició
- La solució d’un cop d’ull
- Accés per contacte: l’opció
- La llista al portal de clients
- Partides pendents a la data de referència
- Exportació a PDF
- Moral de pagament: valoració d'un cop d'ull
- Qui pot veure què? El model d’accés
- Implementació tècnica
- Proves
- Instal·lació i configuració
- Limitacions i observacions
- Preguntes freqüents
- Suport de Biricon IT Services
El problema: la llista OP a petició
Una llista de partides pendents mostra quines factures d’un client encara no s’han pagat, quines estan vençudes i quin és el saldo. Per al proveïdor, és una eina per planificar la tresoreria i gestionar les reclamacions de pagament. Per al client, és la base per planificar els pagaments, conciliar les factures amb la seva comptabilitat i aclarir dubtes sense haver d’obrir cada factura per separat. Situacions habituals:
- Tancament trimestral i anual: la comptabilitat del client vol saber quines obligacions de pagament existien a 31.12. Es tracta d'una data de tall en el passat.
- Conciliació: el client creu que ha pagat una factura, però a nosaltres encara ens consta com a pendent. Una llista compartida amb la data, el venciment i l’import ho aclareix més ràpidament que un seguit de correus electrònics.
- Remeses de pagaments: qui prepara pagaments cada setmana o cada mes necessita veure d’un cop d’ull totes les factures pendents d’un proveïdor, amb les vençudes al capdamunt.
- Diverses persones de contacte: en una empresa, una persona fa les comandes i una altra paga. Les partides pendents corresponen a l’empresa, no a una persona concreta.
Fins ara, extrèiem aquestes llistes manualment de la comptabilitat i les enviàvem per correu electrònic. Això requereix temps i, al capdavall, només ofereix una fotografia del moment que l’endemà ja queda desfasada. És millor disposar d’una llista que el client pugui consultar al portal en qualsevol moment, sempre actualitzada.
La solució d’un cop d’ull
El mòdul afegeix al portal de clients d’Odoo una pàgina de Partides pendents i una targeta a El meu compte. Aquestes són les funcionalitats:
- Opció per contacte: «Mostra la llista de partides pendents al portal». L’usuari del portal només veu la targeta i la pàgina si aquesta opció està activada. Per defecte està desactivada.
- Tota l’empresa: la llista inclou les partides pendents de tots els contactes de l’empresa, no només les de l’usuari que ha iniciat la sessió.
- Data de referència: el client tria una data i veu què hi havia pendent aquell dia.
- Exportació a PDF: la llista en PDF amb el disseny corporatiu de la vostra empresa, la capçalera, el saldo i l’import total de les partides vençudes.
- Moral de pagament: proporció de factures pagades puntualment, amb lleu retard i tard, la factura oberta més antiga i una valoració bona o dolenta, al portal i al PDF.
- Les partides vençudes es destaquen amb color i mostren els dies transcorreguts des del venciment.
- Les factures rectificatives i els saldos a favor apareixen a la llista amb un import negatiu i redueixen el saldo.
- Enllaços: cada factura de la llista enllaça amb la seva vista al portal.
- Multilingüe: la interfície i el PDF s’adapten a la llengua de l’usuari; s’hi inclou la traducció a l’alemany.

La targeta apareix a la pàgina d’inici El meu compte, al costat de les comandes i les factures. Els usuaris que no tenen l’opció activada no la veuen.
Accés per contacte: l’opció
Una llista de partides pendents mostra dades comercials de tota una empresa. Per això el mòdul no hi dona accés a tots els usuaris del portal, sinó només a aquells que autoritzeu expressament. Al formulari del contacte, dins de Lloc web, hi ha la casella «Mostra la llista de partides pendents al portal». És visible per als usuaris amb permisos de facturació (grup account.group_account_invoice) i només s’aplica a aquest contacte.

Això s’ajusta a les necessitats reals: en una empresa, la direcció o el departament de comptabilitat han de poder veure la llista, però un empleat que només consulta tiquets, no. L’opció s’aplica al contacte, però les partides que es mostren corresponen a tota l’empresa. Activeu-la, doncs, per a la persona que hagi de tenir una visió global de l’empresa.
La llista al portal de clients
En fer clic a la targeta, s’obre /my/open-items. La pàgina mostra el nom de l’empresa, el selector de la data de referència i la taula de partides pendents:

| Columna | Contingut |
|---|---|
| Document | Número de la factura o de la factura rectificativa, amb un enllaç a la vista de la factura al portal; a sota, la referència, si n’hi ha |
| Data | Data de la factura o de comptabilització, segons el cas |
| Venciment | Data de venciment; en les partides vençudes, a sota apareix «n dies de retard» en vermell |
| Import | Import original de la partida |
| Pendent | Import encara pendent després dels pagaments parcials |
Sota la taula hi ha el saldo, és a dir, la suma de tots els imports pendents, i l’import total de les partides vençudes. Les files vençudes tenen el fons de color perquè es puguin identificar d’un cop d’ull. Les factures rectificatives i els pagaments que encara no s’han assignat a cap factura apareixen amb signe negatiu i redueixen el saldo; una nota sota la taula ho explica al client. Si la vostra empresa treballa amb diverses monedes, el saldo es mostra per moneda.
Partides pendents a la data de referència
Sobre la data hi ha «Partides obertes a una data de tall», al costat un camp de data i el botó Mostra. Amb una data de tall en el passat, la llista mostra què encara no estava pagat aquell dia. Aquesta és exactament l'anàlisi que cal per a tancaments, auditories i conciliacions: «Quines obligacions de pagament teníem a 31.12. amb aquest proveïdor?»

Com es calcula la situació a la data de referència
Per a cada partida s’aplica aquest càlcul: import pendent a la data de referència = import de la factura menys tots els pagaments conciliats fins a la data de referència, inclosa. Una partida apareix a la llista si ja estava comptabilitzada en aquella data i encara tenia un import pendent. Per tant, una factura del 7 de setembre de 1.250,50 €, amb un pagament parcial de 500,00 € el 20 d’octubre i la resta liquidada el 5 de novembre, apareix a la llista amb 750,50 € si es tria el 2 de novembre com a data de referència, però ja no hi apareix si es tria el 5 de novembre.

El retard en el pagament també es calcula respecte de la data de referència: una partida està vençuda si la seva data de venciment és anterior a la data de referència i l’import pendent és positiu. Els dies de retard es compten fins a la data de referència, no fins avui. Una data de referència futura es tracta com si fos la data d’avui, igual que una data buida o no vàlida a la barra d’adreces. Així, la llista no pot donar una falsa aparença de previsió.
Què vol dir aquí «data del pagament»
La data que compta és aquella en què la factura i el pagament es van conciliar entre si a Odoo (la més recent de les dues dates de comptabilització), no la data de la factura. El procediment habitual és comptabilitzar el pagament el dia que es rep i assignar-lo a la factura. Si els pagaments s’assignen uns dies més tard, la factura continua apareixent com a pendent durant aquest temps. L’apartat Limitacions ho explica amb més detall.
Exportació a PDF
Amb Descarrega el PDF, el mòdul genera la llista en un fitxer PDF per a la data de referència seleccionada. El botó Imprimeix obre la mateixa llista al diàleg d’impressió del navegador. El PDF utilitza el disseny de documents de la vostra empresa a Odoo (logotip, adreça i peu de pàgina definits a la configuració) i el format de paper europeu:

- Títol amb la data de referència: «Partides pendents a la data de referència 02.11.2026», encara que la data de referència sigui avui. Si no hi ha partides pendents, hi diu «No hi ha partides pendents.»
- Adreça del client al camp d’adreça del disseny corporatiu, perquè la llista també quedi correctament identificada quan s’imprimeix.
- Partides vençudes en negreta, perquè també destaquin en les impressions en blanc i negre.
- Saldo i import total de les partides vençudes al final de la taula, desglossats per moneda si n’hi ha més d’una.
- Nom del fitxer amb l’empresa i la data, per exemple
Open_items_Muster_Handels_GmbH_2026-11-02.pdf.
Moral de pagament: valoració d'un cop d'ull
Des de la versió 19.0.1.1.0 hi ha sobre la taula una breu anàlisi de com de puntualment paga les factures l'empresa. La mateixa anàlisi apareix al PDF. Així el client veu ell mateix on es troba i vostè ja no ha d'explicar-li-ho per separat.

- Verd: «El 47 % s'ha pagat dins del termini de pagament.» Es refereix a factures pagades el dia de venciment o abans.
- Taronja: «El 29 % s'ha pagat la setmana següent a l'acabament del termini de pagament.» Són pagaments d'un a set dies després del venciment.
- Vermell: «El 24 % s'ha pagat més tard, de mitjana després de 39 dies (25 dies després de l'acabament del termini de pagament).» La primera xifra compta des de la data de la factura; la xifra entre parèntesis, des del venciment. La línia només apareix si hi ha factures d'aquest tipus.
- «Les factures estan obertes fins a 60 dies.» És l'antiguitat de la factura més antiga que a la data de tall encara està oberta, comptada des de la data de la factura.
A sota hi ha la valoració de la moral de pagament: bona o dolenta i, al final de la pàgina (al PDF, al final de la pàgina), l'avís «Els clients amb mala moral de pagament passen a pagar per avançat.» El PDF mostra les mateixes línies amb el disseny de capçalera de carta:

Què es compta
- Es valoren les factures al client que estan comptabilitzades. Els abonaments i els esborranys no compten. En cas de pagament a terminis, cada termini compta per separat.
- Període: les factures dels darrers dotze mesos i totes les factures que encara estan obertes, encara que siguin més antigues.
- El dia de pagament és la data de l'última conciliació amb un pagament, igual que amb la data de tall.
- Factures obertes: si una factura està vençuda a la data de tall, compta com si s'hagués pagat a la data de tall, és a dir, taronja o vermella. Una factura oberta que encara no ha vençut no es valora.
- Amb una data de tall en el passat val l'estat d'aquell dia: els pagaments posteriors a la data de tall encara no compten.
- Si no hi ha res a valorar, hi ha «No hi ha factures dels darrers 12 mesos per valorar.» i no hi ha valoració.
Quan és «bona» la moral de pagament?
La valoració és bona si almenys el 70 % de les factures són verdes o taronja (puntuals o com a màxim una setmana tard) i cap factura oberta està vençuda des de fa més de 30 dies. Si no, és dolenta. Els llindars (7 dies, 70 %, 30 dies, 12 mesos) són constants al començament de models/res_partner.py i s'hi poden adaptar.
Important: el mòdul no fa passar ningú a pagar per avançat. L'avís del peu de pàgina és un text fix que mostra als clients amb valoració dolenta què en pot resultar. Si vostè ho decideix així, i quan, és cosa seva. Si la frase no li agrada, canviï-la a les dues plantilles (pàgina del portal i informe) o a la traducció.
Qui pot veure què? El model d’accés
Les partides pendents són dades sensibles; per això hem prioritzat el control d’accés per damunt de qualsevol funcionalitat addicional. El model és deliberadament senzill:

- Només amb l’opció activada. Si la casella del contacte no està marcada, no hi ha cap targeta i l’accés a
/my/open-itemsredirigeix a El meu compte. - Sempre l’empresa pròpia. L’empresa es determina a partir de l’usuari que ha iniciat la sessió, no d’un paràmetre de l’adreça. No es pot sol·licitar informació d’una altra empresa mitjançant la barra d’adreces.
- La mateixa comprovació per al PDF. Odoo també ofereix els informes PDF a través d’una adreça genèrica. Per això el mòdul torna a comprovar els permisos dins de l’informe: només obtenen el PDF els usuaris amb permisos de comptabilitat o els usuaris del portal amb l’opció activada per a la seva pròpia empresa; la resta reben un error d’accés.
- Només partides comptabilitzades. Els esborranys i els documents cancel·lats no hi apareixen mai.
- Només empreses comptables autoritzades: únicament es tenen en compte els assentaments de les empreses a les quals l’usuari té accés.
Implementació tècnica
El mòdul només depèn d'account i portal, és a dir, de components d'Odoo Community. Afegeix un sol camp al contacte i, per la resta, consta de controlador, classe d'informe i plantilles.
| Component | Funció |
|---|---|
Camp portal_open_items a res.partner | Opció booleana «Mostra la llista de partides pendents al portal», que no es copia i està desactivada per defecte. |
_open_items_data() | Cerca les línies de comptes a cobrar de l’empresa que estan comptabilitzades i encara no s’han conciliat, i calcula per a cada línia l’import pendent, si està vençuda i els dies de retard. Retorna les línies, els totals per moneda i la data de referència. |
_payment_morale() | Avalua les factures dels darrers dotze mesos i totes les factures obertes a la data de tall: proporcions de puntuals, fins a set dies tard i més tard, durada mitjana, factura oberta més antiga i la valoració bona o dolenta. |
_open_items_residual() | Import pendent d’una línia a la data de referència: import menys totes les conciliacions parcials amb data igual o anterior a la data de referència, en la moneda de la factura. |
Controlador /my/open-items | Mostra la pàgina, interpreta la data de referència (buida, no vàlida o futura = avui) i redirigeix a El meu compte si l’opció no està activada. |
Controlador /my/open-items/pdf | Genera el PDF amb la mateixa data de referència i el retorna amb el nom de fitxer corresponent. |
Informe report_open_items | Plantilla QWeb amb el disseny corporatiu (web.external_layout) i una comprovació de permisos pròpia. |
| Plantilles del portal | Targeta a El meu compte, fil d’Ariadna i pàgina amb formulari de data i taula. |
| Formulari de contacte | Opció a l’apartat Lloc web, visible només per al grup account.group_account_invoice. |
| Traducció | S’hi inclouen la traducció a l’alemany (de.po) i la plantilla (.pot). |
Les partides pendents s’obtenen de les línies dels assentaments comptables, no de les factures. Això és important: només així hi apareixen també les factures rectificatives i els pagaments encara no assignats, i només així es pot reconstruir la situació d’un dia anterior a partir de les conciliacions (account.partial.reconcile). La consulta s’executa per a tota l’empresa (commercial_partner_id) amb permisos elevats, després de comprovar si l’usuari té dret a veure’n les dades.
Proves
El mòdul inclou vuit proves automàtiques que s’executen correctament al nostre entorn:
- accés només amb l’opció activada; en cas contrari, redirecció a El meu compte,
- la llista conté les partides de tota l’empresa, però mai les d’una altra,
- l’opció s’aplica a cada contacte, no a tots els usuaris de l’empresa,
- les factures rectificatives apareixen a la llista amb un import negatiu i redueixen el saldo,
- data de referència: una factura pagada posteriorment apareix a la llista abans del pagament, però no després,
- pàgina amb una data futura i amb una data no vàlida,
- l’adreça del PDF retorna un fitxer PDF,
- informe en HTML i comprovació d’accés dins de l’informe.
- import obert a la data de tall després de pagaments parcials abans i després de la data de tall,
- moral de pagament: classificació en puntual, fins a una setmana tard i més tard, amb les mitjanes, també per a una data de tall en el passat,
- moral de pagament amb factures obertes i la valoració bona o dolenta,
- moral de pagament sense factures i mai amb dades d'una altra empresa,
- moral de pagament a la pàgina del portal i al PDF.
A més, hem provat la pàgina al navegador amb clients d’exemple en una base de dades de proves; les imatges d’aquest article provenen d’aquest entorn. Tots els noms, números de document i imports que hi apareixen són ficticis.
Instal·lació i configuració
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
Les dependències són account i portal. Després de la instal·lació, cal reiniciar el servei d’Odoo perquè el mòdul conté codi Python. Si treballeu amb un sistema en producció, instal·leu primer el mòdul en una còpia de la base de dades. A continuació:
- obriu el contacte que ha de poder veure la llista (una persona amb accés al portal),
- al formulari, marqueu la casella Mostra la llista de partides pendents al portal i deseu els canvis,
- inicieu sessió al portal amb aquest usuari o comproveu amb el client la targeta, la llista, la data de referència i el PDF.
Abans d’activar-lo, reviseu la configuració del remitent i del disseny dels documents de la vostra empresa, ja que el PDF incorpora el logotip, l’adreça i el peu de pàgina del disseny dels documents. El mòdul no envia correus electrònics ni genera notificacions.
Limitacions i observacions
- Estat actual dels documents comptabilitzats. El càlcul per data de referència es basa en els assentaments tal com consten ara al sistema. Si una factura s’ha anul·lat o s’ha tornat a l’estat d’esborrany després de la data de referència, no apareix a la llista. No és una instantània immutable de «com es va imprimir en aquell moment».
- Els pagaments compten a partir del dia de la conciliació. Si un pagament no s’assigna a una factura fins dies després d’haver-lo rebut, la factura continua apareixent com a pendent a la llista fins aleshores. Per obtenir informes fiables per data de referència, convé assignar els pagaments de seguida. Odoo Community no inclou la conciliació bancària amb factures; per fer-la, fem servir el nostre mòdul Bank-Statement-Matcher.
- La moral de pagament és tan bona com la seva conciliació. Es compta quan es va assignar un pagament a una factura. Els pagaments que fa molt que no es concilien fan que un client sembli pitjor del que és. Comprovi la valoració dels seus clients abans de deduir-ne res.
- La valoració és visible per al client. Qui té l'opció veu també el resultat i l'avís sobre el pagament per avançat. El mòdul no canvia res de les condicions de pagament.
- Només comptes a cobrar. El mòdul mostra el que el client us deu, no els vostres deutes amb el client.
- La llista no inclou nivells de reclamació de pagament ni enllaços de pagament. Des de la llista, el client pot obrir una factura i pagar-la allà, segons les opcions habituals del vostre portal.
- PDF i funcionament amb diversos processos. Per generar informes PDF, Odoo accedeix internament a la seva pròpia adreça web. Si el sistema funciona amb un sol procés de treball, això pot provocar un bloqueig. Afecta tots els informes PDF del portal, no només aquest mòdul. Després d’instal·lar-lo, proveu el botó de PDF en condicions reals.
- Només s'ha provat amb Odoo 19.0 Community. No l'hem comprovat amb altres versions.
- No substitueix la gestió de cobraments ni l’extracte de compte. La llista no substitueix ni un extracte comptable ni els vostres processos de reclamació de pagaments; només fa visible l’estat del compte.
Preguntes freqüents
Què és una llista de partides obertes (llista OP)?
És una relació de totes les factures que encara no s’han pagat o que només s’han pagat parcialment, amb la data de la factura, el venciment i l’import pendent. També s’anomena «factures pendents», «compte del client» o «llista de saldos», tot i que, en sentit estricte, una llista de saldos recull els saldos de tots els comptes.
Per què el portal d’Odoo no inclou de sèrie una llista de partides pendents?
El portal mostra les comandes, les factures i els pagaments per separat, amb estats i filtres. Pel que hem pogut comprovar, l’edició Community no inclou una llista global de l’empresa amb el saldo ni un informe per data de referència. El mòdul està pensat per cobrir aquesta necessitat.
Tots els usuaris del portal d’una empresa poden veure la llista?
No. Només els contactes que tenen l’opció activada. Ara bé, la llista mostra les dades de tota l’empresa, no només les factures d’aquell contacte.
Puc triar una data de tall del passat, per exemple el 31.12. de l'any anterior?
Sí, qualsevol data fins avui. La llista mostra les partides que aquell dia estaven comptabilitzades i encara pendents de pagament. Tingueu en compte les indicacions sobre el càlcul: la data determinant és el dia de la conciliació del pagament.
Es pot fer servir una data de referència futura?
No. Les dates futures es tracten com si fossin la data d’avui, perquè la llista no mostri un estat que encara no existeix.
Els abonaments i les bestretes apareixen a la llista?
Sí. Els abonaments i els pagaments que encara no s’han assignat a cap factura apareixen a la llista amb un import negatiu i redueixen el saldo. Una nota sota la taula ho explica al client.
Com es detecten les partides vençudes?
Una partida es considera vençuda si la seva data de venciment és anterior a la data de referència i encara té un import positiu pendent. Els dies de retard es compten fins a la data de referència.
El PDF també està disponible en altres idiomes?
Sí, la interfície i el PDF es mostren en l’idioma de l’usuari. S’hi inclou la traducció a l’alemany; per afegir altres idiomes, n’hi ha prou amb un fitxer .po o amb fer la traducció des de la interfície d’Odoo.
Un client pot veure la llista d’una altra empresa si modifica l’adreça?
No. L’empresa es determina sempre a partir de l’usuari que ha iniciat la sessió. L’adreça només conté la data de referència. L’adreça de l’informe PDF d’Odoo també es torna a validar dins del mateix informe.
Com es calcula la moral de pagament?
A partir de les factures de client comptabilitzades dels darrers dotze mesos i de totes les factures obertes. Per a cada factura compta quants dies després del venciment es va pagar: com a màxim el dia de venciment (verd), fins a set dies després (taronja) o més tard (vermell). La valoració és bona amb almenys un 70 % de verd o taronja i cap factura oberta vençuda des de fa més de 30 dies. Els detalls es troben a la secció moral de pagament.
El mòdul fa passar a pagar per avançat els clients amb mala moral de pagament?
No. Només mostra la valoració i l'avís. Les condicions de pagament, el pagament per avançat i els bloquejos continuen sent decisió seva i procés seu a Odoo.
El mòdul envia correus electrònics o reclamacions de pagament?
No. Només ofereix la pàgina i el PDF. No genera missatges, notificacions ni activitats.
El mòdul funciona amb Odoo Enterprise?
Només depèn de account i portal, que existeixen en totes dues edicions. Només l’hem provat amb l’edició Community d’Odoo 19.
Amb quina llicència es distribueix el mòdul?
Amb la llicència AGPL-3. El podeu utilitzar, modificar i redistribuir sempre que en respecteu les condicions. Podeu comunicar errors i proposar millores obrint una incidència al repositori de GitHub són benvinguts.
Suport de Biricon IT Services
Ens encarreguem d’instal·lacions d’Odoo per a petites i mitjanes empreses: des de la implantació fins al funcionament diari, passant per les adaptacions i les migracions. Si voleu oferir als vostres clients partides pendents, factures i tiquets al portal, ampliar les funcions de comptabilitat d’Odoo Community o incorporar un mòdul amb seguretat al vostre entorn de producció, us hi podem ajudar. Altres desenvolupaments propis: Arxivar una empresa juntament amb els seus usuaris del portal, Consulta del registre mercantil i verificació d’adreces per a clients austríacs, Numeració de documents amb prefix, any i comptador i Conjunts de productes com a secció del pressupost.
Data: 6 de novembre de 2026. Versió del mòdul 19.0.1.1.1. Canvis des de la primera versió del 5 de novembre: moral de pagament (19.0.1.1.0) i correcció de l'import obert a la data de tall després de pagaments parcials (19.0.1.1.1). Tots els noms, números de document i imports de les il·lustracions són inventats.