Financial report query
It appears that you're using the same expressions for the GroupCode and GroupDescription columns in the GROUP BY clause.  That's asking for trouble later on if someone needs to modify either expression, especially given their size.  Instead, use a subquery:

SELECT
    GroupCode,
    GroupDescription,
    -- etc
FROM
    (
        SELECT
            CASE /* etc */ END AS GroupCode,
            CASE /* etc */ END AS GroupDescription,
            -- etc
        FROM
            -- etc
        WHERE
            -- etc
    ) AS dummy
GROUP BY
    GroupCode,
    GroupDescription
ORDER BY
    GroupCode,
    GroupDescription


EDIT:

There may be some other opportunities to use subqueries to reduce duplication of expressions.  For example, the expression for the column AmountX is also used in the Margin calculation.