def METHOD_NAME(self, wt_moves):
    # Moves must have the same company
    if wt_moves and len(wt_moves.mapped("company_id")) > 1:
        raise ValidationError(_("The selected moves must have the same company!"))
    sequence_obj = self.env["ir.sequence"]
    for wt_move in wt_moves:
        if wt_move.state == "paid":
            raise ValidationError(
                _("WT move already paid! - {} - {} - {}").format(
                    wt_move.partner_id.name, wt_move.date, str(wt_move.amount)
                )
            )
        if wt_move.wt_move_payment_id:
            raise ValidationError(
                _(
                    "WT move already in a payment move! "
                    "Paym. move {} - Ref WT: {} - {} - {}"
                ).format(
                    str(wt_move.wt_move_payment_id.id),
                    wt_move.partner_id.name,
                    wt_move.date,
                    str(wt_move.amount),
                )
            )
    # Create Payment Move
    wt_payment = False
    if wt_moves:
        val = {
            "name": sequence_obj.next_by_code("withholding.tax.move.payment"),
            "date": fields.Date.today(),
            "line_ids": [(6, 0, wt_moves.ids)],
        }
        wt_payment = self.create([val])
        # Update ref on moves
        for wt_move in wt_moves:
            wt_move.wt_move_payment_id = wt_payment.id
    return wt_payment