Complete Payments Guide

Today, we’ll be taking a deep dive into how payments management works on uTeach Cloud and how with a little setup, you can save time and reduce mistakes in your school’s billing.


All sorts of schools use all sorts of billing practices. At uTeach Cloud, we’ve tried to make our system as customizable as possible to meet every school’s needs, however, that can be difficult at times. If you have questions about our billing system or want to ask for more features, please feel free to contact us anytime.

As a school owner, what are you looking for in a payment system?

One of the things we have found is that, for the most part, neither customers nor owners enjoy billing and payments. In fact, most people want to avoid it all the little annoyances around bookkeeping, even if they know it’s important. That’s why we try to keep things simple:

  • Student-level billing presets for quick monthly input
  • Single-page invoice checking for large payment batches
  • Monthly credit card subscriptions are completely hands-free after setup

Disclaimer: One of the major assumptions made in our billing system is that schools will be billing monthly, annually, or on a one-off basis. Schools using bespoke billing systems might not necessarily be covered by our functionality.

Anyway, on to the important stuff.

Payment Settings

First, navigate to Settings -> Payment Settings.

On the basic settings, you’ll see something like this:

Payment Categories: You can set what categories you want to accept payments for (eg textbooks, lessons, events, etc). This is completely customizable.

Payment Methods: Set what payment methods you accept (eg cash, bank transfers, PayPay, credit cards, etc). This is also completely customizable.

Generate Payment Info For: This setting is for the batch invoice creation feature. You can specify who will be automatically included, allowing you to not include students who have quit (“archived students”). If you are using private students as well, you should include both “student” and “private student”.

Use Stripe: Let’s take a look at this in the next section.

Stripe Payment Settings

First off, what’s Stripe? For those of you who don’t know, Stripe is one of the world’s largest payment’s processors, developed on an online-native basis. You might not know it, because unlike Paypal, Stripe doesn’t get in your face with their brand all the time. They’re content to work in the background, smoothly processing payments for a huge percentage of the world’s e-commerce sites.

Why do we support Stripe and not Paypal?

While Paypal is a household name in some countries, Paypal has an unfortunate tendency to ask people to make accounts, hold balances, register billing information, sign in before payments, etc. Then they follow up by sending emails all the time. As a school owner, do you want to bother your students with making them sign up for financial services they might not otherwise use? Or would you rather they just pop in their credit card information and be done in seconds?

If you’re in the second group, Stripe is the service for you. (Besides, Paypal subscription functionality is extremely limited.)

Let’s go ahead and take a look at the Stripe settings. Before you can complete this, you’ll want to get a Stripe account.

Stripe Publishable Key: Part of the Stripe API information necessary for using their service. It can be found on the Stripe Dashboard under Developers -> API keys. You’ll find it labeled Publishable key.

Stripe Secret Key: You can find this on the same page, just under the Publishable key. You’ll need to click Reveal live key token to reveal the key or click [+ Create secret key] to generate a new one.

Stripe Webhook Signing Secret Key: This can be found on the Stripe Dashboard under Developers -> Webhooks in the section labeled Signing secret. First, you’ll need to complete the Stripe Webhook Setup below, then click Click to reveal to retrieve the webhook signing secret key.

Currency: Select the currency you would like to bill in. Be careful, as you can only bill one customer in one currency, so you won’t be able to change currencies easily later on.

Use credit card subscription: If you’d like to use subscriptions, please check this.

Billing Day: Select what day Stripe subscriptions will be billed on.

Stripe Webhook Setup: To set this up, copy the link from the uTeach Cloud Payment Settings page and navigate to Developers -> Webhooks and select [+ Add endpoint] and past the URL in the Endpoint URL section. Then under Events to send select invoice.paid and customer.subscription.updated (if using subscriptions) and finish with Add endpoint.

Adding a Payment Plan

Now that we’re set up, to make everything work we need to set up some plans (payments can also be done manually, but programming in the plans will save you a lot of time in the long run).

Navigate to Accounting -> Plans and click Add.

Name: Choose a descriptive name for your plan here so that its easy to pick out later.

Number of Lessons: Select how many (monthly) lessons this plan will cover.

Price per month: How much (tax included) will this plan be for?

Status: Active means the plan can be selected for users, archive means that it’s no longer available. Plans will usually be archived once replaced by something else, rather than set to archive from the start.

Send to Stripe: If you want this to be used with Stripe, please leave this on.

Adding a Discount Plan

Adding a discount plan is very similar to adding a plan. The reason why we separate plans and discounts is to make clear on student invoices how their charges were calculated.

Name: Make this something descriptive so it is easy to apply later.

Discount Amount: Input the amount of the discount.

Duration: Forever means this is a continuing discount (such as a sibling discount). Once means a single-time discount (such as a referral discount).

Send to Stripe: Leave this on if the discount can be applied to Stripe payments.

Student Payment Settings

With some plans and discounts created, we can go ahead and set each student’s payment plan. First, let’s look at an example of a student paying by cash, bank transfer, etc. In the next section we’ll have a look at subscriptions using Stripe.

Navigate to a student page from the Student List and select the Payment Settings tab. If you have yet to make any settings for the student, you’ll see something like this:

Use credit card subscription: Here you have an option to turn on automatic billing using credit card via Stripe. Let’s leave this be for now.

Manual invoice settings: This is what we will be looking at in this section, explained in more detail below.

Credit card subscriptions: If you’re using credit card subscriptions, the details will appear here.

Payment method: Select the payment method to be used by this student. Remember, we set these in the Payment Settings earlier on. If something is missing for you, feel free to go ahead and customize them before moving forward.

Payment breakdown: This will show the line items for your student’s invoice. Currently there is nothing here, but line items can be added with the [+] button.

Discount: Here, you can select a discount plan to be applied to the student invoice.

Total amount: Shows the amount calculated for this invoice based on the line items.

Adding a Line Item

When you click the [+] button it will by default add a row to select a plan.

On plan selection, the plan info will be automatically pulled into the invoice.

If you would like to input a custom line item rather than using a plan, use the toggle above to delete button.

To add a discount, simply select it from the dropdown.

When you’re finished, go ahead and press [Submit].

Student Stripe Subscriptions

Navigate to a student page from the Student List and select the Payment Settings tab. If you have yet to make any settings for the student, you’ll see something like this:

To add a Stripe recurring credit card subscription, first we’ll turn on the slider for Use credit card subscription. Doing so, you’ll see:

To start making the subscription, click on [Create Subscription].

The input form is similar to that from the previous step. You can select your plan from the drop down as well as select a discount to be applied. At the bottom of the box, it shows when the first invoice will be billed (the day of billing is determined in your Payment Settings).

Click [Submit] and you’re done!

Stripe Subscriptions on the Student Side

When you set up a Stripe subscriptions, like above, the first thing that will happen is the student will get an email notification asking them to input their card information. Email templates can be customized, but the default template looks something like this (to generate the email I needed live data so I’ve hidden some things for privacy):

Following the payment link, students will see a page allowing them to add a credit card to their account:

All the student needs to do is input their card information and everything is ready to go.

Note: uTeach Cloud does not store card information locally on our servers. All card information is passed directly to Stripe through their API and not duplicated, cached, or saved on our servers for security reasons.

Adding Single Payments

To add a single payment, navigate to the Student Page and click on [Actions] on the top right of the page and select [Add Payment].

Monthly Payments

Payment Type: For payment type, select Monthly.

Period: Select the month for which the payment is applicable.

Rest Month?: Checking this sets to student to a rest month, meaning they incur no payments and use no classes.

Payment Method: Select the method of payment (cash, bank transfer, etc).

Payment Breakdown: Payment line items. [+] button can be used to add payment details from plan or using custom entry.

Discount: Discount plan can be selected here.

Total Amount: Calculated from invoice line items.

Number of lessons: Can be calculated from line items or edited manually should the need arise.

Memo: Space for a simple memo about this payment if needed.

Other Payments

When setting other payments (things like book, event, one time fees), the payment input changes a bit:

Payment Method: Select how payment was made (cash, bank transfer, etc).

Payment Category: Select what time of thing the payment is for. These categories are programmable from the Payments Settings, but typical categories might include books, events, fees, etc.

Price: Specify the price here.

Memo: Some space to input a simple memo.

Single Payments with Stripe

One of the quirks of Stripe is that if a user is subscribed to monthly payments with Stripe, you won’t be able to charge one-off payments to the same user. In this case, what you’ll need to do it add the one-off payment to the upcoming Stripe invoice.

To do so, navigate to the Student Page and find the Credit card subscriptions section. To the right of an active subscription, you’ll see a button to View Upcoming Invoice.

Clicking will show you the next invoice date and line items:

By clicking [Edit invoice items] we can add new items to the upcoming invoice.

Press [Submit] and you’ll see the invoice updated as such:

Checking Student Payment History

To check an individual student’s payment history, navigate to their Student Page and find the tabs Monthly Payments and Other Payments. These two tabs show the information for the student:

Use the [Mark as paid] button to show when a payment has been received to convert an invoice into a payment record. Invoices / payments can also be edited or deleted in the case of errors.

Using the Payments Page

The payments page is a straightforward, ledger-type page. If you’d like to have a quick look at all the payments received on a specific day or for a specific time period, you can use this page.

To find it, navigate to Accounting -> Payments. The default setting is for the previous month, but the date range can be filtered based on your desire.

Using Batch Payments

Managing your payments in batches can save you a lot of time by generating all your invoices at once and making it easy to mark multiple payments as paid from a single page.

First, navigate to Accounting -> Manage Monthly Payments.

The batch payments page is a little busy, so let’s talk a bit about what you can see at first.

At the top, you’ll see the month payment records are being managed for.

Under Generated Payment Records, you can see students who have already got payment records associated with them. In this case, we made a one-off payment for Kojin Suzuki in a previous step, and we can see that reflected here. This prevents us from accidentally doubling-up on invoices for a particular student.

Generate Payment Records, on the other hand, shows a checklist of all the students who are active but do not have an invoice made for the selected month. You can easily use [Select All] to select every remaining students to make records for them.

Note: Students using Stripe subscriptions will not appear in the top section until the invoicing date has come, and will not be shown in the bottom section to prevent accidental double-charges.

Let’s see what happened when we click [Select All].

Doing so generates payment records for all the selected students. The details of these payments are pulled from the Student Payment Settings we worked with in the previous step. If all the students are attending as usual, you don’t need to do anything here as you’ve already preset their payment information.

If some students have taken off or changed their plan on a limited basis, you can edit their payments for the selected month only.

Then, when we press [Generate Payment Records] all the records are added as invoices back to the top of the page:

Now, when you receive a payment, all you need to do is click [Mark as paid] either on this page or on the individual student’s page.

Even with hundreds of students, it only takes a few minutes to create invoices.

Payments Stats

This section of uTeach Cloud is currently being expanded, so in the future there will be more ways to view the payments statistics for your school. If you have any requests or ideas, please contact us.

Currently we can see two kinds of useful data: payments by attendance month and payments by date of receipt.

The first graph, payments by attendance month lets you know how much your school has billed in terms of services delivered for a specific month (or year) regardless of when payment was made:

The second graph, payments by date of receipt, shows when cash actually came into the school, helping you analyze your cashflow.

In Conclusion

uTeach Cloud offers comprehensive and powerful tools for managing your school’s payments in a way that saves you time as an admin but also makes payment convenient for your students. Don’t get bogged down in trying to keep track of paper receipts and cash register balances anymore!

Table of Contents
Go to Top