When creating a Quotation with UOM of 48CS (48 Units) the margins is correct
CGA001-BK - $3.00 (sales $) / $1.00 (cost $)
1 48CS - $144.00 (48 * $3.00)
Margin = $96.00 ($144 - $48 = $96) which is correct in the Quotation.
When you confirm it to an SO (2nd Attachment)
The UoM did not carry over correctly and affects the SO price and the Financial Balance Sheet / Profit and Loss Statements.
The Margin is now $143.00 which is incorrect.
I think the math is [Unit Price - (Cost Price * UoM)]
$144.00 - ( $1 * 1 Unit) = $143.00
I believe it is taking the DEFAULT UOM and not the actual UOM of the QUOTE to make this calculation. This is a serious bug and need to corrected as soon as possible.


Hi,
The issue you described is a known Odoo bug related to margin calculation when using a sales UoM that is a multiple of the base UoM (such as 48CS = 48 units). Odoo correctly computes the margin on the quotation, multiplying both the sales price and cost by the UoM quantity. However, when the quotation is confirmed into a Sales Order, Odoo recalculates the margin using only the base UoM cost (1 unit), ignoring the sales UoM multiplier. This causes the Sales Order margin to be inflated and incorrect, which then affects accounting reports like Profit & Loss and COGS.
This is not a configuration problem but a functional bug present across several Odoo versions. The fix requires either an official Odoo patch or a custom override to ensure the margin formula multiplies cost × UoM quantity. Workarounds include computing margin only on the quotation, adding a custom calculated field that applies the correct formula, or reporting the issue directly to Odoo Support for a proper fix.
Hope it helps