Hi there! Many of our customers operate a similar service - either internally or externally. Our OnCommand Insight and Cloud Insights platforms are ideal for this.
This page covers how to do this with OnCommand Insight - https://docs.netapp.com/oci-73/index.jsp?topic=%2Fcom.netapp.doc.oci-ht-all%2FGUID-0D2F9EA4-1CBC-4AAF-BCD0-DBE7103F9DC5.html&cp=5_0_7 and this document covers some of the options to use Cloud Insights - https://docs.netapp.com/us-en/cloudinsights/reporting_overview.html
ActiveIQ Unified Manager has some capability to do it too, but it's not the right tool for the job. Likewise, you can use the ONTAP API to query each array for each volume size and then chargeback on the basis of doing that, but there's a sliding scale - you can either pay for access to OCI/CloudInsights, or you can pay a programmer to write your own billing software.
Hope this helps!