Inside a QUERY string, a date is written as a date literal: date '2026-03-01', with the word date and the day in year-month-day order inside single quotes. Compare a date column with it like a number: where A >= date '2026-03-01'.
To group by month, QUERY has date functions: year(A), month(A), day(A). Careful: month() counts from 0, so January is 0 and December is 11. Add 1 to get the usual numbers: select month(A)+1, sum(E) group by month(A)+1. The heading of a calculated column is the expression itself, so rename it with label.
When the date sits in a cell, turn it into the literal's text with TEXT and join it in: "where A >= date '"&TEXT(H1, "yyyy-mm-dd")&"'". Joining H1 on its own would put a serial number like 46082 in the query, which isn't a date literal.
=QUERY(A1:E16, "select A, C, E where A >= date '2026-03-01'", 1)
=QUERY(A1:E16, "select month(A)+1, sum(E) group by month(A)+1 label month(A)+1 'Month', sum(E) 'Fees'", 1)
Bookings from March on; fees per month with clean headings.