In CANDU reactors, shim operation is used when the online refuelling capability becomes temporarily unavailable. Adjuster rods, normally in-core to provide flux flattening, are withdrawn in sequence to provide additional reactivity as the fuel is depleted. In a CANDU 900 reactor, up to three of the eight adjuster banks may be withdrawn, with the power derated accordingly. In this study, the shim operation was modelled using a combination of TRACE_Mac1.1, PARCS_Mac1.1, and scripts modelling the reactor regulating system, all running as a single coupled simulation. A driver script simulated the operation as a sequence of steady-state, depletion, and transient models. The results were compared to operational data from a nuclear power plant, evaluating the key figures of merit. The simulation was extended beyond the operational data by reducing the power to 59% FP and withdrawing the remaining adjusters, to observe the behaviour of the simulated reactor for a deeper reactivity-driven transient. Sensitivity cases, including adjuster rod depletion and nuclear data uncertainty, were also evaluated. This study was able to successfully reproduce the general results of the shim operation. Some discrepancies were observed between the simulation and dataset for the duration of the shim, particularly for the one bank out phase of the shim. Several potential causes for the early phase behaviour were identified. When the simulation was extended, the model predicted that a power reduction below 60% FP would lead to xenon poison out when the adjusters were depleted, with the timing sensitive to the adjuster depletion. Nodalisation of the PARCS model also had a significant impact, due to the effect on adjuster nodalisation and its area-of-effect with respect to the actual adjuster locations. Nuclear data uncertainty had a lesser but still noticeable effect. Other parameters, such as the distribution of fuel burnups in the core, only had a small effect on the shim operation.