Home › User guides › Fees and registration
Internal · Live

ROSI CBS — Fees & Registration

Software that completes a full annual fee cycle: keeping the list of regular customers, issuing fee notices, emailing them with a QR code, reconciling the bank statement and issuing digitally signed receipts automatically.

1Who it is for

  • Fee officers — looking up customers, opening a fee round, issuing and sending fee notices.
  • Accountants and bank reconcilers — uploading statements, reconciling automatically, handling by hand the rows the system will not match on its own.
  • Officers tracking receivables — seeing who still owes, who is overdue, reprinting fee notices and receipts for customers.
  • Whoever manages the configuration — editing the fee schedule, the receiving bank account, reminder settings, document templates and email templates.
  • System administrators — creating accounts and granting rights, ending login sessions, dealing with incidents.

2How to open it

  • Address: supplied by your system administrator (not published publicly) — open it in Chrome or Microsoft Edge. Nothing to install; the computer only needs to be able to open PDF and Excel files.
  • Signing in: the login page shows three cards introducing three functions. Enter your "Username" and "Password", tick "Remember me" if you want a long session, then press "Sign in".
  • After signing in: an account granted two or more functions lands on the "Choose a system" screen — press the "Regular customer fee management" card. An account with only one function goes straight in, skipping this screen.
  • What your account needs: the "Regular customer fee management" box must be ticked and you must be in the "KHTX" permission group. Without the group you can get into the software but the menu is almost empty.
  • Who grants it: anyone with the "System administration" box ticked. The software has no self-service password reset by email — if you forget your password, ask an administrator to press "Reset password".
  • Map of the left-hand menu: two standalone items, "Dashboard" and "Customers"; then three groups that open when pressed — "Fees" (Fee rounds · Receivables · Payments · Receipts · Email log · Reports), "Bank reconciliation" (Upload statement · Reconcile statement · Upload history), "Settings" (Fee schedule · Document templates · Email templates · Fee configuration). The foot of the menu always holds five buttons: "Switch function", "System administration", "Account", "Guide", "Sign out" — any button your account has no right to is hidden.
Read this before you press the first button. The software runs on your organisation's real data. There is no draft mode and no sandbox. Pressing a button changes the data for real.

3Everyday tasks

Looking up a customer

  1. Press "Customers" in the left-hand menu. The screen opens with no rows, only the line "Enter a keyword to search for a customer." — that is by design, not lost data.
  2. Type one of three things into the search box: the customer code, the customer name, or the email address. Part of any of them works.
  3. Press "Search", or press Enter.
  4. Read the results table: Customer code · Name · Type · Email · Phone · Centre. A dash in the Email column means the customer has no email address — they will not receive fee notices or reminders on their own.
  5. To see or edit the full record, press "Edit" on that row.
  6. To add a new customer press "+ Add customer"; to import a whole file press "Import from Excel" — both buttons are in the top right of this screen.

Opening a new fee round

  1. In the left-hand menu press the "Fees" group to open it, then press "Fee rounds".
  2. Check first whether a round already exists for that year. Two rounds in the same year will not corrupt anything, but every customer then receives two fee notices and whoever reconciles afterwards has a very hard time.
  3. In the "Create a new fee round" block, fill the four required boxes: "Year", "Round name", "Issue date", "Due date". The "Note" box is optional.
  4. Check "Year" and "Due date" again — a wrong year makes the transfer reference printed on every fee notice in the round wrong too.
  5. Press "Create round". The page reloads, shows a green line "Fee round … created" and the new round appears in the table below.
  6. If you mistyped a word or a date, press "Edit" on the round's row and press "Save" when done. If you created a round entirely by mistake, press "Delete" — that button only works while the round has issued no notices.

Issuing fee notices for a whole round

  1. Check three things first: that the "Fee schedule" amounts are right; that the round's "Issue date" and "Due date" are right; and that the receiving account number printed into the QR code is right (see the "Fee configuration" screen).
  2. Go to "Fees" then "Fee rounds". Look at the Issued column: a red line "n still to issue" means the button is active.
  3. Press "Issue fee notices" on that round's row.
  4. The browser shows a dialog: "Issue fee notices for the n customers still missing them in round …?". Read the number n and the round name carefully. If right, press OK; if wrong press Cancel and nothing is written.
  5. Wait. With more than 14,000 customers this takes a while. Do not press again, do not close the tab, do not reload the page.
  6. Read the result. A green "n new fee notices issued…" means it is done. A yellow "NO notices could be issued because no customer with status Active was found…" means do not press again — report it to your administrator, quoting the message word for word.
  7. When it is finished, both "Issue fee notices" and "Delete" for that round go dim. No email has been sent yet — sending is a separate job, in task 4.
Pressing twice by mistake does no harm: this button only creates notices for customers who do not yet have one in that round. The second press returns "all already issued".

Emailing fee notices in bulk

  1. The notices must be issued first (task 3). Until they are, the "Send in bulk" button is dim and cannot be pressed.
  2. If you want to change the wording of the letter, do it first under the "Settings" group, in "Email templates" and "Document templates".
  3. Go to "Fees" then "Fee rounds" and press "Send in bulk" on the round you want.
  4. The dialog reads "Email fee notices in bulk for round …? Only customers who have never received this notice will be sent one." — press OK and wait. Do not press again.
  5. Read the summary line with its four numbers: A processed, B sent successfully, C customers with no email address, D errors. Read the words in brackets carefully — they say whether this was "SIMULATION mode" or "really sent over SMTP".
  6. If D — errors is not zero, press "Send in bulk" again after a few minutes; the system only retries the notices that failed, so nobody receives a second copy.
  7. Verify by going to "Fees" then "Email log": it shows each letter, who it went to, when, whether the status is Sent, Simulated or Error, and the contents of the letter.
The C — no email address figure counts customers who receive nothing at all. They must be telephoned, sent a paper letter, or handled the way task 9 describes.

Uploading a bank statement and reconciling automatically

  1. Download the statement from the bank as .xlsx or .csv. Delete the logo, account-holder and statement-period rows at the top of the file so that row 1 is the column header row.
  2. Check the file has the two required columns: an amount column (Amount, Credit, Số tiền, Ghi có…) and a description column (Description, Nội dung, Diễn giải…). A date column is worth having, and a transaction reference column is strongly recommended — it is the only thing that lets the system know whether a payment was already recorded last time.
  3. Go to "Fees" then "Receivables" and press "Upload statement" in the row of buttons at the top. Or go to the "Bank reconciliation" group then "Upload statement".
  4. Press the file-picker button, choose the file you prepared, then press "Upload and reconcile".
  5. Wait. When it finishes the software moves you to the "Reconcile statement" screen and shows a summary: "Processed A rows: matched automatically B, needing manual reconciliation C."
  6. Also read the clauses that only appear when they are not zero — DUPLICATE (already recorded from an earlier upload, nothing to do), POSSIBLE DUPLICATE, YEAR MISMATCH, AMOUNT UNREADABLE.
  7. The last three go into the manual queue — carry on with task 6.
This is the button that records money. One press can record hundreds of real payments, close that many fee notices and issue that many digitally signed receipts. There is no undo. Re-uploading the same file is safe: rows with a transaction reference come back as "Duplicate" and no money is recorded twice.

Reconciling the remaining rows by hand

  1. Go to "Fees" then "Reconcile statement"; or, on the "Receivables" screen, press "Reconcile manually".
  2. For each row look at three things: Description, Amount, Transaction date. Press "Reconcile" on the row you want to handle.
  3. On the detail screen, read the information card at the top. If it carries the line "Year written in the transfer reference: … — this money is paid FOR that year, do not offset it against another year's debt", read it very carefully.
  4. Type the customer code or customer name into the search box and press "Search"; press "Select" on the right row.
  5. Open the "Fee notice to be settled" box and pick the right line — watch the year, this is the easiest place to go wrong. Pick the wrong year and the receipt is issued for the wrong year while the year the customer actually paid stays outstanding.
  6. Fill in the "Note" box with the reason for handling it by hand, for example "customer omitted the year, confirmed by phone on 2 September".
  7. Press "Confirm reconciliation — settle the debt". Read the result: "Manual reconciliation completed for <customer name>. Receipt <number> has been digitally signed."
  8. If the payment is definitely not a fee payment (a mistaken transfer, a refund, an internal transfer), press "Skip" and then OK in the "Skip this row?" dialog.
If you skip a row by mistake it is not lost — ask an administrator to open "Upload history", find the row and set it back to "Unprocessed". Note down the file name, transaction date and amount so it can be found.

Handling the "Amount mismatch" rows

  1. Go to "Fees" then "Receivables".
  2. Press the "Amount mismatch" figure card (the red number), or the tab of the same name. This tab lists its rows straight away, with no search needed.
  3. These are rows where the customer code was readable but the amount matches no level in the "Fee schedule" — so the system will not settle the debt on its own.
  4. Customer underpaid: do not reconcile yet, because reconciling closes the whole fee notice even though the money is short. Contact the customer for the balance.
  5. Customer overpaid or paid several years at once: press "Reconcile" and pick the right fee notice — only one notice can be settled at a time; the remainder is recorded separately for reporting.
  6. Not a fee payment at all: press "Skip".
Do not let this tab pile up: it is money that has arrived in the organisation's account but is not attached to any debt. The longer it sits, the harder it is to trace.

Tracking receivables, reprinting notices and receipts

  1. Go to "Fees" then "Receivables". The four figure cards at the top are both figures and tab buttons: "Unpaid", "Paid", "Amount mismatch", "Overdue".
  2. The first two tabs only list rows once you search; the last two list them straight away.
  3. Type the customer code, customer name or notice number into the search box and press "Search".
  4. On an unpaid notice row, press "View notice" — the PDF opens in a new tab with the customer details, the amount, the due date, the transfer reference and the VietQR code. Print or save it with your browser.
  5. On the "Paid" tab, press "View receipt" to open the digitally signed receipt as a PDF.
  6. The "Overdue" tab tells you who needs chasing today; the Status column shows how many days late each one is.
The four figure cards always count the whole dataset, they do not change with the search box. And the "Overdue" figure is a subset of "Unpaid" — do not add the two together.

Re-sending a notice or receipt to one customer

  1. Go to "Fees" then "Receivables" and press "Send email manually".
  2. Type the exact customer code into the box and press "Look up". This box cannot search by name — if you do not know the code, look it up on the "Customers" screen first (task 1).
  3. Three blocks appear: the customer's details including the email address on file; the Fee notices block; and the Receipts block.
  4. Find the right row: a fee notice still "Unpaid", or a receipt already "Digitally signed". A paid notice cannot be re-sent, and for an unsigned receipt the send button is dim.
  5. Clear the address already filled into the email box and type the correct one, including upper and lower case.
  6. Press "Send fee notice" or "Send receipt" depending on the row, then read the result at the top of the page.

Viewing and exporting reports

  1. Go to "Fees" then "Reports". This whole screen is read-only; press anything you like.
  2. Choose the period type in the top row of buttons: "By week", "By month", "By quarter", "By year", "Choose dates".
  3. For the fixed periods, use "‹ Previous" and "Next ›" to step back and forward. On the current period, "Next ›" is dim.
  4. For "Choose dates", fill in "From" and "to" and press "View". The two boxes are pre-filled with the period you are already looking at, so there is nothing to retype.
  5. Read the five figure cards at the top, then the four detail tables below: Emails sent by type · Payments by reconciliation source · Bank statement reconciliation · Current receivables.
  6. Press "Export to Excel" in the top right. Change the period first, then export — the downloaded file covers exactly the period on screen.
The Current receivables table is calculated as at the moment you are looking, not at the end of the period. Step back to last month and the other four tables follow the period, but this one still shows today's figures.

4Tips and common problems

  • "Customers" or "Receivables" opens with no rows — nothing is lost. Lists with thousands of rows stay hidden until you search. The three screens "Payments", "Receipts" and "Email log" behave the same way; to see everything, press the "total N" link next to the search box.
  • "Issue fee notices" reports "no customer with status Active found" — the Status field in the customer record is free text imported from Excel, and this import wrote it differently (for example "Operating"). Do not press again; report it to your administrator with the warning quoted word for word.
  • A customer says they never received the email although "Send in bulk" was pressed — open the "Email log" and look at that row's status. Simulated (dry-run, not actually sent) means the system only composed the letter and never sent it out; this log is the only place to check.
  • Amounts in the statement come out about 100 times too large — the CSV uses English-style decimals. Export the file as .xlsx instead and upload again. The wrong rows will have landed in "Amount mismatch", so no money was recorded incorrectly.
  • Uploading the statement reports "Amount and/or Description column not found…" — row 1 of the file is not the header row. Open the file, delete the logo and heading rows so the headers sit on row 1, and upload again.
  • A round's "Delete" button, or a "Send receipt" button, is dim — that is not a fault. A round that has issued notices can no longer be deleted; a receipt that is "Not yet signed" must be signed before it can be sent — report it to your administrator.
  • Reconciliation is done but the receivables have not changed — reload the page with F5. If it is still wrong, report it with the customer code and notice number.
  • You made a mistake on something that records money (wrong customer, wrong year) — stop, and do not try to fix it in the database yourself. Report it with the customer code, notice number, receipt number, amount and date. Removing a payment also means removing a digitally signed receipt.

5Frequently asked questions

How must the transfer reference be written for the system to match it automatically?

Exactly in the form KHTX-<customer code>-<year>, for example KHTX-110240742-2026. If the customer scans the VietQR code on the fee notice, the reference fills itself in correctly. If they type it by hand and get it wrong or leave part out, that payment drops into the manual reconciliation queue.

The customer paid the right amount with the right code — why did it still not match?

Check three things in order. One: is the amount exactly one of the levels in the "Fee schedule" — if not, it lands in "Amount mismatch". Two: does the reference contain a year, and does the customer owe for that year — the system does not offset against a different year. Three: does this customer have any unpaid fee notice at all.

A row marked DUPLICATE — does that mean the customer's money is lost?

No. Duplicate means that payment was already recorded from an earlier statement upload. Recording it again would be the error — this is exactly the safeguard against taking the money twice.

I edited the "Fee schedule" — do existing fee notices change their amounts?

No. A notice that has been issued keeps the amount fixed at the moment of issue. Only notices issued after the change follow the new level.

Why can I not see "Issue fee notices", "Upload statement" or "Switch function"?

The software hides buttons your account has no right to, rather than showing them and failing when pressed. "Switch function" in particular only appears for accounts granted two or more functions. Contact your administrator and describe the task you need to do; you do not need to name the permission.