Dedicated Virtual Accounts (DVA): what they are and how to create them

Dedicated Virtual Accounts give each family a unique, permanent Nigerian bank account number. When a parent transfers fees to their number, School Vault automatically reconciles the payment against the correct student's bill, no manual matching required.

Before you begin

  • Your school's Paystack account is connected to School Vault (article 5.4).
  • The Paystack account is KYC-verified and enabled for virtual account creation.
  • You are logged in as Bursar or School Admin.

What a Dedicated Virtual Account is

A Dedicated Virtual Account (DVA) is a unique Nigerian bank account number assigned exclusively to one student's family. It is issued through Paystack's virtual account feature and is backed by Paystack's banking partner (Providus Bank or Wema Bank, depending on your account setup).

When a parent transfers money to their child's DVA from any Nigerian bank (USSD, internet banking, mobile banking), Paystack receives the transfer and sends a webhook to School Vault, which automatically:

  • Credits the payment against the student's open bill
  • Updates the bill status (Partially Paid or Paid in Full)
  • Sends a payment confirmation to the parent via in-app and SMS
  • Records the transaction in the financial log

The bursar does not need to manually match any bank transfers. The whole process is automatic.

DVAs are permanent. Once a family's virtual account number is created, it remains the same for all future terms, there is no need to send parents a new account number each term. Parents can save it in their phone contacts and pay quickly every term.

Creating a DVA for a single student

  1. Go to Fees from the sidebar → Virtual Accounts tab → click Create DVA.
  2. Select the student from the form.
  3. The system calls the Paystack API. Within a few seconds, a unique bank account number is generated.
  4. The account number, bank name, and account name are shown on the screen and saved to the student's record.
  5. Click Share with Parent to send the account number to the primary parent via in-app notification and (optionally) WhatsApp.
Student Fees tab showing the DVA section with account number, bank name, and account name, alongside a Share with Parent button

Bulk DVA creation

  1. Go to Fees from the sidebar → Virtual Accounts tab → Bulk Create sub-tab.
  2. Select the class section(s) or "All Students".
  3. Click Generate Accounts. Only students without an existing DVA receive a new one.
  4. A batch job runs in the background. You receive an in-app notification when it completes.
  5. Download the DVA list CSV which shows every student's name and their account number, useful for distributing via printed notices.
DVA creation depends on Paystack API availability. Occasionally (usually < 1% of attempts) the API returns an error. If bulk creation shows failed items, retry those individually using the single-student Create DVA flow from Fees → Virtual Accounts tab. Contact support if failures persist.

What parents see

In the parent portal, under Fees, the student's DVA is shown as:

  • Bank account number
  • Bank name (e.g. "Wema Bank")
  • Account name (e.g. "SV / [Student Name] / [School Name]")
  • Instructions: "Transfer the exact bill amount to this account number from any Nigerian bank."

Overpayments and underpayments

  • Exact payment: bill is marked Paid in Full automatically.
  • Underpayment: bill is marked Partially Paid with the amount received shown. Parent can transfer the remaining balance at any time.
  • Overpayment: the excess is held as a credit on the student's account and applied to the next bill automatically, or the bursar can issue a refund manually — contact support for manual refund processing.

Common mistakes

  • Creating DVAs before the Paystack account is KYC-verified, the API rejects the request with a "Business not verified" error.
  • Telling parents to transfer "any amount" rather than the exact bill amount, overpayments require manual refund processing, which creates extra admin work.
  • Not sending the DVA to parents after creating it, a DVA that the parent does not know about will not result in any payments.
Version history
v1.0 23 Jul 2026 Article published for Academy v1.0.
v1.1 10 Aug 2026 Fixed navigation: single DVA creation now via Fees → Virtual Accounts → Create DVA (not student profile Fees tab); bulk DVA creation via Fees → Virtual Accounts → Bulk Create sub-tab (not Finance → Virtual Accounts → Bulk Create); removed non-existent Finance → Virtual Accounts → Failed screen reference; removed non-existent Finance → Refunds path.