AVKUL ERPDocs
MODULE GUIDE · 11 OCT 2026

Fee structures & collections

Configure charges, preview billing, issue invoices and record collections and adjustments.

Try guided demo →Download guide ↓
Fee structures & collections — illustrated workflow banner

What you can do

01

Fee types and structures

02

Billing preview

03

Invoice generation

04

Collections and receipts

05

Dues ageing

06

Concessions

07

Refunds and reversals

Access & setup

Intended access: Assigned account with the required permissions.

  • An assigned school account with the required permissions.
  • The academic, student or staff setup used by this workflow.
Required permission keys
fee:viewfee:managefee:createfee:updatefee:delete

Use the public sample demo to learn this flow. Your assigned ERP account determines access to actual school records.

How the workflow works

  1. 01

    Create the required fee structure and installments

    An assigned school account with the required permissions.

  2. 02

    Preview eligible students and existing invoices

    Billing preview is part of the documented workflow.

  3. 03

    Generate invoices and record a valid collection

    Invoice generation is part of the documented workflow.

  4. 04

    Review the receipt, remaining balance and adjustment history

    Review the result in the connected record or workspace before moving on.

Request fields to understand

Source-declared fields used by related operations; each operation has its own validation and scope.

FieldDeclared typeInput
referencestringOptional
notestringOptional
amountnumberOptional
reasonstringRequired by declaration
namestringOptional
codestringOptional
isRecurringbooleanOptional
isOptionalbooleanOptional
classIdstringOptional
studentIdstringRequired by declaration
sessionIdstringOptional
itemsInvoiceItemInput[]Required by declaration
structureIdstringRequired by declaration
installmentNonumberOptional
sectionIdstringOptional
dueDatestringOptional
notesstringOptional
typestringRequired by declaration
valuenumberRequired by declaration
feeTypeIdstringOptional
isActivebooleanOptional
discountIdstringOptional
statusstringRequired by declaration
studentIdsstring[]Optional

Rules & current limits

  • A collection record is distinct from online gateway settlement. Adjustment and refund actions require the appropriate permission and validation.

Source inventory checked on 11 October 2026. Guide availability confirms documentation publication, not certification of every external service or device flow.

Try fee structures & collections

Open a guided sample workspace, try the available actions, then reset whenever you like. No login required.

Launch guided demo →

API & permissions reference

This is the module’s source-declared endpoint catalogue. Reading this reference does not execute any request.

37 source-declared operations
GET/api/v1/fees/collections

Collections List

fee:view
GET/api/v1/fees/collections/summary

Collections Summary

fee:view
GET/api/v1/fees/payments/:id/receipt

Receipt

fee:view
POST/api/v1/fees/payments/:id/reconcile

Reconcile Collection

fee:manage

Declared request fields: reference (required), note (optional).

POST/api/v1/fees/invoices/:id/fine

Fine

fee:manage

Declared request fields: amount (required), reason (required).

GET/api/v1/fees/types

List Types

fee:view
POST/api/v1/fees/types

Create Type

fee:create

Declared request fields: name (required), code (optional), isRecurring (optional), isOptional (optional).

GET/api/v1/fees/structures

List Structures

fee:view
GET/api/v1/fees/structures/:id

Get Structure

fee:view
POST/api/v1/fees/structures

Create Structure

fee:create

Declared request fields: name (required), classId (optional), studentId (optional), sessionId (optional), items (required).

PATCH/api/v1/fees/structures/:id

Update Structure

fee:update

Declared request fields: name (optional), classId (optional), sessionId (optional).

DELETE/api/v1/fees/structures/:id

Remove Structure

fee:delete
POST/api/v1/fees/generate/preview

Who would be billed, for how much, and who is already invoiced

fee:view

Declared request fields: studentId (optional), structureId (required), installmentNo (optional), classId (optional), sectionId (optional), dueDate (optional), sessionId (optional), notes (optional).

POST/api/v1/fees/generate

Generate invoices for every eligible student

fee:manage

Declared request fields: studentId (optional), structureId (required), installmentNo (optional), classId (optional), sectionId (optional), dueDate (optional), sessionId (optional), notes (optional).

GET/api/v1/fees/concessions/schemes

Concession schemes the school offers

fee:view
POST/api/v1/fees/concessions/schemes

Create Scheme

fee:manage

Declared request fields: name (required), code (optional), type (required), value (required), feeTypeId (optional), isActive (optional).

PATCH/api/v1/fees/concessions/schemes/:id

Update Scheme

fee:manage
DELETE/api/v1/fees/concessions/schemes/:id

Remove Scheme

fee:manage
GET/api/v1/fees/concessions/report

What the school has awarded, and what it has cost

fee:view
GET/api/v1/fees/concessions

List Awards

fee:view
POST/api/v1/fees/concessions

Award a concession to a student (starts as REQUESTED)

fee:update

Declared request fields: studentId (required), discountId (optional), sessionId (optional), name (optional), type (optional), value (optional), feeTypeId (optional), reason (optional).

POST/api/v1/fees/concessions/:id/decision

Approve or refuse a requested concession

fee:manage

Declared request fields: status (required), reason (optional).

DELETE/api/v1/fees/concessions/:id

Withdraw an award; issued invoices keep their discount

fee:manage
GET/api/v1/fees/invoices

List Invoices

fee:view
GET/api/v1/fees/defaulters

Invoices with an outstanding balance

fee:view
GET/api/v1/fees/dues/ageing

Outstanding fees aged per student

fee:view
POST/api/v1/fees/dues/reminders

Send a payment reminder to fee-paying guardians

fee:manage

Declared request fields: studentIds (optional), minDaysPastDue (optional), minAmount (optional), classId (optional), sectionId (optional), title (optional), message (optional), channels (optional), dryRun (optional).

GET/api/v1/fees/invoices/:id

Get Invoice

fee:view
POST/api/v1/fees/invoices

Create Invoice

fee:create

Declared request fields: studentId (required), dueDate (optional), notes (optional), items (required).

POST/api/v1/fees/invoices/:id/payments

Collect a payment against an invoice

fee:update

Declared request fields: amount (required), method (optional), notes (optional), collectionKey (optional), reference (optional).

POST/api/v1/fees/payments/:paymentId/refund

Refund a collected payment (full or partial)

fee:manage

Declared request fields: amount (optional), reason (required), notes (optional).

POST/api/v1/fees/invoices/:id/write-off

Forgive outstanding balance

fee:manage

Declared request fields: amount (optional), reason (required).

POST/api/v1/fees/invoices/:id/discount

Apply a concession/scholarship discount

fee:manage

Declared request fields: type (required), value (required), reason (required).

POST/api/v1/fees/invoices/:id/cancel

Void an invoice raised in error

fee:manage

Declared request fields: reason (required).

POST/api/v1/fees/adjustments/:id/reverse

Undo a discount / write-off / cancellation

fee:manage

Declared request fields: reason (required).

GET/api/v1/fees/invoices/:id/adjustments

Invoice Adjustments

fee:view
GET/api/v1/fees/adjustments/summary

Totals discounted, written off and refunded over a period

fee:view

Open the actual application

ERP links use your assigned account. Record-specific pages start from the list so you can choose a real record.

Keep exploring