def METHOD_NAME(self):
    for order in self:
        currency = order.currency_id or order.company_id.currency_id
        fmt = partial(
            formatLang,
            self.with_context(lang=order.partner_id.lang).env,
            currency_obj=currency,
        )
        res = {}
        for line in order.order_line:
            taxes = line._compute_taxes(line.fiscal_tax_ids)["taxes"]
            for tax in line.fiscal_tax_ids:
                computed_tax = taxes.get(tax.tax_domain)
                pr = order.currency_id.rounding
                if computed_tax and not float_is_zero(
                    computed_tax.get("tax_value", 0.0), precision_rounding=pr
                ):
                    group = tax.tax_group_id
                    res.setdefault(group, {"amount": 0.0, "base": 0.0})
                    res[group]["amount"] += computed_tax.get("tax_value", 0.0)
                    res[group]["base"] += computed_tax.get("base", 0.0)
        res = sorted(res.items(), key=lambda l: l[0].sequence)
        order.amount_by_group = [
            (
                line[0].name,
                line[1]["amount"],
                line[1]["base"],
                fmt(line[1]["amount"]),
                fmt(line[1]["base"]),
                len(res),
            )
            for line in res
        ]