We are managing schools across multiple locations. We have designed a system where we allocate token currency to each school to make purchases from our store. We have a price list with prices in token currency enabling us to manipulate prices. This lets us charge an artificially inflated amount for non-perishable items encouraging schools to preserve items that do not need to be replaced.

We are currently doing this manually.

  1. A school sends its requisition
  2. We calculate the total tokens to be charged
  3. If the school has enough tokens available, the token amount is deducted from its balance.
  4. The order is shipped.

We want to automate this process. We would like have an online store face which lists items available in our inventory. The token prices should be listed. Since the tokens are abstract internal currency, we want to be able to set a balance for each school account which would be subsequently deducted for every purchase made. The schools should be able to see their available token balance in real time.

Is there anyway to do this without spending much money on custom made software or hiring a professional?

  • Interesting! Should a school be prevented from seeing how many tokens another school owns/gets/spends?
    – Nicolas Raoul
    Feb 19, 2019 at 8:20
  • @Nicolas Raoul Yes. Privacy is essential. We would need to have accounts with passwords.
    – user45515
    Feb 19, 2019 at 9:06
  • Please can you also clarify if only one account is used per school, or if many user accounts per school? I have done something similar in the past for a different scenario - an internal online store using points on a per user basis for payment. It was based on drupal. Will enter answer once clarified if it will help.
    – Z Z
    Feb 19, 2019 at 15:38
  • @Z Z each school will have only one account.
    – user45515
    Feb 19, 2019 at 16:40
  • ok - solution entered below. I can discuss further via chat etc if required.
    – Z Z
    Feb 20, 2019 at 9:29

1 Answer 1


I used drupal with its modules userpoints, userpoints ubercart, userpoints, and other dependent modules, for a very similar use case. This was done using drupal7 and still works today, and will suit the schools use case.

  • each school will be set up as a user
  • users can be allocated points by the admin person.
  • you can rename points to tokens if required.
  • the products to be purchased will be setup in ubercart.
  • products in the online store have prices in both points and currency.
  • users can login, search for products, and add to cart like any other online store.
  • on checkout, points is presented as a payment method.
  • If there are enough points, the total is deducted from the user’s balance and the purchase is completed.
  • user and admin can get emails to notify of purchases.
  • users can see their points balance and orders via their account page. [permissions will be set so that users can only see there own balance].
  • it requires some setup/config but works quite well.
  • you can self-host as code is opensource.

The alternative in drupal7 is to use commerce_userpoints with its dependent modules (commerce, userpoints). But I believe this approach has a few outstanding bugs on the issues queue. Also is not as straightforward to use/setup as the one recommended above.

If you want to do it in drupal8, you will have to check that the relevant modules have been converted to work with the latest release.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.