If you charge multiple types of fees to the customer | student for a given class, lesson, etc., such as a Registration Fee and a Materials Fee and a Book Fee, ASAP documents this on the invoice to the customer and charges the grand total of all fees.
For reporting purposes, to find and analyze these types of fees in the financial reports, you should assign a different G/L code to each of these types of fees.
For example, I have two courses.
1. Grass Management
2. Beginning Pottery
Each class has a registration fee and a materials fee and Grass Management also has a book fee.
This is how I would set up my course/class fees:
Beginning Pottery:
1. Registration Fee = $50 to G/L Code = 41120
2. Materials Fee = $15 to G/L Code = 45005
Grass Management:
1. Registration Fee = $100 to G/L Code = 43009
2. Material Fee = $15 to G/L Code = 45010
3. Book Fee = $25 to G/L Code 47010
When I run my Revenue Report with Grouping or my G/L Report and I want to know how much in Materials Fees I have collected, I can use the Group By = G/L Code to find it.
One option for accounting is to use the same G/L Code for all Materials Fees. Another would be use different G/L Codes for each Material Fee based on course, program, etc. so I can tell the difference between Material Fee revenue for this course(s) versus those course(s). It is up to you and how you look at accounting and revenue.