PMISuite Stock Accounting & Business Operations
Odoo 18 Community addons for inventory valuation, finance, logistics, and project delivery.
This repository contains 38 installable addons that extend Odoo and the Odoo Community Association (OCA) ecosystem. Its stock-accounting core connects inventory movements with valuation and financial control. Companion modules cover banking, purchasing, product pricing, reporting, construction workflows, equipment, digital assets, and time analytics.
Choose the modules that fit your workflow and install their declared dependencies. Each catalog entry links to its module documentation.
Explore the modules · Getting started · Development and testing · Maintainer and licensing
What you can do
- Follow inventory value: connect stock movements, FIFO value flow, fiscal periods, and accounting corrections.
- Manage financial operations: prepare payment references and SEPA exports, reconcile bank statements, and clear small residual balances.
- Improve warehouse workflows: work with location quantities, logistics units, receipt scheduling, and delivery documents.
- Connect project delivery: progress from assessments and measured work to certification, material operations, and invoicing.
- Produce operational reports: print delivery-aware invoices, CMR notes, and stock cost reports.
Module catalog
- Stock valuation and financial control
- Accounting and banking
- Warehouse and purchasing
- Products and pricing
- Reports and documents
- Projects, field service, and business support
Legacy compatibility addons are maintained separately in the
temporary repository.
Internal product categories, legacy landed costs, and energy surcharges now live
in the legacy repository. Existing installations using these
addons must include that repository in Odoo's addons_path.
Stock valuation and financial control
Trace inventory value through stock movements, accounting periods, and correction workflows.
| Module | What it adds |
|---|---|
Stock accounting (pmis_stock_account) |
Fiscal valuation views, dropship accounting and reconciliation, valuation reversals, and purchase price difference corrections. |
Stock value flow tracking (stock_valuation_layer_tracking) |
Tracks FIFO and dropship value flow, provides FIFO diagnostics, and offers administrator-reviewed dropship tracking repair and a separate product FIFO rebuild. Repairs and rebuilds change tracking, not stock quantities or accounting entries. |
Fiscal periods (pmis_stock_move_fiscal_month) |
Extends shared accounting dates with fiscal months on stock and accounting records, validating manual overrides against active, open, company-compatible ranges. Period classification does not enforce posting locks. |
Stock reconciliation (pmis_stock_reconcile) |
Corrects wrong-product receipts through paired stock moves while carrying the outgoing valuation into the replacement product. |
Audit visibility (pmis_audit) |
Shows incoming/outgoing valuation differences, current product cost, and posted billed-cost evidence, with purchase and sales price checks. |
Accounting and banking
Support invoice administration, payment exports, bank reconciliation, and residual balances.
| Module | What it adds |
|---|---|
Accounting essentials (pmis_account) |
Structured payment references, invoice and journal-item notes, picking completion dates, and fiscal-position refund notes. |
Accounting dates (pmis_account_dates) |
Provides shared fiscal and tax dates on journal entries and items, with draft tax-date synchronization that preserves explicit line exceptions. |
SEPA payments (pmis_account_banking_sepa) |
Company-controlled SEPA XML remittance formatting and payment-purpose defaults; prepares exports rather than submitting them to banks. |
Cash journal dashboard (pmis_account_cash_journal) |
Opens the current cash ledger from the dashboard while keeping historical cash registers accessible. |
Bank reconciliation (pmis_account_reconcile_oca) |
Extends OCA reconciliation with posted/unreconciled filters, CAMT payment hints, partner alignment, and remembered card-merchant mappings. |
Rounding write-offs (pmis_rounding_writeoff) |
Manually clears small customer or vendor net balances in company currency, subject to an editable wizard limit. |
Vendor bills from CRM (pmis_crm_vendor_bills) |
Converts a lead into a draft vendor bill, transfers its messages and attachments, and archives the lead. |
pmis_account_dates supplies the date fields used by pmis_stock_move_fiscal_month,
pmis_account_financial_report, and pmis_audit. The financial reporting addon uses
fiscal_date; storing a separate tax_date does not switch those reports to tax-date reporting.
Warehouse and purchasing
Make quantities, receipts, lots, and delivery documents easier to manage.
| Module | What it adds |
|---|---|
Backorders (pmis_backorder) |
Provides sales and purchase backorder lists, PDF reports, availability information, and customer portal visibility. |
Purchase receipts (pmis_purchase_stock) |
Synchronizes receipt scheduling with purchase dates and lets Billing Administrators adjust purchase-line links. |
Inventory adjustment filters (pmis_stock_inventory) |
Filters adjustment quantities by locations and product domain, and can create missing zero-quantity base quants during preparation without adjusting stock. |
Location quantities (pmis_stock_control_columns) |
Displays quantities for configured control locations as columns on product variants. |
Lot quantities (pmis_stock_lot_display_name) |
Includes current on-hand product quantity and unit of measure in lot display names. |
Delivery line ordering (pmis_stock_picking_line_sequence) |
Sorts transfer operations and selected delivery-slip rows by stock move ID; packaged-report limitations apply. |
Alternate logistics units (pmis_deliverable_logistic_unit) |
Converts sales and purchase quantities between logistics units and product units, such as sheets and square meters. |
Products and pricing
Organize product data and make pricing and surcharges visible.
| Module | What it adds |
|---|---|
Product brands (pmis_product_brand) |
Adjusts the product brand column in product lists, hiding it by default. |
Products on multiple websites (pmis_product_multi_website) |
Adds website assignments and bulk replacement wizards to products and eCommerce categories. Availability combines the standard website and additional websites; product publication remains shared. |
Pricelist visibility (pmis_product_pricelist_supplierinfo) |
Shows selected pricelists and calculated prices, discounts, and cost on product templates and variants. |
Product creation group compatibility (pmis_product_usability) |
Renames the OCA product-creation group to "Product Creation (Restricted)" and protects it from upstream updates to avoid group-name collisions. |
Reports and documents
Connect printed documents to delivery, valuation, and accounting information.
| Module | What it adds |
|---|---|
Financial reporting (pmis_account_financial_report) |
Extends OCA financial reports with fiscal-date calculations and drill-downs, plus report-company currency selection for XLSX output. |
Invoice layout (pmis_account_invoice_report) |
Adds a PMIS document layout, service date, payment terms, and payment reference to invoice reports. |
Invoice weight (pmis_account_move_product_weight) |
Displays total product weight in the invoice form's logistics information. |
Invoices by delivery (pmis_invoice_report_grouped_by_picking) |
Groups invoice lines by picking, with delivery references, delivered quantities, and optional lot and customs information. |
CMR consignment notes (pmis_report_cmr) |
Creates and prints international consignment notes from invoices or completed delivery orders. |
Stock cost reports (pmis_stock_move_value_report) |
Defines valuation-layer cost reports, including landed costs; move-line and multi-record entry-point limitations are documented. |
Batch invoice PDFs (pmis_report_generation_fixes) |
Adds company-aware rendering fallbacks and diagnostics for invoice PDF generation in batch send flows. |
Projects, field service, and business support
The assessment, sign-off, situation material operations, field service, and
manufacturing addons now live in operations. Existing
installations using them must include that repository in Odoo's addons_path.
Connect commercial assessments and measured work with site operations, approvals, and supporting registers.
| Module | What it adds |
|---|---|
Helpdesk equipment (helpdesk_mgmt_equipment) |
Registers equipment, models, categories, and media, and links equipment to support tickets. |
Digital asset register (pmis_digital_assets) |
Manages hosts → Odoo instances → databases → website domains with inline entry, derived routing, and optional technical and lifecycle details. |
Time analytics (pmis_hr) |
Combines attendance and time-off information in employee/day analytics with list and pivot views. |
Multi-company defaults (pmis_base_multi_company) |
Configures active-company defaults for partners, products, projects, and analytic accounts using the OCA multi-company framework. |
Company hierarchy (pmis_base_company) |
Converts unused branches into independent companies with administrator confirmation, transaction checks, and configuration validation. |
Default website (pmis_base_website) |
Lets administrators designate a replacement protected default website so the obsolete former default can be deleted normally. |
VAT address lookup (pmis_base_vat_autocomplete) |
Uses VIES to complete partner details from eligible VAT numbers. |
Shared usability (pmis_ux) |
Adds PMISuite settings, product and valuation-layer navigation, list/form refinements, repository-version visibility, and sales, purchase, and invoice report options. |
Getting started
- Use Odoo 18 Community and Python 3.12.
- Review the selected addon's
__manifest__.pyfor required Odoo, OCA, and PMISuite modules and any external dependencies. oca_dependencies.txt lists supporting OCA repositories; the individual manifests define the actual module dependencies. requirements.txt records repository-level Python dependencies. - Add this repository and its dependency repositories to Odoo's
addons_path. - Refresh the Apps list, install the required modules, and follow their linked configuration and usage documentation.
Some integration modules install automatically when their dependencies are present.
Existing installations using pmis_audit_server_actions, pmis_legacy_invoice_report_advance,
or pmis_legacy_sale_links must also include the sibling temporary repository in
Odoo's addons_path so those installed modules remain available. Their technical names
are unchanged. Check their documentation
before selecting them for migration or compatibility purposes.
Valuation correction tools in pmis_stock_account require the roles and operational precautions
described in its module documentation. For installations that previously used audit maintenance
actions, follow the coordinated upgrade notes in
pmis_audit_server_actions; those actions have been removed.
Development and testing
The repository includes addon tests, pytest configuration, and Ruff configuration. In the PMIVerse workspace, use the shared runners below. They manage the pytest-odoo environment and disposable test databases.
Digital Assets regressions also cover cleared relationship onchanges and explicit host-copy defaults; coverage includes the routing migration scripts.
Developer commands and test artifacts
Run an addon test suite
/srv/pmiverse/_pmiconfig/scripts/test/run_pytest_addon.sh \
-a /srv/pmiverse/_pmisuite18/repos/pmiverse/stock-accounting/pmis_account_financial_report/tests \
-d test_pmis_account_financial_report \
-- -q --maxfail=1
Pass a test path, node ID, or -k expression after -- to narrow a run.
Run the repository suite
/srv/pmiverse/_pmiconfig/scripts/test/run_pytest_repo.sh \
--repo /srv/pmiverse/_pmisuite18/repos/pmiverse/stock-accounting \
-- --maxfail=1 -q
The repository runner discovers addons with a tests/ directory. Options include
--pattern, --exclude, --only-changed, --parallel, --stop-on-first-fail,
--no-junit, and --no-coverage.
Check static quality
/srv/pmiverse/_pmiconfig/scripts/test/run_lint_addon.sh \
--repo /srv/pmiverse/_pmisuite18/repos/pmiverse/stock-accounting
Results and badges
Test logs and artifacts are written under /srv/pmiverse/logs/tests/<timestamp>/,
with per-addon results, summary files, and optional JUnit and coverage reports.
The runners set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 and explicitly load pytest_odoo.
Database names follow the disposable test_<addon> convention.
Published badges are stored in .badges/tests/. They are historical artifacts and are not refreshed by editing this documentation.
Published test and coverage badges
These badges reflect previously published runs, not a fresh validation of the current checkout.
The recorded run is available in latest_run.txt.
It predates the addon relocations to temporary and legacy, so their badges
remain part of that historical run and do not describe the current repository inventory.
Addon documentation
- helpdesk_mgmt_equipment
- pmis_account
- pmis_account_banking_sepa
- pmis_account_cash_journal
- pmis_account_dates
- pmis_account_financial_report
- pmis_account_invoice_report
- pmis_account_move_product_weight
- pmis_account_reconcile_oca
- pmis_audit
- pmis_backorder
- pmis_base_company
- pmis_base_multi_company
- pmis_base_vat_autocomplete
- pmis_base_website
- pmis_crm_vendor_bills
- pmis_deliverable_logistic_unit
- pmis_digital_assets
- pmis_hr
- pmis_invoice_report_grouped_by_picking
- pmis_product_brand
- pmis_product_multi_website
- pmis_product_pricelist_supplierinfo
- pmis_product_usability
- pmis_purchase_stock
- pmis_report_cmr
- pmis_report_generation_fixes
- pmis_rounding_writeoff
- pmis_stock_account
- pmis_stock_control_columns
- pmis_stock_inventory
- pmis_stock_lot_display_name
- pmis_stock_move_fiscal_month
- pmis_stock_move_value_report
- pmis_stock_picking_line_sequence
- pmis_stock_reconcile
- pmis_ux
- stock_valuation_layer_tracking
