How to Import Credits
Bulk-create monthly credits for parents from a CSV file. This is ideal for subsidy programs such as CWELCC and can be once-off or recurring.
Import Credits lets you upload a file and have TUIO create monthly credits for each parent and student in it. Each row covers one credit award over a date range, and TUIO generates one credit per month in that range. Credits can optionally be applied to unpaid invoices automatically.
This is designed for schools and childcare centres administering subsidies, where a funding body sends a file each period listing an amount per child. Instead of entering credits by hand, you upload the file.
For help setting up credit types and how credits apply to invoices, refer to the credits guides in Billing & Payments.
Overview
Import Credits is found on the main Parents page > menu next to Create.
From the import, you can:
- Create monthly credits in bulk for any date range
- Map your own file's column names to TUIO fields
- Match rows to students by TUIO ID or by your own identifier
- Automatically allocate credits to unpaid invoices, filtered by program and invoice type
- Re-import a corrected file without creating duplicates
- Receive an email summary of everything that was created, updated, or failed
Permission required: you need write access to the Student/Parent permission to see and use this option.
Before You Begin
Before importing, make sure:
- Your students and parents already exist in TUIO. The import creates credits, not people and credits will be skipped if it can't be attached
- You know which identifier your file uses for students, and that it matches a field in TUIO. It can either be the TUIO student ID or your own custom identifying ID
- The file must have sufficient information to identify a parent that will be the custodian of the credit. Either an ID or a first and last name must be provided where a student has multiple parents in TUIO.
- Your file is saved as a .csv file, with a header row
- You have decided whether the credits should auto-allocate to unpaid invoices
If you want the credits grouped under a credit type, that type must first have Used for credit imports enabled. See Setting Up a Credit Type for Imports below.
Getting your student and parent IDs
The simplest way to build your file is to start from TUIO's own IDs.
Open Students from the main menu, click the action button at the top right, and select Export student & parent data. The export gives you every student with their TUIO student ID alongside their linked parent and parent ID. This is exactly the pairing each row of your import needs.
From there, keep the ID columns, add your amount, dates and identifier, and delete anything you don't need.
You can use your own student numbers instead, by mapping the student identifier to the custom student identifier or a short text custom field. The export is simply the quickest route when you don't already have IDs to hand.
Preparing Your File
Your column names are yours to choose. TUIO doesn't require specific headings — during the import you match your columns to TUIO's fields, so a file that arrives from a funding body can usually be used close to as-is. What matters is that every row carries the following data.
| Your row must contain | Notes |
|---|---|
| Student identifier | Required. The TUIO student ID, your custom student identifier, or a short text custom field |
| Credit identifier | Required. Identifies the credit award — the same value can be used on every row |
| Credit amount | Required. The amount per month, in dollars |
| Start date | Required. The first month of the credit |
| End date | Required. The last month of the credit |
| Parent identifier | Optional. The TUIO parent ID, or a short text custom field |
| Parent first name | Optional. Used to pick the right parent when there's no parent identifier. Spelling matters and ensure that the name matches what is in TUIO. |
| Parent last name | Optional. Narrows the first name match; can't identify a parent alone. Spelling matters and ensure that the name matches what is in TUIO. |
All three parent columns can be left out entirely, as long as each student in the file has exactly one linked parent.
For example:
"
Student ID,Student first name,Student last name,Parent ID,Parent first name,Parent last name,Start date,End date,Amount,Identifier
13098442,Adaya,Crawford,13098441,Dayna,Glasgow,2026-07-01,2026-12-31,943.60,Subsidy 2026-27
12121309,Adebimbola,Louis Adewoye,12121308,Adebimpe,Ahmed,2026-07-01,2026-12-31,924.46,Subsidy 2026-27
12866426,Adriel,Jhon Pambid,12866425,Leonida,Pambid,2026-07-01,2026-12-31,1248.50,Subsidy 2026-27
"
The name columns aren't used by the import and they're there so you can read your own file and check it before uploading. You can leave them out.
Because the parent columns are optional, this is also valid when each student has exactly one linked parent:
StudentID,CreditRef,Amount,StartDate,EndDate
5678,SUB-001,150.00,2025-09-01,2026-06-30
Step 1: Open Import Credits
-
Open Parents from the main menu.
-
Click the action button at the top right of the parent list.
-
Select Import credits.
Step 2: Choose the Organization and Credit Type
Organization (required). Select the organization the credits belong to. All parent and student lookups are scoped to it. If you opened the import while already filtered to an organization, it is pre-selected.
Credit type (optional). Select a credit type to categorize the imported credits. Only credit types with Used for credit imports enabled appear in the list. If a default import credit type exists, it is selected automatically. If you omit the credit type, the credits are still created — just without a type.
Selecting a credit type is recommended. TUIO saves your column mapping per credit type, so future imports of the same file format come through pre-mapped.
Auto-allocate (optional). Tick Automatically allocate credits to unpaid invoices to have TUIO apply the credits against outstanding invoices. When enabled, you can restrict which invoices qualify:
|
Filter |
What it does |
|---|---|
|
Programs |
Only allocate to invoices related to the selected programs |
|
Invoice types |
Only allocate to invoices of the selected types |
Auto-allocation defaults to the Upfront/deposit and Scheduled invoice types.
-
Click Next.
Step 3: Upload Your CSV
-
Click Choose CSV file and select the file you prepared above.
If the file is valid you advance to Mapping automatically.
Common upload errors:
|
Message |
Cause |
|---|---|
|
Only CSV files are supported |
The file does not have a .csv extension. Save it as CSV from Excel. |
|
The selected file is invalid |
The file could not be read. |
|
Unable to read the uploaded file |
The CSV content could not be parsed. Check the file format. |
Step 4: Map Your Columns
Your column names do not need to match TUIO's. This step is where you tell TUIO which of your columns holds which piece of data, so a file from a funding body can usually be uploaded as it arrives.
Row number containing column headings. Defaults to 1. If your file has notes or metadata above the header row, change this to the row your headings are actually on.
Then map each field:
|
Field |
What it is |
CSV column |
TUIO field |
|---|---|---|---|
|
Parent identifier |
Uniquely identifies the parent |
Optional |
Optional |
|
Parent first name |
Identifies the parent among the student's parents when there is no parent identifier |
Optional |
— |
|
Parent last name |
Refines the first name match; cannot identify a parent on its own |
Optional |
— |
|
Student identifier |
Uniquely identifies the student |
Required |
Required |
|
Credit identifier |
Uniquely identifies the credit awarded |
Required |
— |
|
Credit amount |
The monthly credit amount, in dollars |
Required |
— |
|
Start date |
Starting month of the credit |
Required |
— |
|
End date |
Ending month of the credit. For a once-off, make this the end of the Start date's month. |
Required |
— |
-
Click Import.
Step 5: Results
Imports run in the background. You will see see a message that you will receive an email once the process is completed.
-
Click Done to close the dialog. You do not need to stay on the page.
The Results Email
One you get your result email, It contains:
- Results table.
- One row per monthly credit created or updated, showing the parent name, student name, credit ID, amount, and any invoices the credit was scheduled against.
- Import Errors table.
- Shown only if rows failed, listing the row number and the reason. The row number is the file's line number less one.
Months skipped because they fall outside a credit type's valid date range are not listed in the errors table. If a row produced fewer credits than you expected, check the credit type's date range first.
How Credits Are Created
One credit per month. Each row's date range produces one credit for every month in it, each for the row's amount. A row running December 2025 to March 2026 creates four credits: December, January, February and March.
Only the month and year of your dates are used and the day is ignored.
Credit naming. Credits are named automatically as {Credit Type Name} - {Month Year}. For example, Subsidy - Jan 2026. Without a credit type, the prefix is Credit.
How the Parent Is Resolved
The student is matched first, and the credit always goes to someone who is actually that student's parent.
|
What your row contains |
What happens |
|---|---|
|
A parent identifier |
The parent is looked up by that identifier. If they are not linked to the student, the row fails. |
|
No parent identifier, student has one linked parent |
That parent is used. |
|
No parent identifier, student has several linked parents, no first name |
The row fails since there is nothing to choose on. |
|
No parent identifier, student has several linked parents, first name given |
Matched against that student's linked parents only. Last name narrows it further. |
Names are matched case-insensitively, ignoring surrounding spaces, on the first 20 characters. If first and last name together match nobody, TUIO retries on the first name alone, so a surname typo or a changed surname doesn't lose the match. If a name matches nobody, or more than one of the student's parents, the row fails and the error names every candidate. TUIO never guesses.
Re-importing a Corrected File
You can re-upload a corrected or updated file without creating duplicates. TUIO identifies each credit by the combination of parent, student, credit type, credit identifier, the row's start month, and the credit's own month.
- New credits are created where no match exists.
- Existing credits are updated to the new amount, but never below what has already been applied to invoices. A $1,000 credit with $500 already applied, re-imported at $200, becomes $500. The same credit with only $100 applied becomes $200.
- Removed months are dropped if the new file has a shorter range, credits for the dropped months are deleted, unless they have applied allocations.
Because the row's start month forms part of the reference, changing a row's start date creates a separate set of credits rather than updating the existing ones.
How Auto-Allocation Works
When auto-allocation is enabled, each monthly credit is matched against that parent's unpaid invoices for that student.
- Eligible invoices have an outstanding balance and no payment in progress
- Only invoices matching your program and invoice type filters qualify
- Only invoices due on or after the first of the credit's month qualify, so a January credit never pays down a December invoice
- Invoices are filled oldest due date first until the credit is used up
Allocations are scheduled, not paid immediately. They are applied by the next payments run, which gives you a chance to review before money moves.
Setting Up a Credit Type for Imports
Credit types are managed from Manage credit types, reachable from the credit type field in the import wizard.
|
Option |
Effect |
|---|---|
|
Used for credit imports |
Makes the type selectable in the import. Its credits can no longer be created, edited or deleted by hand. Only a file import can change them. |
|
Apply as default for credit imports |
Pre-selects this type when the wizard opens. |
|
Valid date range from / to |
Restricts which months the import will create. Months outside the range are skipped. |
|
Tax receiptable by default |
Sets the tax receipting default for credits of this type, including imported ones. |
Import-managed credits cannot be edited manually. The one exception is the per-credit tax receipting setting, which stays editable.
If a credit type has a valid date range, months outside it are neither created nor updated. On re-import, out-of-window credits created by a previous import are removed unless they already have applied allocations.
Guidelines
- Include a header row with descriptive column names.
- One row per credit award.
- Amounts can include currency symbols and commas. $1,500.00 reads as 1500.00. Beware that a leading minus sign is stripped, so a negative amount imports as a positive credit.
- Dates: use YYYY-MM-DD to avoid ambiguity. Slash-separated dates such as 03/08/2025 are read month-first; dash-separated dates such as 03-08-2025 are read day-first. Only the month and year are used.
- Quoted fields containing commas, such as "Smith, John", are handled correctly.
- A byte-order mark written by Excel is stripped from the first column name automatically.
- Save the file as .csv, not .xlsx.
Example: Importing a Term of Subsidies
A childcare centre receives its CWELCC subsidy amounts and wants the credits to cover invoices from July through December.
1. Build the file. Export student and parent data from the Students page to get the ID pairs. For each subsidised child, add one row with the student ID, the parent ID, the start and end months of the period, the monthly credit amount, and an identifier for the batch.
Student ID,Parent ID,Start date,End date,Amount,Identifier
13098442,13098441,2026-07-01,2026-12-31,943.60,Subsidy 2026-27
2. Amount is per month, not the total. That row creates six credits of $943.60 (one each for July through December) and not one credit of $943.60 split across them. If you have a single total to apply rather than a monthly figure, either divide it across the months yourself, or set the start and end dates to the same month so the row produces one credit for the full amount.
3. Use a consistent identifier. Every row can carry the same identifier. Credits stay unique because the reference also includes the parent, student and month. Using one value per funding period, such as Subsidy 2026-27, makes it obvious which import a credit came from and lets you re-upload a corrected file cleanly.
4. Turn on auto-allocation and restrict it to the relevant programs and invoice types. Each month's credit applies to that family's unpaid invoices for that student, oldest due date first, and never to invoices due before the first of that credit's month.
5. Review before money moves. Allocations are created in a scheduled state and applied by the next payments run, so there's a window to check the results email and correct anything before parents are charged.
Tell families what to expect before the first affected invoice. Once credits are allocated, many will owe little or nothing that month, and a bill that looks wrong generates more questions than one that was explained in advance.
Quick Reference
I want to import a month of subsidy credits Go to Parents > action button > Import credits, choose the organization and credit type, upload your CSV, map the columns, and click Import.
I want the credits applied to invoices automatically Tick Automatically allocate credits to unpaid invoices on the first step, and set the program and invoice type filters.
I want to correct a file I already imported Fix the file and import it again with the same credit identifiers and start dates. Existing credits are updated rather than duplicated. If you only want to correct targeted credits, you only need to include them in your file.
I want to use our own student numbers instead of TUIO IDs Map the student identifier column to the custom student identifier, or to a short text custom field on your student form.
I want future imports to skip the mapping step Select a credit type. Mapping is saved per credit type and pre-fills next time.
Troubleshooting
Student not found
Check that the student identifier in your file matches the TUIO field you mapped it to, and that the student belongs to the selected organization and is active.
Parent not found
Check that the parent identifier matches the mapped TUIO field, and that the parent belongs to the selected organization and is active.
"Parent X is not linked to student Y"
The identifier resolves to a real parent who isn't one of that student's parents. Correct the identifier, or link the parent to the student.
"Student X has N linked parents and the row carries no parent first name"
The student has more than one parent and there's nothing in the row to choose between them. Map the parent identifier column, or the parent first name column.
"Could not resolve a single parent … candidates: …"
The name matched none, or several, of that student's parents. Fix the spelling, add the parent last name column, or map the parent identifier instead.
A custom field isn't offered in the TUIO field list
Only short text custom fields can be mapped. Structured fields such as address, choice or gender can't be matched against a spreadsheet cell.
The credit amount imported as 0
The amount column must contain a numeric value. Non-numeric characters are stripped, but a fully non-numeric value results in 0.
The mapping fields didn't pre-fill
Mapping is saved per credit type. Select the same credit type used previously. If no credit type is selected, mapping isn't saved.
Fewer credits were created than expected
Months outside the credit type's valid date range are skipped. Check the range first. A single skipped month doesn't stop the rest of the row, and whole-row failures appear in the results email.
A re-import didn't lower a credit's amount
A credit can't drop below what has already been applied to invoices. Reverse or adjust the applied allocations first.
Credits weren't auto-allocated
Check that matching unpaid invoices exist for that student, that they match your program and invoice type filters, and that their due date is on or after the first of the credit's month.
Allocations show as scheduled rather than paid
This is expected. Allocations are applied by the next payments run, not by the import itself.
Is there a fee for applying credits?
There is no transaction fee for applying a credit to an invoice. Cash and check equivalent transaction fees may apply when fully paying invoices by credit.
How does one credit spread across several invoices?
It fills them in order until it runs out. A $1,000 credit against four open invoices of $400 each applies $400 to the first, $400 to the second, $200 to the third, and nothing to the fourth.
The re-import created a second set of credits
The row's start month forms part of the credit reference, so changing a start date creates a new set rather than updating the old one.
The date range produced unexpected months
Credits are generated from the first of the start month through the first of the end month. December 25 to March 1 produces December, January, February and March.
Need Help?
If you need help preparing your file or interpreting an import result, contact support@tuiopay.com. Including the results email and the file you uploaded will help our team review it faster.