Anyone faced this problem before? And what did you do?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilitat
- Inventari
- PoS
- Project
- MRP
This question has been flagged
1135
Vistes
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Registrar-seRelated Posts | Respostes | Vistes | Activitat | |
---|---|---|---|---|
|
1
de des. 24
|
2174 | ||
|
0
de març 25
|
1792 | ||
|
1
de febr. 22
|
5687 | ||
|
3
de jul. 25
|
1841 | ||
|
1
de juny 25
|
1938 |
actually you have to redefine _compute_tax_totals
I have used this for my situation
@api.depends('order_line.price_subtotal', 'currency_id', 'company_id')
def _compute_tax_totals(self):
"""
Custom tax totals computation
"""
AccountTax = self.env['account.tax']
for order in self:
order_lines = order.order_line.filtered(lambda x: not x.display_type)
base_lines = [line._prepare_base_line_for_taxes_computation() for line in order_lines]
AccountTax._add_tax_details_in_base_lines(base_lines, order.company_id)
AccountTax._round_base_lines_tax_details(base_lines, order.company_id)
tax_totals = AccountTax._get_tax_totals_summary(
base_lines=base_lines,
currency=order.currency_id or order.company_id.currency_id,
company=order.company_id,
)
# تعيين القيم الافتراضية لمفاتيح tax_totals
tax_totals['base_amount_currency'] = 50
tax_totals['tax_amount_currency'] = 100
tax_totals['total_amount_currency'] = 150
# تعيين القيم الافتراضية للمتغيرات
untaxed_amount = 0 # لتخزين المبلغ غير الخاضع للضريبة
amount_tax = 0 # لتخزين إجمالي الضرائب
total_amount = 0 # لتخزين المبلغ الإجمالي
_logger.info("Tax Totals Before Update: %s", tax_totals)
# حساب القيم للسطر داخل order_lines
for line in order.order_line:
if not line.display_type:
# حساب هامش الربح
standard_price = line.product_id.standard_price
margin = standard_price * (line.product_id.margin / 100)
# حساب الخصم بناءً على هامش الربح
discount_amount = margin * (line.discount / 100)
# حساب السعر النهائي بعد الخصم
final_price = standard_price + margin - discount_amount
# تحديث subtotal للسطر بناءً على الكمية
line.price_subtotal = final_price * line.product_uom_qty
# جمع القيم للسطر الحالي
untaxed_amount += line.price_subtotal
amount_tax += line.price_tax
# حساب الإجمالي
total_amount = untaxed_amount + amount_tax
# تحديث القيم داخل tax_totals بعد الحسابات
tax_totals['base_amount_currency'] = untaxed_amount
tax_totals['tax_amount_currency'] = amount_tax
tax_totals['total_amount_currency'] = total_amount
_logger.info("Tax Totals After Update: %s", tax_totals)
# تحديث الحقول المرتبطة بـ order
order.amount_untaxed = untaxed_amount
order.amount_tax = amount_tax
order.amount_total = total_amount
# تحديث الحقل tax_totals
order.tax_totals = tax_totals
it solved the Total but i still have issue with Untaxed Amount
but soon i will find it