def METHOD_NAME(self):
    account_move_obj = self.env["account.move"]
    for mp in self:
        if not mp.date_payment or not mp.journal_id or not mp.account_id:
            raise ValidationError(
                _(
                    "Warning! Data required for account move creation:"
                    " payment date, journal, account"
                )
            )
        # WT Moves
        wt_move_balance = 0
        move_lines = []
        for wt_move in mp.line_ids:
            debit = 0
            credit = 0
            if wt_move.amount > 0:
                debit = wt_move.amount
            else:
                credit = wt_move.amount
            vals = {
                "name": _("Withholding tax payment {}").format(
                    wt_move.partner_id.name
                ),
                "account_id": wt_move.withholding_tax_id.account_payable_id.id,
                "credit": credit,
                "debit": debit,
            }
            move_lines.append((0, 0, vals))
            # Balance
            wt_move_balance += wt_move.amount
        # WT payment
        if wt_move_balance:
            debit = 0
            credit = 0
            if wt_move_balance > 0:
                credit = wt_move_balance
            else:
                debit = wt_move_balance * -1
            vals = {
                "name": _("Withholding Tax Payment"),
                "account_id": mp.account_id.id,
                "credit": credit,
                "debit": debit,
            }
            move_lines.append((0, 0, vals))
        # Move create
        move = account_move_obj.create(
            [
                {
                    "ref": _("Withholding Tax Payment"),
                    "journal_id": mp.journal_id.id,
                    "date": mp.date_payment,
                    "line_ids": move_lines,
                }
            ]
        )
        move.action_post()
        # Ref on payement
        mp.move_id = move.id