I have a Dyson equation for a Green's function that comes in this form:
$$ G[t,x_f;0,x_i]=G_0[t,x_f;0,x_i]+i\int_\Omega\int_0^t\ dx\ d\tau\ G_0[t,x_f;\tau,x]xG[\tau, x;0, x_i] $$
For convenience, I'd like to Fourier transform it in time. Keeping in mind that $G_0[t,\tau] = G[t,\tau] = 0$ if $\tau>t$ (due to time-ordering), I extend the integral in $\tau$ to $+\infty$, then multiply by $e^{-i\omega t}$ and further integrate in $t$ from 0 to $\infty$:
$$ \int_0^\infty dt\ G[t,x_f;0,x_i]e^{-i\omega t}=\int_0^\infty dt\ G_0[t,x_f;0,x_i]e^{-i\omega t} +i\int_0^\infty\int_\Omega\int_0^\infty dt\ dx\ d\tau\ G_0[t,x_f;\tau,x]e^{-i\omega t}xG[\tau, x;0, x_i] $$
Expressing the Fourier transforms of the functions as $\tilde{G}_0,\tilde{G}$ then I have
$$ \tilde{G}[\omega;x_f,x_i]=\tilde{G}_0[\omega;x_f,x_i] +i\int_\Omega\int_0^\infty dx\ d\tau\ \tilde{G}_0[\omega;x_f,x_i]e^{-i\omega \tau}xG[\tau, x;0, x_i] $$
where I applied an origin shift to $G_0$ inside the double integral, and then I carry out the integral in $\tau$ as well to find:
$$ \tilde{G}[\omega;x_f,x_i]=\tilde{G}_0[\omega;x_f,x_i] +i\int_\Omega dx\ \tilde{G}_0[\omega;x_f,x]x\tilde{G}[\omega; x, x_i] $$
This also makes sense because it's basically the convolution theorem, where the Fourier transform of a convolution becomes the product of the two Fourier transforms. No matter how I look at it, it seems correct, yet when I actually apply these formulas numerically (solving in the time domain and then applying a FFT, and then solving in the frequency domain and comparing) I get two different results, and I'm fairly confident the frequency domain is the wrong one. Is there anything wrong with my reasoning here, or some caveat specific to this kind of equation I am missing? Or should I look for my mistake elsewhere?