روش محاسبه فیلدهای margin و margin_percentage به صورت زیر است:
مرحله اول: محاسبه سود به ازای هر خط از فاکتور
به ازای هر invoice_line از فاکتور فروش مقداری price_subtotal را به روش زیر محاسبه میکنیم
line.price_subtotal = line.unit_price * line.quantity
حالا بر اساس این مقدار میزان margin برای هر خط از فاکتور فروش به صورت زیر محاسبه میشود:
line.temp_margin = line.price_subtotal - (line.purchase_price * line.quantity)
line.margin_sign = line.temp_margin * sign
مرحله دوم: محاسبه سود به ازای هر فاکتور
در این مرحله تمام سودها و مقادیر به ازای هر خط از فاکتور ترکیب میشود تا سود یک فاکتور محاسبه شود:
order.margin_sign = sum(line.margin_sign)
order.price_subtotal = sum(line.price_subtotal)
مرحله سوم: محاسبه درصد سود
بر اساس اطلاعاتی که در مراحل قبل به دست آمده این درصد به صورت زیر محاسبه میشود:
order.margin_percent = (order.margin_sign / order.price_subtotal) * 100