Я бы создал отдельный отчетный проект. Он не принадлежит пользовательскому интерфейсу (я полагаю, они работают в фоновом режиме) - это фактически слой «логики отчетности».
Если вы думаете о том, как вы хотите поддерживать отчетность, вы можете захотеть использовать бэкэнд-сервис, но в будущем вы также можете предоставить данные через веб-сервис. Если вам нужно предоставить пользователям интерфейсные средства отчетности, вы подключаетесь к логике отчетности, как если бы вы использовали обычный интерфейс пользовательского интерфейса -> Логика -> Доступ к данным.
Кроме того, если вы отделите свой код отчетности, вы сможете в будущем извлечь его на выделенный уровень отчетности.