PMIS Energy Surcharge
This addon calculates energy surcharges from product weight. Draft customer invoices and credit notes receive a priced surcharge line; quotations receive an informational note only, without changing quotation totals.
For configuration, workflows, scenarios, and screenshots, see the English user manual or Slovenian user manual.
Configuration
Dependencies are account, product, pmis_ux, and sale.
Assign Energy Surcharge Operator or Energy Surcharge Manager through the Energy Surcharge selection under Sales on the user's Access Rights tab. Manager includes Operator permissions. Both roles also grant accounting access for the surcharge workflow.
In PMISuite Settings, configure the company's Surcharge Product. It must be shared or belong to the document's company.
Use kg for the surcharge product's unit of measure. Existing configurations using Units retain their convention of one surcharge unit per kg.
Configure the glass product's Weight as used in distribution. For glass sold in m², multiply that configured weight by the line quantity in m² to obtain kg. No product dimensions or manufacturing calculations are involved.
Enable To Surcharge on eligible categories. Use product exclusions to prevent automatic eligibility.
Maintain the surcharge product's sales price through your existing product pricing workflow. Pricelist extensions can manage that price; this addon reads the resulting product sales price without selecting another pricelist or applying customer discounts. Zero prices are supported; negative prices are rejected.
The surcharge quantity is the sum of product weight × eligible line quantity. For example, weight 10 and quantity 2.5 m² produce a surcharge quantity of 25 kg. Compatible alternate line units are converted into the product's unit before multiplication, and the configured weight unit is converted into kg. Every eligible glass product must have a positive weight. A surcharge product using another weight unit is priced per kg on generated invoice charges.
Both quotation notes and invoice charges use the configured surcharge product's current sales price. Prices are converted from company currency into document currency at the quotation or invoice date. The addon does not choose historical pricelist rules from that date. Product price updates remain in the existing pricing workflow; previously saved document amounts remain unchanged until a user explicitly recalculates a draft document. Orders with different customer pricelists can be combined on an invoice without an additional pricing choice.
Require Current Surcharge in company settings optionally blocks quotation confirmation and invoice posting until the surcharge has been calculated for current inputs. It is disabled by default. Add Surcharge remains an explicit user action and never runs automatically during confirmation or posting.
Usage
Invoices and credit notes
Open a draft customer invoice or customer credit note.
Click Add Surcharge.
Review the generated product line: quantity is the total eligible weight, with the current sales price of the surcharge product.
Use Surcharged Lines to review contributing lines.
Quotations
Open an unlocked draft or sent quotation.
Click Add Surcharge.
Review the informational surcharge note. It does not add a charge to the quotation total.
Running the action again updates the generated line or note and removes duplicates. If no eligible lines remain, generated lines are removed. A zero total weight with eligible lines raises a blocking error. Surcharge markers and eligibility decisions are passed to prepared invoice lines and preserved when documents are copied, so recalculation can identify existing charges.
The Energy Surcharge tab shows saved glass mass, rate, pricing date, and price reference. Status indicates whether recalculation is needed after input changes. Previously saved amounts are never changed merely by viewing a document, changing a pricelist, or updating the addon. Existing records are not backfilled with invented pricing history.
Credit notes linked to an invoice use its original surcharge product and net rate, including invoices created before calculation snapshots were available. The credited mass comes from the credit note's eligible quantities.
Eligibility and manual changes
Line flags default from product categories and product exclusions. Notes, sections, and generated surcharge lines do not contribute to calculation. Flags can be edited, but Add Surcharge re-enables eligible category-based lines whose flags are false. A manual deselection is therefore not persistent across the action. For a persistent decision, set the line's Surcharge Override to Exempt or Charge; clear it to return to category defaults. Product exclusion prevents automatic eligibility, rather than overriding every explicitly marked line.
Bulk category action
From a Product Categories list, select categories and choose Mark Categories as Surchargeable in the Action menu. Review the prefilled categories that are not yet enabled, then confirm. Energy Surcharge Operator or Manager membership is required for the wizard.
The bulk action uses normal category write permissions and ORM dependency tracking. Wizard access alone does not grant permission to modify categories. It never creates or changes financial surcharge lines on existing documents.
Bug Tracker
Bugs are tracked on PMISuite Repository Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
Credits
Contributors
Matjaž Mozetič
Maintainers
Current maintainer:
This module is maintained by Luxim d.o.o., a company dedicated to the development of program management tools and solutions, as a part of PMISuite.com project.
Luxim is an active member of OCA (Odoo Community Association).






