BvLogic ERP — User Manual

Everything the system does, where to find it, and how to use it day to day.

BvLogic Academy · Version 1.2 · 30 July 2026

Use your browser's “Save as PDF” option.

1. What this system is

BvLogic ERP runs the whole academy in one place: enquiries, admissions, students, batches, fees, attendance, online classes, exams, staff, payroll and reporting. It replaces working across separate registers, spreadsheets and WhatsApp threads.

It is a large system — over 200 screens. Most people only ever need the six or seven that belong to their job. This manual is organised so you can read only your section and still know what exists elsewhere.

Read section 4 even if you read nothing else. It is a one-page map of every module. A lot of time gets lost asking for features that are already built and simply were not found — section 4 and section 20 exist to prevent exactly that.

2. Getting in

The address is https://codexla.com. It changed on 30 July 2026 — this system used to answer on a longer server address, and codexla.com used to open the old Business Hub. If a bookmark takes you somewhere that looks unfamiliar, that is why. Update it.

The two ways to use the system

InterfaceWho it is forHow to open it
Full ERP (desktop / laptop) All office staff, teachers, management Open https://codexla.com in a browser and sign in. This is the complete system.
Mobile app (phone) Teachers marking attendance, staff clocking in, management on the move Open /app on your phone and choose “Add to Home Screen”. See section 17.

Signing in

  1. Go to https://codexla.com and enter your own email and password.
  2. If two-factor is switched on for you, a code is emailed — enter it to continue.
  3. You land on the dashboard for your role.
Everyone must use their own login. Sharing one admin account causes three real problems: the audit trail records the wrong person for every change; teachers see other teachers' classes; and — most importantly — you see the super-admin view, which looks nothing like the screen your colleagues actually get. Several “this module doesn't exist” reports have turned out to be “I was logged in as somebody else.” Ask an administrator to create your account.

Signing in with a QR code

Nobody has to be told a password out loud or by message. An administrator issues a QR code and the person scans it with their phone's own Camera app — nothing to install first, and it works on Android and iPhone alike. They are signed in, and the system immediately asks them to choose their own password. After that they can sign in either way.

Code typeBehaviourUse it for
One-time code Works once, expires after 30 days, and dies the moment a password is set. Getting somebody in for the first time. This is the normal choice.
ID-card code Can be reused until revoked, expires after 180 days. Only where the printed card stays with that person — anyone holding it can sign in as them.
Printing a batch sheet issues brand-new codes, which kills every card printed for that batch before. Print once, hand them out, and do not reprint unless you mean to replace the whole set. Cards are personal — one card signs in one person, so the wrong card hands a student somebody else's account.

An account with two-factor switched on will not accept a QR code and asks for the email and password instead. That is deliberate: a code on paper is not a second factor.

Creating accounts and resetting passwords

Only the Super Admin role can create accounts or reset passwords. Not even the CEO role can — that separation is deliberate, since whoever can create users can create an account with any level of access. Both live at System → Users & Roles.

A password you set is temporary by design: the person is asked to choose their own the next time they sign in, so nobody but the account holder ends up knowing the working password. Resetting also revokes any QR card that person holds, which is what you want if the reason for the reset is a lost card.

3. Roles — who sees what

What you can see and do is decided by your role. The sidebar hides anything your role cannot use, so two people looking at the same system will genuinely see different menus. That is intended, not a fault.

RoleWhat it is forMain areas
Super AdminSystem owner / ITEverything, including creating users and roles
CEOBusiness ownerEverything except user/role management. Plus CEO dashboards and student feedback
Academy HeadAcademic oversightView across students, fees, attendance, LMS, HR, finance; manages KPI
Operations ManagerRuns day-to-day operationsStudents, courses, batches, enrollment, attendance, LMS, leads, certificates, approvals
Admin (front desk)Reception and admissionsRegister students, fees, attendance, leads, certificates, visitors
AccountantMoneyFee collection, payment proofs, expenses approval, income & P&L, reconciliation
HR ManagerStaffEmployees, staff attendance, leave, payroll, KPI
Sales ManagerAdmissions team leadLeads, CRM reports, sales targets
Sales Rep / CounselorFollows up enquiriesLeads and online admissions
TeacherTeaching staffOwn batches only: attendance, classes, materials, assignments, exams, student leave
Project CoordinatorStudent projectsProjects and placement
ReceptionistFront deskLeads, visitors, online admissions
StudentEnrolled learnerOwn portal only — see section 18
GuardianParentRead-only view of their own child
Teachers are scoped to their own batches. A teacher cannot see or change another teacher's classes, grades or student leave. This is deliberate. If a teacher needs wider access, an administrator can grant extra permissions individually under System → Users & Roles → Permissions without changing their role.

4. Everything it can do — the full map

This is the complete sidebar. If something below is missing from your screen, your role does not have it.

Overview

Menu itemWhat it does
DashboardYour role's summary screen
My WorkspaceYour own attendance, leave, payslips and KPI as an employee

Academics

Menu itemWhat it does
StudentsRegister, edit, search students; documents, fee history, lifecycle
CoursesCourse catalogue, fees, duration, VSS codes
BatchesClass groups, teacher assignment, enrollment, batch/course transfer
RoomsPhysical rooms with booking and clash detection
TimetableWeekly class schedule
Fee CollectionRecord payments, installment plans, receipts, outstanding balances
ScholarshipsDiscounts and scholarships against a student's fee
RefundsRefund requests and disbursement
Payment ProofsVerify receipts students uploaded themselves
AttendanceMark attendance, view history and per-batch reports
LMS / Online ClassesSchedule Zoom classes, upload materials, set assignments, grade
Exams & GradebookQuizzes, tests and exams — written or auto-marked online
AnnouncementsNotices to the whole academy or one batch
Student LeaveApprove or reject student leave requests

CRM & Sales

Menu itemWhat it does
Leads / InquiriesEvery enquiry, its status and follow-up history
Follow-Up RemaindersWhich follow-ups are overdue, due today or upcoming
Online AdmissionsApplications submitted through the public form
OutsidersVisitor log for people who are not students or staff
Sales TargetsMonthly targets per counselor and actual achievement

HR & Payroll

Menu itemWhat it does
EmployeesStaff records, contracts, salary structure, contracted hours and the days of the week each person works
Leave ManagementStaff leave requests (students are separate — see Student Leave)
PayrollMonthly payroll runs and payslips, including allowances, hours worked, commission and bonus
Commission & BonusDay-by-day commission, bonus and one-off deduction entries that reach the next payslip
Holiday CalendarGazetted holidays, academy closures, and declaring any single day on or off
KPI SystemKPI templates, monthly grading, bonus recommendations

Finance

Menu itemWhat it does
ExpensesRecord and approve spending, with vendor details required
Income & FinanceIncome ledger and profit & loss
CEO ReportsExecutive dashboards — revenue, students, staff
Report CenterAround 30 reports, all with date filters and Excel export — section 15
ReconciliationAutomatic money checks plus a question-answering assistant — section 16
Student FeedbackFeedback students submit about teaching and facilities

Projects

Menu itemWhat it does
ProjectsStudent project tracking with milestones and budget
Placement TrackingJob placements, employer and salary offered
Internship CertificatesIssue BvLogic internship certificates, publicly verifiable
Completion RequestsApprove course completion, which closes the enrollment

System

Menu itemWhat it does
Users & RolesCreate accounts, assign roles, grant individual extra permissions
QR sign-in codesIssue or revoke a sign-in code for one person (the QR button on their row in Users & Roles), or print a sheet of cards for a whole batch from Academics → Batches — section 2
Company SettingsAcademy name, logo and address used on receipts and letterheads; also the campus location used for attendance checking
Activity LogsWho changed what, when, from where
Fee & Recovery PolicyLate fee amount and reminder timing — changeable without a developer

5. Students

Registering a new student

  1. Go to Academics → Students → Register Student.
  2. Fill in the student's details. A registration number is generated automatically.
  3. Assign the course on the same screen. Pick Course, then Batch, then enter the fee and any discount. The payable amount updates as you type.
  4. Save. The student is registered and enrolled in one step, and appears in Fee Collection immediately.
You can enter the discount as either rupees or a percentage — use the selector beside the box. The screen shows the final payable figure so you never have to calculate it by hand. If the discount is larger than the fee, the box turns red and the form will not save.

Leaving the course section blank is also fine — it registers the student without enrolling them. You can enroll them later from Batches → Enroll.

The student profile

Open any student to see, in one place: personal details, enrolled courses, full payment history, attendance, documents, certificates and lifecycle stage. From here you can also print a registration slip or a fee receipt.

Documents

Upload CNIC, qualifications or photographs on the student's profile. Accepted formats are JPG, PNG and PDF.

Transferring a student

Use Batches → the enrollment → Transfer to move a student to a different batch or course. Payment history is preserved. The fee is only recalculated if the course itself changes.

Never delete and re-create a student to move them — that destroys their payment history. Use Transfer.

6. Courses, Batches, Rooms and Timetable

Courses

The catalogue: title, code, duration, standard fee and — where applicable — the PSDF VSS code. Editing a course fee does not change students already enrolled at the old price.

Batches

A batch is one running group of a course: its own code, start date, timing, mode (physical, online or hybrid), capacity and assigned teacher. Batch status moves through Upcoming → Active → Completed (or Cancelled).

Always assign a teacher to a batch. A batch with no teacher cannot have attendance marked by a teacher, cannot have leave approved, and is flagged as a problem in the system's own health checks.

Rooms and Timetable

Rooms can be booked per batch and the system refuses double bookings. The Timetable screen shows the weekly schedule.

The timetable is only as good as what is entered. If it looks empty, no schedules have been added yet — it is not a fault.

7. Fees & Money

Recording a payment

  1. Go to Academics → Fee Collection and search by name, registration number or phone.
  2. Open the student's enrollment and choose to record a payment.
  3. Enter amount, method, date and reference. Attach the receipt image if you have one.
  4. Save. The balance, the fee status and the income ledger all update together.
The amount cannot exceed what the student still owes. This is deliberate — allowing it would corrupt the accounts. If a student genuinely overpaid, record the correct amount and raise the difference as a separate matter with accounts.

Installment plans

Split a fee into 1–24 installments with your chosen interval. The system generates the due dates and can chase them automatically.

Receipts

Print a fee slip or a registration slip as PDF from Fee Collection, the installment history, or the student's profile. Both carry your academy letterhead from Company Settings.

Scholarships and refunds

Scholarships reduce the payable fee and are recorded against the enrollment. Refunds follow request → approval → disbursement, and correctly reduce the amount the student is recorded as having paid.

Payment proofs uploaded by students

Students can upload a bank challan or transfer screenshot themselves. It lands in Academics → Payment Proofs for the accounts team.

  1. Open Payment Proofs. Anything awaiting checking is listed with the amount claimed.
  2. Click View to see the uploaded receipt.
  3. Verify to accept it, or Reject with a reason.
An uploaded proof is not money yet. Nothing reaches the accounts until you verify it. When you do, the payment is recorded properly — installment, balance and income all at once — and the student is notified. Rejecting also tells the student why, so they can send a corrected receipt.

Overdue fees and late fees

Fee Collection → Overdue lists everyone past a due date. The late fee amount and reminder timing are set in System → Fee & Recovery Policy — no developer needed.

8. Attendance

Marking a class (office / teacher, on a computer)

  1. Go to Academics → Attendance and choose the batch.
  2. Set the date if it is not today.
  3. Mark each student Present, Absent, Late or Leave.
  4. Save.

Marking by QR code (phone)

Two ways, both in the mobile app — see section 17:

Attendance from joining an online class

When a student clicks Join on an online class, attendance is recorded automatically and they are taken into the meeting.

Viewing attendance

Per batch: Attendance → Report. Across the academy, with filters and Excel export: Report Center → Attendance.

Attendance is stored as one record per student, per batch, per day. If a batch meets twice in one day, that counts as one attendance day, not two.

9. Online Classes (LMS)

Scheduling a class

  1. Go to Academics → LMS / Online Classes.
  2. Choose the batch, give the class a title, pick the platform and set date, time and duration.
  3. Save. For Zoom, the meeting is created and the join link is filled in automatically.
Google Meet is not connected yet. Choosing it will save the class but produce no link, and the screen will tell you so. Use Zoom, which works, or paste a meeting link in by hand — a link you paste yourself is always kept.

If a class is saved without a link for any reason, the screen warns you at the time. It no longer fails silently.

Cancelling a class

Cancelling deletes the online meeting and removes the Join button from students' screens.

Materials, assignments and recordings

Exams and gradebook

Under Academics → Exams & Gradebook. Exams are categorised as quiz, test or exam, and are either written (you enter marks) or online multiple-choice (marked automatically).

Announcements and discussion

Announcements go to the whole academy or one batch, and reach students in the portal and on their phones. Each batch also has a question-and-answer discussion board.

10. Student Leave

Students apply for leave from their portal. Requests come to the batch's teacher.

  1. Go to Academics → Student Leave. The count of requests awaiting you is shown at the top.
  2. Read the reason and open the attachment if one was provided — for example a medical certificate.
  3. Approve or Reject, adding a note if useful.
Approving marks those dates as Leave on the student's attendance, so an authorised absence no longer looks like truancy. Any day the student was already marked present is left untouched. The student is notified either way.

Teachers see only their own batches' requests. Operations and admin staff see all of them.

11. Leads & Admissions

Enquiries

Every walk-in, call or online enquiry is a lead: source, interest, status and full follow-up history.

Follow-ups

CRM → Follow-Up Remainders splits your leads into Overdue, Due Today and Upcoming so nothing is forgotten.

Turning a lead into a student

Open the lead and choose Register as Student. The registration form opens pre-filled and the lead is marked converted and linked automatically when you save.

A lead can only become “converted” by actually registering the student, which is why converted leads always have a real student behind them.

Online admissions and visitors

Applications from the public form arrive under CRM → Online Admissions. Walk-in visitors who are not students or staff are logged under Outsiders.

12. HR & Payroll

Staff see their own attendance, leave, payslips and KPI under Overview → My Workspace.

Every person's own working hours

Two fields on each employee decide what payroll expects of them, and they exist because the academy runs full-timers alongside part-timers:

A part-timer is always measured against their own contract. Somebody hired for four hours a day who works four hours a day is a full month, and nothing is deducted. This is the single most important rule in the payroll calculation.

The holiday calendar and declaring a day on or off

Payroll → Holiday Calendar. Payroll reads this, so it must be filled in before a month is processed.

Paid leave

Twelve paid days a year, held as an annual pot rather than one day a month — take nothing in January and all twelve are still there in June. A day is spent in that person's own hours, so one day off costs a four-hour part-timer four hours of the pot, not nine. What is left is shown on the payslip.

Commission, bonus and one-off deductions

Payroll → Commission & Bonus. Entries are recorded against the day they were earned, not lumped into a month, and are swept into that month's payslip when payroll runs.

Running payroll

  1. Make sure every employee has a salary structure, contracted hours and a weekly pattern.
  2. Put that month's holidays and any on/off declarations on the calendar.
  3. Record the month's commission, bonus and deductions.
  4. Run payroll for the month and compare the payslips against your own sheet before paying anybody.
Deducting for short hours is switched OFF until you turn it on. Hours are recorded and reported from day one, but no salary is reduced until an administrator enables it — and it never applies to somebody who has not started clocking in, so nobody loses money for not yet using the app. Turn it on only after a month has been checked against your existing sheet.

A month can only be run once. If something was wrong, delete the run and do it again: commission and bonus entries return to outstanding automatically, so nothing is lost or paid twice.

13. Expenses & Finance

Recording spending

Finance → Expenses. Vendor name, vendor contact and payment method are required — this is a deliberate control so that spending can always be traced.

Large expenses need CEO approval above a threshold set in Settings, and management is notified when one is submitted.

Income and P&L

Finance → Income & Finance shows the income ledger and profit and loss. Fee payments post here automatically when recorded.

14. Projects, Placement & Certificates

The internship certificate is a BvLogic document. Accredited course certificates are issued separately by the awarding body.

15. Report Center

Finance → Report Center holds around thirty reports. Every one has Daily / Weekly / Monthly / Yearly / specific-month / custom-range filters, and nearly all export to Excel.

AreaReports available
MoneyTotal Sales Details · Fee Collection (Excel + PDF) · Fee Recovery & ageing · Daily Cash Flow · Financial / P&L · Expenses · Course Profitability · Fee Recovery Risk
StudentsStudent 360 · Enrollment · Registered–Not-Enrolled · Course Progress · Dropout Risk · Batch Strength
AttendanceAttendance by batch · Attendance per student · Session Activity (time in system)
TeachingLMS Activity · Assignment Completion · Quiz/Test Performance · Discussion Activity
SalesCRM / Leads funnel · Counselor Scoring
StaffHR · Leave · KPI Performance
OperationsProjects · Certificates · Completion Requests · Rooms & Timetable · Visitor Log · Placement
ManagementDaily Management Summary · Exceptions & Alerts
Build your ownCustom Report Builder — pick a module, choose columns and filters, save and export
Total Sales Details is the combined registration fee plus course fee view, filtered by joining date — the same figures the old system produced. Exceptions & Alerts is the best single screen for spotting problems: absent students, overdue fees, unfollowed leads, unmarked attendance and pending approvals, all in one list.

16. Reconciliation & asking questions

Finance → Reconciliation checks the money automatically and lets you ask questions in plain language.

The health checks

Each run verifies that recorded payments match the ledger, that balances are arithmetically correct, that fee status labels match reality, that every payment reached the income accounts, and it flags possible duplicate payments. It runs daily and shows anything at risk.

Student lookup

Search by name, phone, registration number, CNIC or email to get that student's full financial position instantly.

Ask a question

Type questions such as “how much has Hammad Khan paid in total” or “which teacher has the most students”. The figures always come from the database — the assistant explains them, it never invents them.

17. The mobile app

It is the same system, sized for a phone. Full step-by-step instructions with a QR code to scan are on the install page — Get the Mobile App in the sidebar, which anyone can open without signing in.

Android

  1. Open https://codexla.com in Chrome and sign in.
  2. Menu (⋮) → Install app, or Add to Home screen.

iPhone and iPad — the order matters

  1. Open the address in Safari. This does not work in Chrome on iPhone.
  2. Share button → Add to Home Screen → Add.
  3. Close Safari, open the new BvLogic icon, and sign in there.
On iPhone, sign in inside the installed app, not in Safari first. The home-screen app keeps its own sign-in, separate from Safari, so signing in beforehand means doing it twice. Notifications also only arrive in the home-screen app, never in Safari, and need iOS 16.4 or newer.

There is no separate download for iPhone and nothing to wait for — the install page is how iPhone users get it, and it is the same app Android users install.

What you get, by role

RoleOn the app
TeacherTake attendance by QR · clock in/out · student feedback · classes
StaffClock in/out · monthly hours · notifications
Management / CEOCash today and month-to-date, expenses, outstanding, new students, staff clocked in
StudentScan attendance · personal QR · progress · schedule · fees · leave · announcements · feedback
GuardianTheir child's summary and announcements

Notifications can be pushed to your phone for announcements and alerts — allow notifications when asked.

18. Student & Parent portals

Students can

Parents can

See their own child's fees, attendance and exam results, read-only.

Student logins are not created yet. Everything above is built and working, but only a handful of students currently have accounts. The academy decided to create these itself. Until that happens students cannot sign in, and the student-facing features will look empty. This is a pending decision, not a missing feature.

19. Step-by-step workflows

A walk-in enrolls today

  1. Log the enquiry under Leads (skip if they enroll immediately).
  2. Students → Register Student — fill details, choose course, batch and fee, save.
  3. Fee Collection — search the student, record the payment received.
  4. Print the fee slip and hand it over.

Running an online class

  1. LMS — schedule the class on Zoom; the link is created for you.
  2. Upload the material for the session.
  3. Students click Join at class time; their attendance is recorded automatically.
  4. After the class, add the recording link and set an assignment if needed.

A student says they already paid

  1. Ask them to upload the receipt from their portal, or take it at the counter.
  2. Payment Proofs — open it, check the receipt against the bank.
  3. Verify to record the payment, or reject with the reason.

Month end

  1. Report Center → Fee Collection — what came in.
  2. Fee Recovery — what is still outstanding and how old.
  3. Daily Cash Flow and Financial — cash and P&L.
  4. Reconciliation — confirm no money is unaccounted for.
  5. Payroll — run payroll and issue payslips.

20. Before you report something as missing

Most “this is missing” reports have turned out to be one of the four things below. Please check them before raising it.

  1. Are you on your own login? A shared admin account shows a different menu from yours. Sign in as yourself.
  2. Does your role include it? Check section 3 and 4. The sidebar hides what your role cannot use.
  3. Is it empty rather than absent? Many screens look missing when no data has been entered yet — timetable, materials, assignments, announcements and exams all start empty. An empty screen is not a broken screen.
  4. Is it under a different name? See the table below.
If you are looking for…It is here
Separate admin / teacher / student systemsOne system, three views. Your role decides what you see — section 3
Assigning students to a teacherAssign the teacher to the batch; students belong to batches
Course outline uploadLMS → Materials, against the batch or class
Fee receipt for the studentFee Collection → Slip, or the student's profile
Who changed this recordSystem → Activity Logs
Student attendance percentageReport Center → Course Progress, or the student's profile
Combined registration + course revenueReport Center → Total Sales Details
Students who paid but never joinedReport Center → Registered–Not-Enrolled
Changing the late fee amountSystem → Fee & Recovery Policy
Giving one person extra accessSystem → Users & Roles → Permissions (no role change needed)
A sign-in code for one personSystem → Users & Roles → the QR button on their row
Recording commission or a bonusPayroll → Commission & Bonus (record it against the day it was earned)
Marking Eid or a public holidayPayroll → Holiday Calendar
Making a Sunday a working dayPayroll → Holiday Calendar → Declare a day on or off
Giving one person a single day offSame screen — declare the date OFF and name that person
Setting part-time hoursThe employee's record: contracted hours per day, and the days of the week they work
How much paid leave somebody has leftTheir payslip — twelve days a year, drawn down
Sign-in cards for a whole batchAcademics → Batches → the QR button on the batch row (prints a sheet)
Getting a student into the app without giving out a passwordPrint their batch's QR cards — they set their own password after scanning (section 2)
The app for an iPhoneSafari → Add to Home Screen. There is no App Store download; section 17

If it is still genuinely missing, report it with: your role, the screen you were on, what you expected, and what happened instead. That is usually enough to resolve it same-day.

21. Known limits right now

ItemStatus
Google Meet class linksNot connected. Use Zoom, or paste a link manually. Awaiting a one-time Google sign-in by the owner.
Student loginsCreated — every enrolled student now has an account. None of them can sign in until their QR card is printed and handed over (section 2), because no password was ever set on those accounts.
Timetable dataEmpty until class schedules are entered.
Staff clock-inWorking, but no records yet. Monthly hours and any hours-based payroll stay empty until staff start clocking in from the app.
Salary structuresSet for only a handful of employees. Payroll pays basic salary alone until each employee has one, so allowances are missed.
Contracted hoursEvery employee currently defaults to 9 hours a day, Monday to Saturday. Correct the part-timers before payroll is run against hours.
Short-hours deductionDeliberately switched off. Hours are recorded and reported, but no salary is reduced until an administrator turns it on after a checked month.
Holiday calendarEmpty until holidays are entered. Add the year's holidays before running payroll, or a closed day counts as a missed one.
EOBI, income tax, provident fundNot calculated. Statutory deductions are handled outside the system.
Batch capacityNot set on existing batches, so occupancy reporting is incomplete until filled in.
Bank statement matchingDigital payments are recorded but statement upload and auto-matching is not built yet.
Uploaded receiptsAnyone with the exact file link can open it. Do not share those links outside the academy.