Skip to Content

PMISuite Stock Accounting & Business Operations

Odoo 18 Community addons for inventory valuation, finance, logistics, and project delivery.

Odoo version

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

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

  1. Use Odoo 18 Community and Python 3.12.
  2. Review the selected addon's __manifest__.py for 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.
  3. Add this repository and its dependency repositories to Odoo's addons_path.
  4. 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.

Tests

helpdesk_mgmt_equipment 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_account 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

Coverage

helpdesk_mgmt_equipment pmis_account_banking_sepa pmis_account_cash_journal pmis_account 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

Addon documentation