You're correct - the prepayments functionality only works on sales and purchase documents in your accounting system. Unfortunately, service orders don't have this feature built-in. Your solution works, or you can have a separate service order line that's a GL account for the prepayment amount as an alternative.
Additionally, there is a "prepaid" function on service contracts, but that may not be exactly what you're looking for in this case.
Valentin Castravet
Work: Zander ERP Services
Blog: Dynamics 365 Business Central Insights
LinkedIn: www.linkedin.com/in/valentin-c-0500a247/
André Arnaud de Cal... 291,642 Super User 2024 Season 2
Martin Dráb 230,371 Most Valuable Professional
nmaenpaa 101,156