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
- Contabilidad
- Inventario
- PoS
- Project
- MRP
Se marcó esta pregunta
1127
Vistas
¿Le interesa esta conversación? ¡Participe en ella!
Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.
InscribirsePublicaciones relacionadas | Respuestas | Vistas | Actividad | |
---|---|---|---|---|
|
1
dic 24
|
2166 | ||
|
0
mar 25
|
1778 | ||
|
1
feb 22
|
5681 | ||
|
3
jul 25
|
1813 | ||
|
1
jun 25
|
1874 |
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