$\DeclareMathOperator\Im{Im}$Given a unimodular matrix $A$ (of finite order).
Every finite index subgroup of $\mathbb{Z}^m$ can be written as $\Im B = B\mathbb{Z}^m$ for some square integral matrix $B$. (In fact, by the Hermite normal form over the integers, we may assume $B$ is upper triangular with non-zero diagonal.)
I would like to show that there exists a fixed number $M$, such that if $\Im AB = \Im B$, i.e. the subgroup $\Im B$ is invariant under $A$, then there exists some matrix $C \in \mathbb{Z}^{m\times m}$ with $0\neq |\det C| \leq M$ for which $BC$ commutes with $A$.
In some sense, I wish to show that the condition $\Im AB = \Im B$ is 'close' to commuting. Indeed, we can then replace $\Im B$ by a (not too much, see the bound $M$) smaller subgroup contained in it that allows a matrix notation that commutes with $A$. It is necessary for $M$ to be independent of $B$.
My current idea goes as follows:
I would like to show that $G = \{B \in \text{GL}(m,\mathbb{Q}) \mid \Im AB = \Im B\}$ is a subgroup of $ \text{GL}(m,\mathbb{Q})$. Clearly, $C_{\text{GL}(m,\mathbb{Q})}(A) = \{B \in \text{GL}(m,\mathbb{Q}) \mid AB = BA\}$ is also a subgroup and $C_{\text{GL}(m,\mathbb{Q})}(A)$ is a subgroup of $G$ (if the first assertion holds). Secondly, I would like to show that $C_{\text{GL}(m,\mathbb{Q})}(A)$ has finite index in $G$.
Suppose these two things hold. Let $C_1$ to $C_k$ be representatives of the cosets. By taking scalar multiples over $\mathbb{Q}$, we can assume all $C_i^{-1}$ are integral. Take $M = \max\{|\det C_i^{-1}|\}$. If $B$ is an integral matrix of $G$ that lies in the coset of $C_j$, then $BC_j^{-1}$ commutes with $A$. This finishes the proof.
I am however stuck trying to show the two assertions about $G$ being a group and $C_{\text{GL}(m,\mathbb{Q})}(A)$ having finite index in $G$. Other approaches and/or a link to good literature are also welcome.
Can we also do this when we replace $A$ by an integral representation of a finite group (hence the choice of a unimodular matrix of finite order in my question)?