Club membership fee payment accounting entries based in monthly usage

Hi,. Am trying out the Non profit module to pitch ERPNext to a club. The club is a non profit organization wherein it makes money through membership fee and other services like an in house restaurant, boats mooring service etc.

I am trying to achieve following in the membership payment. Process is as follows

  1. Member pays advance membership fee for 1 year
  2. Payment entry is passed.
  3. The payment is considered as Liability.
  4. Each month the system moves the amount on pro rate bases from Liability to asset.
  5. 30 days before expiration of membership system generates new invoice.
  6. Cycle is repeated.

Cancellation

  1. If a member wishes to cancel the membership after payment then system shows the amount of refund. The amount resides as liability.
  2. System passes JV at time of refund.
  3. Membership is tagged as Inactive.

Please let me know if this is available in Non Profit module as I couldn’t find it. If not then has anyone done something like this and how. Thank you.