Run the school library without losing a single book. Catalog, issue, return, reserve, fine.
A multi-library system with copy-level accession, issue and return workflows, member categories with per-grade borrow rules, reservations, holiday-aware fines and a dashboard health score. Built for the way Indian schools actually run their reading rooms.

How most Indian schools run the library today
It is the third week of June in a CBSE senior-secondary school in Kanpur. Promotion is over, the new session has just opened, and the librarian has been pulled out of her room twice already this morning — once to find the missing copy of Wings of Fire that a Class 9 boy is asking for, and once to argue with a parent who is sure her daughter returned a book in February. The library register is a thick hardbound book with sticky tabs, the issue cards are kept in a wooden tray sorted by class, and the spreadsheet of donated books from last year's annual function never quite became part of the catalog. There are three copies of the new NCERT Hornbill that arrived in May still sitting in a sealed cardboard box because no accession number was assigned.
The cost is not just the librarian's time. A reading-period for Class 7 collapses because the English teacher cannot find which student has the Tinkle Digest she was planning to read aloud. The principal's office cannot answer when the CBSE inspection team asks for an inventory list with current status. Three fines from last year quietly become uncollectible because no one remembers when the books were due. A parent who was about to recommend the school to two friends instead complains in the WhatsApp PTA group about the fine claim. By the end of the term, the library is the part of the school that everyone agrees needs work and no one knows how to fix.
This page is for the principal, librarian or office head who has stopped pretending the existing register works. Inkwelly Library replaces the register, the wooden card tray and the donated-books Excel with one screen that knows where every book and every copy is, who borrowed it, when it is due and what the fine looks like — across one library or many.

What we built instead
A library in an Indian school is not just one shelf — it is often a junior library, a senior library, a teacher reference room, sometimes a board-exam revision section, and a stack of donated books that nobody has accessioned yet. Inkwelly treats every one of those as a separate library with its own code, location, in-charge employee and circulation rules — but rolls them up into one school-level view so the principal can see the whole reading life of the school in a single dashboard.
Underneath, the design separates books (a title, with ISBN, publisher, language, format and authors) from copies (the physical items on the shelf, each with an accession number, barcode and condition). Three copies of NCERT Hornbill Class 11 are one book row and three copy rows. When the Class 11A teacher comes in for a 'reading period set', the system finds the available copies; when one is lost in the bus, only that copy is marked LOST while the other two stay in circulation. This is the difference between a register and an actual catalog — and it is the foundation on which every other workflow rests.
What's on the page from day one
- Multi-library structure — Junior, Senior, Reference, Board Revision, each with their own code, location, in-charge teacher and rules
- Two-level catalog — Books with ISBN-10, ISBN-13, publisher, language and format · Copies with accession number, barcode and condition
- Hierarchical categories — Fiction → Indian Writing in English → R K Narayan, with display order and books-count per branch
- Author records with biography, nationality and books-count, reusable across libraries in the same school
- Member categories — STUDENT or EMPLOYEE, mapped to a grade level, with their own maxBooksAllowed, borrowDurationDays, maxRenewals, finePerDay and reservationQuota
- Circulation desk — Issue, return, renew, with overdue counter and barcode scanner support
- Reservations / holds with pickup deadline, expiry hours, max-per-member and stale-hold alerts
- Fines with grace days, per-day rate, max cap, holiday-skip option, lost and damage replacement multipliers and renewal-block-on-fine
- Auto-generated accession numbers with configurable prefix and zero-padding (e.g. JLB-00001, JLB-00002)
- Self-checkout option for senior-most classes, with audit trail for every transaction
- WhatsApp and push alerts for due-today, overdue, expiring memberships and reservation pickup deadlines
- Live dashboard with library health score, hourly circulation heatmap, top readers leaderboard and a 30-day activity feed
See it in action




Everything an Indian school library actually needs
The grid below is the spine of the module. Each card maps to a real screen in the product — not a vision deck. If a feature is on this grid, it is shipping today; if it is not, it is on the roadmap, and you can ask in the demo. We deliberately kept the list to the workflows a CBSE/ICSE/State Board librarian runs in the first month, instead of a long list of features that look impressive in a sales pitch but never get used.
Capabilities at a glance
Multi-library setup
Run Junior, Senior, Reference and Board-Revision sections as separate libraries with their own code, location, in-charge employee and rules. One school-level dashboard rolls everything up.
Books and copies
Books store ISBN-10, ISBN-13, publisher, language, format, edition and authors. Copies carry accession number, barcode, condition and status — AVAILABLE, ISSUED, RESERVED, LOST, DAMAGED, UNDER_REPAIR, WITHDRAWN.
Hierarchical categories
Build the Dewey-like tree your school actually uses — Fiction · Hindi Sahitya · Bal Sahitya · Munshi Premchand. Reorder, rename, soft-delete. Books-count rolls up automatically.
Member categories
Define rules per member group — Class 6–8 borrow 2 books for 7 days with no renewals, Class 11–12 borrow 3 books for 14 days with one renewal, teachers borrow 5 for 30 days. Mapped to grade levels.
Circulation desk
Issue, return and renew at one screen with barcode scan or accession lookup. Overdue counter is always visible. Optional self-checkout for senior classes with full audit trail.
Reservations and holds
Students reserve a book that is currently issued. The system holds it for the configured pickup window, sends a WhatsApp alert when the book returns, and auto-expires the hold.
Fines and waivers
Per-day rate, grace days, max cap, lost-replacement multiplier, damage multiplier, holiday-skip and renewal-block-on-fine — all per library. Fines collected, waived and outstanding tracked separately.
Auto-accession numbers
Configure prefix and padding once — JLB-00001 onwards. Every new copy gets the next number automatically. No 'where did we stop last year' confusion in June.
Smart alerts
Due-today, long-overdue, expiring memberships and stale holds appear on the dashboard and via WhatsApp. The principal sees them too — accountability without nagging.
Reports and exports
Inventory by category, circulation report by class, fines collected by month, popular books, top readers, copy-status breakdown — every report exportable as PDF or Excel for inspection files.

Cataloging — the layer everything else stands on
A catalog that is half-done is worse than no catalog. If a book is not in the system, a student cannot find it; if a copy is in the system but not on the shelf, the librarian gets blamed. Inkwelly's catalog is built so that every donation, every NCERT bulk order and every replacement copy ends up in the system the same day it arrives — without three forms and an Excel handoff. The two-level model (books and copies) is what makes this work in practice. You catalog Hornbill — NCERT Class 11 once; you accession three copies of it as JLB-00114, JLB-00115, JLB-00116. When a librarian searches for the title, she sees one row with 'Available 1, Issued 2'. When she scans copy JLB-00115's barcode, she sees exactly which student has it and when it is due.
Books vs copies — the distinction that scales
Most school registers conflate the two. Inkwelly does not. A book is the bibliographic record — title, sub-title, ISBN-10, ISBN-13, publisher, edition, year of publication, language, format (PRINT, EBOOK, AUDIO, JOURNAL, MAGAZINE, NEWSPAPER, REFERENCE) and one or more authors. A copy is the physical item — accession number, barcode, condition, current status and the price the school paid for it.
When Class 11 needs three copies of Hornbill for a reading period, the librarian sees one book row and three copy rows. When one copy is lost in the bus, only that copy moves to LOST — the book stays in circulation. When the librarian needs to weed out a tattered copy, she marks it WITHDRAWN; the book record is untouched. Without this separation, every workflow above this layer breaks.

Categories that match how Indian librarians think
Dewey Decimal is technically correct and practically nobody in an Indian school library uses it. Inkwelly lets you build the tree your reading-room actually uses. Fiction → Indian Writing in English → R K Narayan. Hindi Sahitya → Bal Sahitya → Munshi Premchand. Reference → Competitive → CDS / NDA / SSC. Periodicals → Magazines → Tinkle. Categories carry a parent ID, a display order, an optional code, an active flag and a books-count that rolls up the children. You can soft-delete a branch and the books move to Uncategorised — never disappear.
Reorder by drag, rename inline, archive the branch you no longer use. The categories panel is the same one the principal uses to print an inspection-friendly subject-wise inventory list — so the librarian and the inspection team are always looking at the same tree.

Circulation — the desk that runs the library
Issue, return, renew. Three verbs. The whole library lives on whether these three things take 10 seconds each or three minutes each. The circulation desk in Inkwelly is one screen — the Circulation Desk — built so that a Class 4 student handing over an Amar Chitra Katha and a Class 12 student returning a NCERT Physics Part 1 both go through in under 15 seconds. Barcode scan, member ID auto-fill, due date computed from the member's category — and the receipt prints if the school wants it printed.

Issue: scan, pick member, done
The librarian scans the copy's barcode (or types the accession number for the rare book without one). The screen shows the book and copy details, plus the last few transactions on this copy — useful when the same Class 8 boy borrows the same Premchand again. She picks the member by name or membership number; the system auto-fills the member's category, current outstanding loans (vs maxBooksAllowed), any unpaid fines, and the computed due date.
If the member already has 3 books out and the category cap is 3, the system blocks the issue with an explicit message — not a silent allow. If blockRenewalOnFine=true and the member has an outstanding fine, that block is also enforced here. The desk says yes only when the rules say yes.
Return and renewal: the same screen, two buttons
Return drops the copy back to AVAILABLE, runs the fine calculation if the loan was overdue, and offers waiver with a reason field. The librarian does not switch screens. Renewal extends the due date by the category's borrowDurationDays, increments the renewal counter against maxRenewals, and refuses cleanly if the cap is hit or the book has a pending reservation.
The overdue counter at the top of the page is permanent — every loan past its due date adds 1, and one click filters the table to show only those. The librarian does not have to remember to check. The Class 6 girl who has been holding Matilda for 28 days surfaces on her own.

Members — borrow rules that match the way classes actually read
A Class 4 student should not borrow a 600-page reference book for 30 days. A teacher should not be capped at 1 book for 7 days. Inkwelly's member categories let you set borrow rules per cohort — maxBooksAllowed, borrowDurationDays, maxRenewals, finePerDay, reservationQuota — and tie them to a grade level (or to the EMPLOYEE pool for teachers and admin staff). When a Class 4 girl is enrolled in the library, she inherits the Junior Wing category's rules; when she promotes to Class 5, the system can either keep her there or move her — your choice, set once.
Member categories — set once, reused for years
A typical Indian school sets up 4–6 member categories: Pre-Primary, Primary (1–5), Middle (6–8), Senior (9–10), Senior Secondary (11–12), Faculty. Each carries its own rules. A change to Senior Secondary — say, raising maxBooksAllowed from 3 to 4 in board-exam term — applies to every member tagged to it on the next issue.
Member status is a small but powerful field — ACTIVE / SUSPENDED / EXPIRED / CANCELLED. A suspended member cannot issue but can still return. An expired membership warning appears on the dashboard 14 days in advance. The librarian gets time to renew the cohort before the new term breaks.

Reservations and fines — the parts schools usually get wrong
Reservations and fines are where most school libraries silently break. Either reservations are tracked in a notebook that the next librarian cannot read, or fines are collected on whim. Inkwelly's reservation and fine logic is the same the librarian, the principal and the parent see — so disputes get resolved in 30 seconds with a screenshot, not in a 20-minute argument.
Reservations: the queue is visible
A student reserves a book that is currently issued. The hold goes into a queue ordered by reservation time. When a copy is returned, the system marks it RESERVED and sends a WhatsApp alert to the next student with a configurable pickup deadline (default 48 hours).
If the student does not pick up the book in time, the hold expires automatically and the next student in queue gets the alert. A maxReservationsPerMember cap stops one over-eager Class 11 boy from queuing for everything. Stale holds — reservations that are sitting unfulfilled past their deadline — appear on the dashboard so the librarian can chase them in a single screen, not by going through the register page by page.


Fines: the policy is in the software, not in the librarian's head
Set finePerDay (₹2 is common for primary, ₹5 for senior), graceDays (most schools use 1–2), maxFineAmount so the fine never crosses the book's MRP, and decide whether chargeFineOnHolidays is true (some schools skip fine accrual on declared school holidays). For lost or damaged books, set lostReplacementMultiplier and damageReplacementMultiplier against the recorded copy price — typical values are 2× for lost, 1.5× for damaged.
blockRenewalOnFine is the lever most schools forget. With it on, a member with an unpaid fine cannot renew — they have to clear the dues at the desk. Fines collected and fines waived are tracked separately, with reasons, so the principal sees the difference between paid and waived for genuine reasons.
“Pehle har Friday ko 4 ghante lagte the register milana mein. Ab Monday morning ko dashboard kholo, sab kuch saaf — kis ne kya issue kiya, kiska fine pending hai, kis copy ka next reservation hai. Librarian aunty bolti hain ab ghar pe time milta hai.”
Before and after Inkwelly Library
vs generic ERPs that 'also have a library module'
Built for the people who actually run the library
The librarian is one person. The library is used by a Class 5 student, a Class 12 board candidate, a science teacher, the principal and an inspecting officer — each with a different question to ask of the same data. Inkwelly Library is built so that each persona gets the answer they need from their own login, without bothering the librarian for it.
The Librarian — fewer interruptions, more reading-period support
Her day is the circulation desk in the morning, accessioning new arrivals between bells, handling reservations and fines in the afternoon, and answering inspection questions whenever they come. The desk is one screen. New arrivals get accession numbers automatically. Reservations queue themselves. Fines are computed from policy. The reports she used to spend Friday afternoons compiling are exportable from one button.
Most importantly — the next librarian who joins inherits the system, not a hardbound register only she could read. Continuity that survives staff turnover is the single biggest gain a school library can make.


The Class Teacher — reading-period in 30 seconds
A reading period in Class 7 used to mean walking to the library, asking the librarian to find five copies of something Class-7-friendly, and returning to the room with three. The class teacher now opens the catalog from her laptop, filters by language and category, sees which copies are AVAILABLE today, sends the librarian a one-line message ('5 copies of Wings of Fire, Class 7 reading period, period 4'), and has them ready when she walks in.
She also gets the top readers of her class on her dashboard — three students who have read 10+ books this term. That ends up on the parent-teacher meeting slide. Praise that is grounded in data is the cheapest form of student motivation an Indian school has.
The Principal — accountability without nagging
She does not want to be the person who chases the librarian for an inventory list. She opens the library dashboard once a week — sees the library health score (computed from on-time returns, copy availability, overdue percentage, fine collection rate and stale-hold count), the circulation trend over 30 days, and the top three alerts (long-overdue loans, expiring memberships, stale holds). If the score has dropped, she has a conversation; if it has held, she does not.
When the CBSE inspection visit happens, the inventory list, circulation report, fine summary and category-wise stock are exportable from her own login. She does not need to ask for them — she pulls them. The library finally answers the questions the principal is asked.


The Parent and Student — visible borrowing
The parent opens the Inkwelly parent app and sees what her child has currently borrowed, the due date, and any fine outstanding. The student in Class 11 sees his own list, his reservation queue position, and a 'Renew' button that works only if his category allows it.
This is the part Indian school libraries traditionally never gave parents — visibility into their child's reading and borrowing record. The Class 11 boy who has not returned a board-revision book is reminded by his own mother on Sunday evening, not by the librarian on Monday morning. The parent app turns the library into a household conversation, which is the cheapest possible reading-habit intervention.
Integrations — the library is not a silo
A school library that does not know who the students are, when they are promoted, who their class teacher is and which fees are paid is half a system. Inkwelly Library is wired into Student Information, Examinations, Academics and the Employee Information modules — so the library member list updates when a student is enrolled, the member category moves when a child is promoted, and a teacher's library access is created on her joining day.
Security, privacy and audit
A library catalog reads like a small thing — until you remember that the borrowing record is a list of what a 14-year-old child has been reading. Inkwelly treats every read of that data as a privileged action. Role-based access controls (RBAC) are tied to Inkwelly's IAM module — librarians see all members in their library; class teachers see only their class; the principal sees the school. Self-checkout, when enabled, writes an audit log entry for every transaction with the device, time and member id.
What we do for security
- Per-school tenant isolation — two schools on the same Inkwelly cluster never see each other's library data
- Role-based access — librarian, class teacher, principal, employee, parent, student, each with their own scope
- Audit log on every issue, return, renewal, hold, fine collection and fine waiver — with actor and timestamp
- Soft-delete on books, copies, members and categories — recoverable for 30 days; never lost in error
- Self-checkout (optional) writes a device-id-tagged audit entry; can be turned off per library
- WhatsApp alerts go via Inkwelly's business API — no librarian's personal number, no message log on her phone
- Data hosted in Mumbai (ap-south-1); compliant with India's DPDP Act 2023 and the data-residency clause
- DigiLocker-ready — student membership cards can be issued as DigiLocker documents in v2
- Daily encrypted backups; retention configurable per school

Migration — getting on Inkwelly without losing the August reading list
Most schools do not switch software in the middle of a term unless the migration is genuinely painless. Inkwelly's library import is built for the three real states a school's library data is usually in: paper register, Excel, or another ERP. There is a fourth state — donated-books-still-in-cardboard — and we have a workflow for that too.
From paper register or Excel
Download our import template — one sheet for books, one for copies, one for members. Fill in what you have (don't worry about the columns you do not). Upload, review the auto-detected duplicates and accession-number conflicts, and click Import. A typical 4,000-book library imports in about 90 minutes including review time.
New donated copies that arrive after the import use the regular accession workflow. The system picks up from the next number. You do not have to wait for a 'clean' state to start using Inkwelly — start with what is on the shelf today, accession the donations as they come.
From another ERP (Fedena, Entab, Tally Library, etc.)
Most generic ERPs export a partial CSV — book title, ISBN, copies. We map that to the books and copies tables; you fill in the missing fields (publisher, language, format, condition) on the catalog page over the first two weeks.
Member data usually comes from the school's main student register, which Inkwelly already has via Student Information. The library member list is created in one click from the existing students; the librarian only assigns member categories. Migration time is dominated by review, not by data entry.
See the library run on a real Indian school dataset
30-minute walkthrough with a Class 1–12 catalog, four member categories and three weeks of circulation data. No sales pitch — we show, you ask.
“A school library is the cheapest, most under-used educational intervention an Indian school has. The software's only job is to stop being the thing that gets in the way.”
A normal week, end to end
The screenshots above show individual screens. The week below shows how they connect — the rhythm of how Inkwelly Library actually runs in a school. Read this carefully if you are evaluating the module against your current process — the test of a school ERP is not 'what features does it have' but 'does my Tuesday morning get easier'.
Monday — circulation peak



Friday — reports and inspection




vs imported global tools (Koha, Destiny, etc.)
What's included with Library
- Multi-library setup with codes, locations, in-charge employee, isDefault and isActive flags
- Books with ISBN-10, ISBN-13, publisher, edition, year, language, format and one or more authors
- Copies with accession number, barcode, condition and 8-state status — AVAILABLE, ISSUED, RESERVED, IN_TRANSIT, LOST, DAMAGED, UNDER_REPAIR, WITHDRAWN
- Hierarchical categories with parent / child, display order, code and rolled-up books-count
- Author records with biography, nationality and books-count
- Member categories — STUDENT or EMPLOYEE — with grade level, maxBooks, duration, renewals, fine, reservation quota
- Members with status — ACTIVE / SUSPENDED / EXPIRED / CANCELLED — and full transaction history
- Circulation desk — issue, return, renew with overdue counter and barcode scan
- Reservations queue with pickup deadline, expiry hours, max-per-member, stale-hold alerts
- Fines — finePerDay, graceDays, maxFineAmount, chargeFineOnHolidays, lost/damage multipliers, blockRenewalOnFine
- Auto-accession numbers with configurable prefix and zero-padding
- Self-checkout (optional) with audit logging
- Reports — inventory by category, circulation by class, fines, popular books, top readers, copy status
- Live dashboard — KPIs, library health score, hourly heatmap, popular books, top readers, alerts, activity feed
- WhatsApp alerts via Inkwelly's business API for due, overdue, reservation pickup and expiring memberships
Stop running the library out of a hardbound register.
Book a 30-minute walkthrough. Bring your own questions — about CBSE inspection, donated books, board-exam revision, parent disputes. We'll answer on a real dataset.
Frequently asked
12 questionsCan we run multiple libraries in one school — Junior, Senior, Reference, Board Revision?
Yes. Each library has its own code, location, in-charge employee, accession prefix and circulation rules. The school-level dashboard rolls everything up into one view. You can run as many libraries as your school needs.
How does Inkwelly handle the difference between a book and a copy?
A book is the bibliographic record (title, ISBN, publisher, language, format, authors). A copy is the physical item on the shelf (accession number, barcode, condition, status). Three copies of the same NCERT title are one book row and three copy rows. Status is tracked per copy — AVAILABLE, ISSUED, RESERVED, IN_TRANSIT, LOST, DAMAGED, UNDER_REPAIR or WITHDRAWN.
Are accession numbers generated automatically?
Yes. You configure a prefix (e.g. JLB for Junior Library) and a zero-padding length (e.g. 5 → JLB-00001) once. Every new copy gets the next number automatically. There is no 'where did we stop last year' confusion when the new term starts.
Can we set different borrow rules for different classes?
Yes. Member categories let you set maxBooksAllowed, borrowDurationDays, maxRenewals, finePerDay and reservationQuota per group, mapped to a grade level. Class 4–5, Class 6–8, Class 9–10, Class 11–12 and Faculty are typical groupings — you can have as many as you want.
How are fines calculated?
Per library you set finePerDay, graceDays, maxFineAmount (so fines never cross book MRP), and toggle chargeFineOnHolidays. For lost or damaged books, lostReplacementMultiplier and damageReplacementMultiplier compute charges against the recorded copy price. blockRenewalOnFine, when on, prevents renewals while a fine is outstanding.
Does it integrate with WhatsApp for due-date and reservation alerts?
Yes. Inkwelly uses its WhatsApp Business API integration to send due-today, overdue, reservation-pickup-ready and expiring-membership alerts. Parents receive them on the same number they already use for fee receipts and attendance — no separate app to download.
Can students reserve a book that is currently issued?
Yes. Reservations are queued in time order. When a copy returns, the system marks it RESERVED, alerts the next member with a configurable pickup deadline (default 48 hours), and auto-expires the hold if not collected. A maxReservationsPerMember cap stops the queue from being abused.
Can a library member self-checkout a book?
Optionally, yes. Self-checkout can be enabled per library and is typically used by senior classes (11–12) and faculty. Every self-checkout writes an audit log entry with device id, member id and timestamp. You can disable it any time from settings.
What happens to library member data when a student is promoted?
Inkwelly Library is wired into the Student Information and Academics modules. When a student is promoted from Class 8 to Class 9, their library member category moves to the corresponding senior category automatically — borrow rules update on the next issue. No re-import, no CSV.
How long does migration from a paper register or Excel take?
For a typical 3,000–5,000 book library, expect 1–2 hours including review. Download the import template (books, copies, members), upload, review duplicates and accession-number conflicts, click Import. Donated copies that arrive afterwards use the regular accession flow.
Where is library data stored — is it DPDP-compliant?
All Inkwelly data, including library borrowing history, is stored on Indian servers in Mumbai (ap-south-1). The system is built for the DPDP Act 2023 — parental consent flows for under-18 members, principal-level deletion with logged reasons, configurable retention. Borrowing history is private to the school.
Can the principal pull an inspection-ready inventory report any day?
Yes. Inventory by category, circulation by class, fines collected vs waived by month, copy-status breakdown, popular books, top readers and category-wise stock are all exportable as PDF or Excel from the principal's login. No need to ask the librarian to compile.
You might also like
3 readsSee Inkwelly on your school
30-minute demo. We open your current ERP with you and load your data into Inkwelly on the call. Dated go-live plan by the end of it.