Hello,

I operate a website where users can top up a virtual account and then use that virtual currency to purchase services offered by the website. My question is: should this top-up behavior be considered a prepayment? My intuition is that the real service is what users purchase with the virtual currency, not the top-up itself, so the top-up should be considered a prepayment. However, the issue is that prepayment invoices require filling in the order number of the prepaid order, and I currently cannot provide that information because the service invoice has not been generated yet—it will only be created when the user actually purchases the service.

If a user tops up $100, they can purchase multiple services, which seems to indicate some mismatch in my accounting system. I currently have no accountant to assist, so I would greatly appreciate any help.

Core Question

Is it correct to treat user top-ups to virtual accounts as prepayments?

Analysis

From an accounting perspective, a prepayment typically refers to a situation where a business receives payment from a customer in advance but has not yet provided goods or services. In your scenario, when a user tops up their virtual account, they do not specify a particular service, nor is a service order generated. Therefore, this top-up is more similar to a "prepaid fund" or "customer deposit" rather than a prepayment for a specific order.

Prepayment invoices require an order number because they are usually linked to a specific sales order. Since in your business model, top-ups are not associated with any order, you cannot generate a prepayment invoice that fits the traditional definition. This suggests that you may need to adjust your accounting treatment rather than force the prepayment concept.

Recommended Treatment

  • Treat top-ups as "customer deposits" or "deferred revenue": When receiving the top-up payment, debit bank deposits and credit the "customer deposits" or "contract liabilities" account, without recognizing revenue.
  • Recognize revenue when the user actually purchases services: When the user uses virtual currency to purchase services, recognize revenue based on the progress of service delivery and settle the corresponding liabilities.
  • Timing of Invoice Issuance: Prepayment invoices are typically used to request payment for a specific order. In your model, it is recommended to issue service invoices when the user actually purchases services, rather than issuing prepayment invoices at the top-up stage. If local tax regulations require invoicing for advance receipts, consult a tax advisor to consider issuing a "receipt for advance collection" or "top-up voucher" instead of a standard prepayment invoice.

Conclusion

Strictly speaking, treating top-ups as prepayments is not entirely accurate because prepayments are usually tied to specific orders. A more reasonable approach is to treat them as customer deposits and recognize revenue when the service is actually provided. It is recommended that you consult a professional accountant or tax advisor to ensure compliance with local accounting standards and tax requirements.

Thank you for your question.