Usually manufactured solutions are used to verify a solver. As stated in the comment section, you should consider a source term both in the domain $\Omega$ and on the boundary $\partial \Omega$
$$
\frac{\partial u}{\partial t} - {\bf a} \cdot \nabla u - D \nabla^2 u = f({\bf x},t) \quad \text{in $\Omega$} ,
$$
$$
u {\bf a} \cdot {\bf \hat{n}} + D\nabla u \cdot {\bf \hat{n}} = g({\bf x}, t) \quad \text{on $\partial \Omega$}.
$$
Here, you simply plug any $u$ of your choice, then you compute the source terms $f$ and $g$ by hand, and then you can test the consistency of your solver by comparing the analytical $u$ you choose and the numerical $u_h$ you have computed. Once you do it, you are sure that you solver works also on the original equation, i.e., by setting $f=g=0$.
For instance, if you plug $u = e^{-t}\sin(x)\cos(y)$ you get (double check!)
$$
f({\bf x},t) = e^{-t} (\cos(y) \sin(x) - 2 D \cos(y) \sin(x) + a_x \cos(x) \cos(y) - a_y \sin(x) \sin(y)),
$$
$$
g({\bf x},t) = e^{-t} (D n_x \cos(x) \cos(y) - D n_y \sin(x) \sin(y) + a_x n_x \cos(y) \sin(x) + a_y n_y \cos(y) \sin(x)).
$$