PMS - Accounting

pms_account
REPOSITORY
REPOSITORYOCA/pms
GIT
GIThttps://github.com/OCA/pms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pms/tree/19.0/pms_account
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Property Management System
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Gray Matter Logic
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Gray Matter Logic
COMMITTERS
COMMITTERSMaxime Chambreuil, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/pms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/pms:
    - pms_base
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_geolocalize
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module integrates the Odoo Accounting app with the Property Management
System (PMS).

It adds:

- **Invoice and bill counters on properties**: smart buttons on the property
  form show the number of customer invoices and vendor bills linked to that
  property, with one-click navigation to the list or form view.
- **Property field on invoice lines**: each invoice line can be linked to one
  or more properties, allowing financial movements to be tracked per property.
- **Properties smart button on invoices**: from any invoice or bill, a smart
  button shows the number of related properties and navigates directly to them.
- **Analytic account on properties**: an analytic account can be assigned to
  each property to consolidate its financial activity in analytic reports.
- **Vendor field on PMS services**: each PMS service can be linked to a vendor
  (supplier) for purchasing and billing purposes.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
view_account_analytic_account_form account.analytic.account.form account.analytic.account xpath Inherits analytic.view_account_analytic_account_form
view_account_invoice_form pms.property.invoice.form.pms account.move div Inherits account.view_move_form
view_invoice_search invoice.search.pms account.move xpath Inherits account.view_account_move_filter
view_pms_property_form pms.property.form pms.property xpath Inherits pms_base.view_pms_property_form
view_vendor_bill_form vendor.bill.form.pms account.move xpath Inherits account.view_move_form
view_vendor_bill_tree vendor.bill.tree.pms account.move xpath Inherits account.view_invoice_tree
Models touched (5)

New fields (1)
  • property_id Many2one → pms.property
    copy=False string='Property' args: 'pms.property'
Public methods (0)

No public methods.

New fields (2)
  • property_count Integer
    compute='_compute_pms_property_ids' string='Properties'
  • property_ids Many2many → pms.property
    compute='_compute_pms_property_ids' string='Properties associated to this invoice' args: 'pms.property'
Public methods (1)
  • action_view_pms_property(self)

New fields (1)
  • property_ids Many2many → pms.property
    copy=False readonly=True string='Properties' args: 'pms.property', 'pms_property_account_move_line_rel', 'account_move_line_id', 'property_id'
Public methods (0)

No public methods.

New fields (6)
  • analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Analytic Account'
  • bill_count Integer
    compute='_compute_invoice_count' copy=False readonly=True
  • bill_ids Many2many → account.move
    compute='_compute_invoice_count' copy=False readonly=True string='Bills' args: 'account.move'
  • invoice_count Integer
    compute='_compute_invoice_count' copy=False readonly=True
  • invoice_ids Many2many → account.move
    compute='_compute_invoice_count' copy=False readonly=True string='Invoices' args: 'account.move'
  • invoice_line_ids Many2many → account.move.line
    copy=False string='Invoice Lines' args: 'account.move.line', 'pms_property_account_move_line_rel', 'property_id', 'account_move_line_id'
Public methods (4)
  • action_view_bills(self)
  • action_view_invoices(self)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (1)
  • vendor_id Many2one → res.partner
    comodel_name='res.partner' domain="[('supplier_rank', '>=', 0)]" ondelete='restrict' required=True string='Vendor'
Public methods (0)

No public methods.