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
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
1256
Lượt xem
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
1
thg 12 24
|
2408 | ||
|
0
thg 3 25
|
1906 | ||
|
1
thg 2 22
|
5795 | ||
|
3
thg 7 25
|
2050 | ||
|
1
thg 6 25
|
2420 |
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