BvLogic ERP — User Manual

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

BvLogic Academy · Version 1.4 · 24 October 2026

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

What changed in this edition (24 October 2026)

Version 1.4 adds everything built between 1 and 24 October 2026. In plain words:

1. What this system is

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

It is a large system, with well 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. Sections 4 and 24 exist to prevent exactly that.
Teachers: the LMS Staff Guide (sidebar, or /lms-guide.html) walks through classes, Google Meet links, assignments, exams and attendance step by step. Section 9 here is the short version.

2. Getting in

Two addresses, two audiences. Staff use https://codexla.com — the back office described in this manual. Students, parents and free-course learners use https://bvlogic.academy: they sign in at bvlogic.academy/login, and every link the system sends a learner (welcome email, receipt, password reset, QR card) points there. Staff screens such as payroll, finance and the student list do not open on bvlogic.academy.

The 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 taking registers, staff clocking in, management on the move, students Android staff can download the app file from Get the Mobile App; anyone can open /app and choose “Add to Home Screen”. See section 21.
Learner portal Students, parents, free-course learners https://bvlogic.academy/login. See sections 10 and 22.

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.

Forgotten password — reset it yourself

On the sign-in page, click “Forgotten your password? Reset it yourself” and enter your email. A reset link is emailed and works for 60 minutes. The new password needs at least 8 characters with letters and numbers. Afterwards you sign in normally, and any printed QR sign-in card you hold stops working.

No reset email is sent to an inactive account, or to a student whose login is a generated …@student.bvlogic.academy address (students registered without an email). Those students get back in with the QR on their receipt, or an administrator issues a new code (below).

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 staff accounts or reset passwords for others. The CEO role cannot — that separation is deliberate, since whoever can create users can create an account with any level of access. Both live at System → Users & Roles. (Student logins are the exception: they are created automatically when a student is registered.)

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.

Stuck? Ask the Help button

Every staff page has a round Help button at the bottom right. Click it and type what you are trying to do, in English, Urdu or Roman Urdu, for example how do I record a fee payment? or fee ki receipt kaise print karun?

  1. It looks for the sections of this manual and the guides that answer the question and shows them under From the manual, each one a link to the section.
  2. Under Pages you can open it lists the ERP pages those sections describe, but only the ones your own role can open.
  3. The answer is written from those sections only. When the academy's AI key is configured, the AI phrases the answer in your language and must name the sections it used; a reply that mentions a page, link or figure that is not in the manual is thrown away and the sections' own text is shown instead. Without the key, you get the sections' own text and links, which is enough to find the page.
  4. If nothing in the manual matches, it says it does not know, with a link to the manual and the office WhatsApp and phone. It never guesses.
  5. Click Yes or No under the answer. The CEO reads every question and every "No" (section 20, Help Questions), and the manual grows where people were stuck.
The button is for staff only. Students, parents, free learners, employers and ambassadors never see it, and the manual itself is re-read by the assistant every night at 03:10, so a correction here reaches it the next morning.

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 the management screens (section 20), student feedback, and approving NAVTTC lead edits
Academy HeadAcademic oversightView across students, fees, attendance, LMS, HR, payroll, finance and management screens; manages KPI, support desk and surveys; views and enters NAVTTC leads
Operations ManagerRuns day-to-day operationsStudents, courses, batches, enrollment, attendance, LMS and Course Studio, leads, funded projects, placement, certificates, biometric device, support desk, surveys
Admin (front desk)Reception and admissionsRegister students, fees, attendance, leads, certificates, visitors
AccountantMoneyFee collection, payment proofs, expenses approval, income & P&L, standing costs, reconciliation, fee policy; the student list and registering students (including funded students at zero value); NAVTTC leads; staff attendance report
HR ManagerStaffEmployees, staff attendance, leave, payroll, KPI, biometric device
Sales ManagerAdmissions team leadLeads, CRM reports, sales targets, registering students
Sales Rep / CounselorFollows up enquiriesLeads assigned to them, online admissions, registering students
TeacherTeaching staffOwn batches only: attendance, classes, materials, assignments, exams, student leave, verifying student projects. Sees whether a student's fees are settled, never the amounts
Project CoordinatorFunded projectsProjects (NAVTTC/PSDF/TCF) and their rosters, registering and editing the students on them, placement (view)
ReceptionistFront deskLeads, visitors, online admissions
Attendance OfficerTakes registersMarks student attendance for any batch and sees the staff attendance report. Cannot open the student list, profiles or fees
Placement OfficerJobs for graduatesPlacement tracking, employers, the student list (without money), own KPI
PSDF ObserverA funder's monitoring teamRead-only: students, attendance, batches, courses, classes and exam marks, certificates, and the operational reports. No money, staff, sales or management screens
Attendance onlyStaff such as securityTheir own clock-in, hours, leave and payslips (My Workspace) — nothing else
StudentEnrolled learnerOwn portal only — see section 22
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, and only opens the profiles of students they teach. This is deliberate. If someone needs wider access, an administrator can grant extra permissions individually under System → Users & Roles → Permissions without changing their role.
Some access belongs to a person, not a role. NAVTTC leads, recording staff attendance by hand, and seeing the NAVTTC portal password were granted to named people. Two people with the same role can therefore see different things — check with an administrator before reporting it as a fault.
Added in October 2026 (by role, as the system is set up by default):
  • Teacher: Request Certification for students on their own completed classes; the outline progress matrix for their batches.
  • Accountant: the Certification Register, NUTECH Applications (review, fee check, approve, reject, issue).
  • Academy Head: the same as the accountant plus granting a fee exception; the Growth desk (ambassadors, experiments, outcomes, employer demand); BvLogic Talent and Alumni; signing deal agreements.
  • Sales Manager: the campus ambassador desk and signing deal agreements. Sales Manager and Sales Rep: leads Excel export and upload, orientations, the AI counsellor desk.
  • Placement Officer: BvLogic Talent, Alumni, graduate outcomes and employer skills demand.
  • CEO and Super Admin: all of the above, plus Help Questions and the new CEO pages under CEO Growth.
A permission can always be granted to one person under System → Users & Roles without changing their role.

4. Everything it can do — the full map

This is the complete sidebar, in the order it appears. If something below is missing from your screen, your role does not have it. A heading only shows when you can use the first item under it, so an item can appear under the previous heading on your screen — the item is the same.

Overview

Menu itemWhat it does
DashboardYour role's summary screen
My WorkspaceYour own attendance, leave, payslips and KPI as an employee
User ManualThis document
LMS Staff GuideStep-by-step guide to classes, Meet links, assignments, exams and attendance
Get the Mobile AppInstall page with the Android download and iPhone steps — opens without signing in

Academics

Menu itemWhat it does
StudentsRegister, edit, search students; documents, fee history, lifecycle
Not JoinedStudents who registered but have not joined yet, with how long they have waited — section 5
CoursesCourse catalogue, fees, duration, VSS codes
BatchesClass groups, teacher assignment, enrollment, batch/course transfer, PSDF class code, QR sign-in sheets
RoomsPhysical rooms with booking and clash detection
TimetableWeekly class schedule
Fee CollectionRecord payments, installment plans, receipts, outstanding balances
Students by MonthEach admission month's students, fees billed, collected and owing, with Excel export
Course RecoveryWhich course earns the most and which one collects its fees
Pending StudentsEvery enrolment with a balance, largest first, with how long since the last payment
ScholarshipsDiscounts and scholarships against a student's fee
RefundsRefund requests and disbursement
Payment ProofsVerify receipts uploaded by students, or attached at registration
AttendanceMark attendance, view history and per-batch reports
LMS / Online ClassesSchedule Zoom or Google Meet classes, upload materials, set assignments, grade
Exams & GradebookQuizzes, tests and exams — written or auto-marked online
Course StudioWrite and publish Free Academy courses: lessons, quizzes, labs — section 10
Lab reviewsMark the labs learners hand in; the badge counts labs waiting
AssignmentsEvery batch's assignments in one place: drafts, publishing, and a grading grid that includes non-submitters
Student ProjectsWork students built, for a teacher to verify — verified projects count toward internship letters
AnnouncementsNotices to all students, one batch, teachers, or everyone
Student LeaveApprove or reject student leave requests
EmployersCompanies the academy is building for placements, plus an outreach call list
Client DeliveryPaid client work delivered by a supervised student team — section 14

CRM & Sales

Menu itemWhat it does
Leads / InquiriesEvery enquiry, its status and follow-up history — including enquiries from the website form
Follow-Up RemaindersWhich follow-ups are overdue, due today or upcoming
NAVTTC → NAVTTC LeadsNAVTTC applicants, visible only to the named people who work them — section 12
NAVTTC → Edit RequestsChanges to NAVTTC leads waiting for the CEO's decision (CEO only)
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 and end dates, 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
Salary CostWhat any period costs in pay, per person
Holiday CalendarGazetted holidays, academy closures, and declaring any single day on or off
Send FeedbackAnyone can send feedback to the CEO, anonymously if they choose — section 17
Feedback InboxThe CEO reads and actions that feedback
ApprovalsChanges and deletions waiting for approval — section 17
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
North Star, Strategy Boards, CEO Reports, CEO Board, Phase 1 Gates, Launch Scorecard, Technology Gate, Visitor AnalyticsManagement screens — section 20
Report CenterAround forty reports with period filters and, for most, Excel export — section 18
Staff AttendanceWho turned up and for how long, daily or monthly, per person — section 13
Biometric DeviceLink the fingerprint machine's finger numbers to people — section 13
Support DeskTickets raised by students and staff, with response and resolve deadlines — section 16
Support SLAHow many tickets met their deadlines
Gone QuietLearners with no activity for two weeks — section 16
SurveysTrainee and staff surveys, anonymous if you choose
Standing CostsMonthly costs such as rent, posted automatically every month — section 14
ReconciliationAutomatic money checks plus a question-answering assistant — section 19
Student FeedbackFeedback students submit about teaching and facilities

Projects

Menu itemWhat it does
Projects (NAVTTC/PSDF/TCF)Funded projects, their student rosters, PSDF class and trainer codes, and marking trainees completed
Placement TrackingJob placements by funding programme, employer and salary offered
AdmissionsAdmissions back office: phone and WhatsApp enquiries, the application funnel, payment verification
WhatsApp EnquiriesConversations held by the WhatsApp admissions bot
Internship CertificatesIssue BvLogic internship certificates, publicly verifiable
Programme LettersParticipation, completion and practical-internship letters, issued only on evidence
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; the campus location and radius used for attendance; connecting Zoom and Google Meet
Activity LogsWho changed what, when, from where
Fee & Recovery PolicyThe registration amount that counts as “joined”, late fee amount and reminder timing — changeable without a developer

Added since version 1.3

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.
    • Phone must be a complete Pakistani mobile number (spaces, dashes and +92 are fine).
    • City is required — where the student lives, not the campus.
    • CNIC is optional, but a CNIC already on file is refused and the screen names who holds it. One CNIC is one person.
    • A phone number already on file stops the save once and names the other person. If they really are different people (siblings sharing a phone), tick “Same number, different person” and save again.
  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. Use Assign Another Course to add more — up to ten courses on one registration, covered by one registration fee.
  4. Answer “Who brought this student in?” — a staff member, or “Nobody at the academy”. This is required: sales targets and commission are credited from it. Someone outside the academy who referred them goes in the separate free-text box.
  5. Enter the registration fee and how it was paid. If they paid by transfer, attach the payment proof; it goes to Payment Proofs for the accountant to verify.
  6. Save. The student is registered and enrolled in one step, appears in Fee Collection immediately, and gets an app login (below).
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. A discount larger than the fee, or the same course twice, 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.

Their login and welcome letter

Saving creates the student's login automatically and emails them a welcome letter. The success message tells you whether the email went. A student with no email still gets a login, named after their registration number (…@student.bvlogic.academy); no email is sent, so print their receipt and have them scan the QR on it to choose a password.

Funded students (NAVTTC / PSDF)

When a funded project is running, the form shows a Funded Project choice. Picking it attaches the student to that project and counts them as joined even at a registration fee of Rs 0. A course fee is only billed if you assign a course; a blank fee means the course's list price, not free.

Joined, not joined, and the joining date

The student profile

Open any student to see, in one place: personal details, enrolled courses, attendance, documents, certificates and lifecycle stage. Fee holders also see the Registration & Joining card, the Fee Management card (Total Fee is registration fee plus course fee; any amount paid above a course's fee is shown as a warning, and never counts against another course) and the full payment history. From here you can print a registration slip or a fee receipt.

Clicking a student's name on most lists and reports opens this profile, if you are allowed to see student profiles. Teachers see only their own students, with a Paid / Partial / Pending / Overdue badge per course and no amounts.

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.

Assign Another Course

Students → open the student → Course Enrollments card Needs: create-students (admin, operations, sales, reception, project coordinator)

A student who is already registered and wants a second programme does not need a second registration. On the profile, the Assign Another Course button at the top of the Course Enrollments card opens a form.

  1. Choose the Course (active courses, shown with their list fee) and then the Batch. Only open private batches that are upcoming or active are offered; NAVTTC seats are added on the NAVTTC portal, not here.
  2. Set the Start date (today by default).
  3. Leave Course fee blank to use the course's list price, or type the agreed fee. Add a Discount in rupees or percent, with its reason. The line Payable for this course updates as you type.
  4. Click Save course assignment.

What is saved: one enrolment on that batch with the gross fee, the discount and the net fee, nothing paid yet, and the net fee added to Fee Collection. The registration fee is not charged again. An instalment plan is set afterwards from Fee Details, as for any enrolment. The learner gets the usual enrolment notice.

The form refuses, and says why, when: the student is dropped out; the batch belongs to another course; the batch is not upcoming or active; the batch is NAVTTC; the discount is more than the fee; the student is already on that batch; or the student is already active on the same course (use Transfer on that enrolment instead).

Student data rules and the CNIC

Students → Register Student / Edit Profile

The registration and edit forms now check the data the same way, and tell you exactly what to fix:

FieldRule
NameRequired. Letters, spaces, full stops, apostrophes and hyphens only, starting with a letter. Extra spaces are squeezed on save.
PhoneRequired. A complete Pakistani mobile number, for example 0300 1234567; saved as 03XXXXXXXXX. The guardian's phone follows the same rule when given.
EmailOptional, must be a valid address, and may not already be on another student's record.
CNICOptional. Type 13 digits (3520212345671) or the dashed form (35202-1234567-1). It is stored as 13 digits and shown everywhere as 35202-1234567-1. A CNIC already on file, including on a deleted record, is refused and the screen names who holds it.
Registration numberOn the edit form: must look like BVL-1026-0001 and be unique.
Certification RequiredYes or No. Required on registration; a teacher can only request a certificate when it is Yes (section 15).

For records entered before these rules, an administrator can run php artisan students:validation-report (a read-only list of every record with a name, registration number, CNIC, phone, email or duplicate problem; fix each on its Edit Profile page) and php artisan students:normalize-cnic --apply, which rewrites CNICs that are 13 digits written with dashes into the stored form and leaves anything else alone. Neither runs by itself.

Course outline: which modules a student has opened

Student portal → batch → Open the outline My batches → Outline (teachers) Report Center → Course Outline Progress (view-reports)

When a course has a published outline, the system records the first and last time each student opens each module and how often. "Viewed" means opened, not studied or completed.

The Excel file (outline-progress-date.xlsx) has: Course, Batch, Teacher, Reg No, Student, Total Modules, Modules Viewed, Modules Not Viewed, Outline Viewing Progress %, Last Opened, and a Below n% yes/no column.

Segment and certification filters on the student list

Academics → Students Needs: view-students

Two selectors sit with the other filters at the top of the list, and each option shows its live count under the filters already applied:

The rule in one sentence: a student is NAVTTC, PSDF or TCF when any batch they are enrolled on belongs to a project of that type, or they sit on the roster of a project of that type; a student with neither is Private. A student on two funded types matches both filters and wears both badges (for example PSDF + NAVTTC); an archived project or batch still counts. Corporate, government and other projects are not a segment, so their students read as Private.

Each row carries its segment badge, and a dark Cert badge when certification is required. The staff dashboard's Active Students card shows the same counts on one line, NAVTTC n / PSDF n / TCF n / Private n, across all students. This is filtering only: NAVTTC leads and NAVTTC batches keep their own portals and lists.

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). A funded batch can also carry its PSDF class code; the trainer's code is entered on the teacher's employee record. Both appear on the project roster.

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.

Curriculum Reviews (every quarter)

Academics → Curriculum Reviews See: view-courses · Edit: manage-courses

Every paid programme with a public page gets one review per quarter (named like 2026-Q4). A review is due 45 days into the quarter and shows as Overdue after that. Every Monday at 08:20 the system opens any missing reviews for the quarter and sends a bell notice to everyone who can manage courses, and to the reviewers of overdue ones.

  1. On the index, click Open this quarter's reviews if the quarter's reviews are not there yet, then Open a programme from the Overdue or Due table.
  2. In the Checklist card fill a Finding and at least one Evidence link (https://... or /path, one per line) for each of the seven points: Technologies, Tools, Employer requirements, Salary, Projects, Obsolete modules, New AI capabilities. Add a Summary and click Save checklist.
  3. In the Modules table mark every module Current, Needs update or Retire, with a reason, and click Save on each.
  4. Click Complete and sign as (your name). The button stays disabled, and lists what is missing, until every point and every module is done. A completed review is read-only; the next quarter starts a new one.

The History table keeps every review as it was completed, with the reviewer and the date.

Curriculum Signals

Academics → Curriculum Signals See: view-courses · Edit: manage-courses

A signal is opened by the system on the 9th of each month when the data moves: a skill's open postings change by at least 20% and at least 10 postings, a skill moves three places or more in the Skills Index, at least three new employers ask for a skill, or employer intelligence names one. There is one signal per source, skill and month, and a source that would open more than twelve at once is held back.

Each signal has six steps: Research: what changed in the data, Curriculum team reviews the affected programmes, Course updated, New free course, Marketing campaign, Learners reached. Open a signal, and for each step choose an owner, a status (Pending, In progress, Done, Not needed), the due or done date, a link and a note, then Save. The signal closes when every step is Done or Not needed; the index lists open and closed signals.

Hero programmes

Academics → Courses → Hero programmes See: view-courses · Change: manage-courses

The table lists every course with its fee, whether it is a hero programme, and its public funnel page (/journey/slug). Click Make hero or Remove hero on a row. The card The owner's recommended five shows which existing course matches each of AI & Generative AI, Python Development, Data Analytics, Digital Marketing and Cybersecurity; a missing course is never created from here. See the public funnels opens /journey. Hero programmes carry a Hero badge on the Revenue Command Center (section 20).

7. Fees & Money

Recording a payment

  1. Go to Academics → Fee Collection and search by name, registration number or phone. You can narrow it by enrolment month or a date range.
  2. Open the student's enrollment and choose to record a payment.
  3. Enter amount, method (Cash, JazzCash, EasyPaisa, Bank Transfer, Online Payment or Cheque), 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, and the student is emailed a receipt if they have a real email address.
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. Only students with a plan can be “overdue” or receive fee reminders.

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, and — for a student who has not yet chosen a password — the “Start using the app” panel with their sign-in QR.

Who owes what

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

Students can upload a bank challan or transfer screenshot themselves, and the front desk can attach one at registration. Both land 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.

Late fees, reminders and the daily list

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. Future dates are refused.
  3. Mark each student Present, Absent, Late or Leave (Leave is recorded as Excused).
  4. Save.

The sheet also shows when the batch's training started and ends, and each student's joining date.

Marking on the phone

In the mobile app, Take Attendance → your class gives three ways — see also section 21:

Who can take attendance on the phone: the batch's own teacher, LMS managers, and attendance staff who can both view and mark attendance for every class (the Attendance Officer). A teacher cannot take attendance for a class they do not teach. People who can only view attendance can read the reports but cannot open the class QR, the student scanner or the register.
A student's own scan never overwrites your mark. If you have already recorded a student as Absent or Excused and they then scan the class QR, nothing changes and they are told: “Your teacher has already recorded you as … today. Speak to them if this is wrong.” Correct it yourself if they really are there.

When the campus check is switched on in Company Settings, QR attendance only works on campus: the phone's location must be within the set radius, and faked locations can be blocked.

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

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.

Student self-marking from the app

Student app home → Attendance tile → Mark Attendance Setting: System → Company Settings → Student self-marking radius (metres)

A student on a campus class can mark their own attendance from the app, the way staff clock in. The Attendance tile appears first on the student's app home only when they have a live enrolment held on campus; an online-only learner sees no tile, because pressing Join on the schedule is how their attendance is recorded. Scan Attendance (the class QR the teacher shows) stays on the grid as before.

  1. Open the Attendance tile. The page lists today's campus classes, whether each is already marked, and says You can only mark attendance within 200 m of the academy (or whatever the radius is set to).
  2. Allow the phone's location. The button stays off while the location is being checked.
  3. Press Mark Attendance. If more than one of the student's classes runs today, choose the class first.

The rules, in order:

Every refusal at the fence (outside the radius, poor GPS, mock location) is recorded with the reason, the distance and the accuracy, and nothing is marked. A successful mark says Present: class at time (distance m from campus), is stored with the position and the distance like a staff clock-in, and shows on the teacher's mobile register and the student's own page as Self-marked from the app, next to marks made by the register, a QR scan, joining online or the biometric device.

9. Online Classes (LMS)

Full step-by-step instructions are in the LMS Staff Guide (sidebar → LMS Staff Guide). This section is the summary.

Scheduling a class

  1. Go to Academics → LMS / Online Classes.
  2. Choose the batch, give the class a title, pick the platform (Zoom, Google Meet, Physical or Recorded) and set date, time and duration.
  3. Leave the meeting link empty for Zoom or Google Meet: the system creates the meeting and fills in the join link. A link you paste yourself is always kept.
  4. Save. You land on the class page, and every enrolled student is notified that a class has been scheduled (“N enrolled student(s) notified”). They get a reminder again in the hour before it starts.

Google Meet is connected under System → Company Settings → Video Conferencing. Meet links are created on the academy's Google account; students do not get a calendar invitation — the link reaches them through the portal and app. If a class is ever saved without a link (for example if the connection is lost), the page says so and tells you which problem it is.

Session Controls (on the class page)

The title, date and time cannot be changed after saving. To move a class, cancel it and schedule a new one.

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, with the time limit enforced). Each exam page shows every student's score, grade and pass or fail.

Announcements and discussion

Announcements go to all students, one batch, teachers, or everyone, and reach people in the portal and as a push notification on their phones. A teacher can announce only to their own batches. Each batch also has a question-and-answer discussion board; the teacher is notified of new questions.

10. Course Studio & Free Academy

The Free Academy is the set of short online courses on bvlogic.academy/free-courses. Anyone can read lesson 1. Later lessons need a free BvLogic ID (name, email, mobile and password). Each lesson can have a reading, an exercise, a video and a quiz; a course can have one graded lab. Reaching the course's pass mark — and passing the lab, where the course requires one — issues a certificate (code starting BVLF-) that anyone can check at /certificate/<code>.

Course Studio

Academics → Course Studio (LMS managers). Write and publish a course without a developer:

Lab reviews

  1. Academics → Lab reviews. The badge shows how many labs are waiting.
  2. Open a hand-in, give a mark for every rubric line, and choose Pass or Return.
  3. Pass is refused below the lab's pass mark; Return needs written feedback. A returned lab can be handed in again.

The learner sees the marks and feedback on their lab page and in My learning.

11. Student Leave

Students apply for leave from their portal, with an attachment if they have one, and can withdraw a request while it is pending. 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 Excused 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.

12. Leads, NAVTTC & Admissions

Enquiries

Every walk-in, call or online enquiry is a lead: source, interest, status and full follow-up history. Enquiries made on the academy website arrive here automatically with source website. They arrive unassigned, and a Sales Rep only sees leads assigned to them — so somebody must assign website leads before reps will see them.

Follow-ups

CRM → Follow-Up Remainders splits your leads into Overdue, Due Today and Upcoming, using the next date on each lead's latest follow-up. A lead whose latest follow-up has no next date drops off the list.

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. Recording a follow-up with outcome “enrolled” takes you to the same form.

A lead can only become “converted” by actually registering the student, which is why converted leads always have a real student behind them. Sales credit and commission follow the “Who brought this student in?” answer on the registration form.

NAVTTC Leads

NAVTTC applicants have their own sidebar heading, NAVTTC → NAVTTC Leads, visible only to the named people who work them. They can also be added from the phone (“Add NAVTTC Lead” tile).

Admissions back office and WhatsApp

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.

Leads: Export to Excel and Upload Excel

CRM & Sales → Leads / Inquiries Export: view-leads · Upload: manage-leads

Update many leads at once without opening each one:

  1. Filter the leads list as you want it, then click Export to Excel. The file (leads-update-date.xlsx) holds exactly the leads the list shows, so a counsellor only gets their own. The grey columns are read-only (Lead ID, Name, Phone, Email, Course interest, Source, Assigned to, Current status, Last and Next follow-up); the green columns are the ones you fill: New status, Lost reason, Note, New next follow-up, Follow-up type. They have dropdowns. Read the How to use sheet.
  2. Fill the green columns for the leads that changed. Leave the others alone; unchanged rows are skipped. Do not edit Lead ID.
  3. Back on the leads page click Upload Excel, choose the file (.xlsx, up to 5 MB) and click Check the file.
  4. The Check the Excel upload page shows every change it will make (status from and to, note, next follow-up, type) and every row it will skip, with the reason. Nothing is saved yet. Click Confirm N changes, or Cancel.

Rules: a status can only be one of the list; Lost needs a lost reason; Converted cannot be set here (use Register as Student); a note longer than 2,000 characters, a lead you cannot see, or the same note added again within 30 days is skipped; at most 2,000 changed rows per file. Each applied row adds a follow-up to the lead's history, and the upload is written to the activity log.

Orientations

CRM & Sales → Leads / Inquiries → Orientations Needs: manage-leads

  1. Fill Schedule an orientation: title, programme (leave empty for a general one), start in Pakistan time (must be in the future), minutes (15 to 600), Online or On campus, where or how the link is sent, seats, what it covers. Click Schedule.
  2. The list is split into upcoming and past, with the number registered. Public page opens the sign-up page (/orientation/number) to share; Cancel cancels it, keeping its registrations on record.
  3. Open an orientation to see the registrations: name, phone, city, consent, the lead it created or matched, and the time.

A visitor registers with their name, mobile number, email, city and a consent tick; each registration creates or reuses a lead. The page refuses when the event is past or full, and a number already registered is told so. No email is sent; the page says the joining details come on WhatsApp, which is a counsellor's follow-up.

AI counsellor desk

CRM & Sales → Leads / Inquiries → AI counsellor Needs: view-leads

The website, WhatsApp, Messenger and Instagram counsellor asks a visitor a few questions and recommends a programme. This desk shows those conversations: a card per channel with totals (recommended, next step taken, leads), and a table with the last message, the profile it gathered (level, timing, city, budget), what was recommended (programme, alternative, free course, and whether the wording came from the template or the AI), the next step and whether it was taken, and the lead. Click a channel card to filter. A counsellor who cannot see every lead sees only conversations on their own leads. The desk is read-only: the work continues on the lead.

Sales team report

CEO Growth → Sales team, or /sales/team Needs: view-crm-reports

One line per counsellor for the chosen period: leads received, median first response, never contacted, calls, WhatsApp, counselling conversations, applications, admissions, revenue and conversion. Where a counsellor logged nothing the page says none logged rather than 0. Each lead jumps to the Sales Command Center.

13. HR, Staff Attendance & Payroll

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

The Staff Attendance report

Finance → Staff Attendance (also a tile in the mobile app). Choose Daily or Monthly and a date.

Recording attendance by hand

People given this permission see Record attendance on the report. Pick a date (not a future one) and set each person Present, Absent or On leave, with times for Present. Days already recorded by the person's own phone clock-in or by the biometric machine are locked and left untouched.

The biometric device

Finance → Biometric Device (HR, operations, CEO). The machine only knows finger numbers, so each one must be linked to a person once.

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 an administrator turns it on. Hours are recorded and reported from day one, but no salary is reduced — 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.

Correcting a payslip after the run

On the payroll run, the pencil beside a payslip opens its deductions: change, remove (set to 0) or add a deduction and the payslip is recalculated. A payslip already marked paid can still be corrected, but only with a written reason, and the change is logged as made to a paid payslip with the net pay before and after.

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

14. 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 (Rs 50,000 unless an administrator has changed it), and management is notified when one is submitted.

Standing costs

Finance → Standing Costs. Declare a regular monthly cost once — category, title, amount, day of the month, start date and optional end date — and it is posted as an approved expense every month automatically, so the P&L never counts income against nothing. The page compares the declared cost base with what was actually posted. Changing an amount does not alter months already posted; Backfill posts any missed months without duplicating.

Income and P&L

Finance → Income & Finance shows the income ledger and profit and loss. Fee payments post here automatically when recorded. The fuller Academy P&L opens from Strategy Boards (finance managers); it says “not available” for any figure it cannot honestly state yet, rather than guessing.

Client Delivery

Academics → Client Delivery (finance managers). Paid client work that BvLogic bills and a supervised student team delivers: create the engagement (client, fee, supervisor), add students with their stipend and agreement, record supervisor sign-off, invoice (recorded as income) and pay stipends (recorded as expenses).

15. Projects, Placement, Certificates & Letters

Funded projects (NAVTTC / PSDF / TCF)

Placement

Projects → Placement Tracking. A new placement needs the funding programme (PSDF, NAVTTC, TCF or Private) and can only be made for a student who has completed a course or a project. Search by student, registration number, company or job title; export any month or year to Excel.

Employers

Academics → Employers is the list of companies the academy is building for placements, with what skills they want. Its call list ranks companies nobody has researched yet and gives a form to record what the caller learned; it exports to CSV.

Certificates, letters and student projects

The internship certificate and programme letters are BvLogic documents. Accredited course certificates are issued separately by the awarding body.

Certification Management

Teacher: Request Certification Accountant / Academy Head: Certification Register Fee exception: academy head

A course certificate is requested by the teacher, checked against the student's fees, and approved by the accountant or the academy head. Every step is kept in the request's history. The record of each student says whether certification is required at all (Certification Required on the profile, section 5).

1. The teacher requests (Request Certification)

  1. Open Request Certification in the sidebar. Choose a class (All my classes or one batch code) and Completed the course or All on my classes, then Show. NAVTTC classes are not listed.
  2. For a student who can be requested, add an optional note and click Request certification. The screen explains when it cannot: the course is not marked completed yet; Certification Required is No, or not recorded (ask the office to record it on the profile); a request already exists; or the student is not on a class you teach.
  3. The accountant and the academy head get a bell, a push and an email. The fees are checked automatically at once.
  4. A rejected request shows the reviewer's reason; write what changed and click Submit again. The same request goes back to Pending.

2. The register (Certification Register)

3. Reviewing one request

Click Open on a row. The left side shows the request and its history, the admission details (the CNIC is flagged when it is not 13 digits), the course, and the fee records: the amount outstanding, each enrolment's fee, paid and remaining, and the last instalments. The Decision card on the right offers:

  1. Start review (a pending request): moves it to Under Review and checks the fees again.
  2. Check fees again at any time; the result is shown and kept in the history.
  3. Approve, with optional remarks. While fees are owed and no exception has been granted, the button is disabled and a red notice names the amount; the server refuses too. Approving emails the student that they are Eligible for Certification (subject: "BvLogic Academy: you are eligible for certification"), and the page records whether the email went, or why not (no address on file, a generated address, a refused address). The teacher gets a bell.
  4. Reject, with a required reason, so the teacher knows what to fix. The teacher gets a bell.
  5. Grant exception (academy head only, and only while fees are owed): write the reason (at least 5 characters). The request can then be approved while fees are outstanding, and the exception, its reason and who granted it stay on the record.
  6. Mark issued on an approved request: the date (not in the future) and an optional note such as the certificate number. Issuing a course certificate from Internship Certificates for the same student and course marks the request Issued automatically.
Reviewers are the roles in CERTIFICATION_REVIEWER_ROLES (accountant and academy_head by default); extra addresses can be set in CERTIFICATION_REVIEWER_EMAILS.

NUTECH Applications

Projects → NUTECH Applications Needs: review-certification

Group eligible students into one application to NUTECH. Eligible here means the academy's own checks: the request is approved, fees are cleared or an exception was granted, the course is completed and the CNIC is 13 digits. These are not NUTECH's admission rules, which are not recorded in this system; check NUTECH's own criteria before submitting.

  1. Under New application give a name (for example NUTECH November 2026), the application date and notes, then Create application. It starts as a Draft.
  2. On the application page tick the eligible students under Add eligible students and click Add ticked students. Students can be added only while the application is a Draft. A student already on another application can be included again only with a reason, when that is allowed in the settings.
  3. Set the application's status (Draft, Submitted, Accepted, Rejected) with Set; students still at the old status move with it. A student can be given their own status on their row.
  4. Export Excel or Export CSV gives the register columns plus the NUTECH Application Status.

The index also has an Eligible students search showing which application each student is already on. Every addition and status change is written to the student's request history and the activity log. No email is sent from here.

Growth desk: ambassadors, experiments, outcomes, employer demand

Academics → Growth programmes manage-ambassadors · manage-experiments · manage-outcomes · manage-employer-demand

One sidebar entry opens the first desk your role may use; the desk's own menu has Campus ambassadors, Ambassador training, Ambassador board, CRO experiments, Graduate outcomes, Employer skills demand and the Demand report.

Campus ambassadors

CRO experiments

  1. New experiment: name, hypothesis, the one element changed (title, call to action, price presentation, WhatsApp call to action, free-course offer, testimonial, project proof, curriculum presentation, payment option, urgency), the page path, the method (A/B split or before-and-after), variants A and B, the conversion measured (lead created, application started, WhatsApp click), dates. Save as draft.
  2. Start it (only a draft, and only one live experiment per page). The results table shows visitors, converted and rate per variant.
  3. End it, then Record decision: Keep A, Keep B, or Inconclusive, with why. The verdict needs at least 100 visitors per variant and 10 conversions in all.

Graduate outcomes (Outcome Evidence)

Employer skills demand

Employers answer the public form /employer-skills-demand or the one in their Talent portal. Review each entry with Accept or Do not count and a note. The Demand report groups accepted answers by skill, role or city with employers, answers, salary from and up to (medians) and remote or hybrid.

Talent desk (BvLogic Talent)

Academics → BvLogic Talent Needs: manage-talent (academy head, placement officer)

16. Support, Surveys & Gone Quiet

Support Desk

Students and staff can raise a support ticket (access, content, assessment, fees, facility or other) with a priority. Each gets a reference number and sees only their own tickets. Staff with support access work them in Finance → Support Desk: Open, Past SLA, Resolved and Closed tabs; reply, add an internal note the person never sees, assign, resolve (a resolution note is required) or close. The red badge counts tickets past their deadline. A reply from the person reopens a resolved ticket.

PriorityFirst reply withinResolved within
Critical2 hours8 hours
High4 hours24 hours
Normal24 hours3 days
Low2 days7 days

Support SLA shows, per priority, how many tickets met their deadlines, median times, and how many were never answered.

Surveys

Finance → Surveys. Create a survey for trainees or staff, optionally for one batch, with scale, single-choice, multiple-choice or text questions, and a close date. An anonymous survey stores nobody's identity with the answers, and cannot be switched to named once answers exist. Results stay hidden until a minimum number of people have answered (five unless you set otherwise), so nobody can be identified from a small group.

Gone Quiet

Finance → Gone Quiet lists active learners with no activity for 14 days — no class attended, no sign-in, no lesson opened and nothing handed in. Learners who have done nothing since enrolling are marked “never started”. It is checked every morning; each learner is flagged once per quiet spell, not every day, and drops off automatically when they come back. Record what you did (a call, a message) against each one. If more than half the academy looks quiet at once, nobody is flagged and the page explains why — that means the activity data is missing, not that everyone left.

Privacy choices

Students and staff record their own consent for research, sharing with funders and employers, marketing and photography on their privacy page. No record means no consent.

17. Approvals & Feedback

Approvals

HR & Payroll → Approvals is a queue for edits and deletions of sensitive records — students, enrolments, fee payments, income, expenses, payslips, salaries, refunds, scholarships, certificates and employees — decided by the academy head. Nobody can approve their own request, and the person who asked can withdraw it.

Approvals are currently switched off. The page says so: “Changes and removals are being applied immediately.” The queue starts working when an administrator switches it on.

Send Feedback and the Feedback Inbox

Send Feedback is open to every member of staff: a suggestion, complaint, appreciation or anything else, sent to the CEO, with a Send anonymously box that stores no name. Only the CEO reads it, in the Feedback Inbox, and marks it read or actioned. Student Feedback is a separate screen for what students submit.

18. Report Center

Finance → Report Center holds around forty reports. Almost every one has Today / Week / Month / Year / specific-month / custom-range / all-time filters and exports to Excel.

AreaReports available
MoneyTotal Sales Details · Fee Collection (Excel + PDF) · Fee Recovery & ageing · Daily Cash Flow · Financial / P&L · Expense Report · Course Profitability · Fee Recovery Risk · Course Recovery · Students by Month
StudentsStudent 360 · Enrollment · Registered–Not-Enrolled · Course Progress · Dropout Risk · Batch Strength
AttendanceAttendance (filter by batch and period) · Attendance per student · Session Activity (time in system) · Staff Attendance
TeachingLMS Activity · Assignment Completion · Quiz/Test Performance · Discussion Activity
SalesCRM / Leads funnel · Counselor Scoring
StaffHR · Leave · KPI Performance · Salary Cost
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
Money reports need money access. Financial reports (cash flow, sales, P&L, profitability, expenses, fee recovery, Student 360) each need their own finance or fee permission, not just Report Center access. A read-only funder account, for example, sees only the operational reports.
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.

Reports that arrive by email

Some reports are emailed automatically to everyone whose role covers them: the Daily Management Summary at 08:00, the never-paid fees list on weekdays at 09:15, a placement digest on weekdays at 18:00, and a weekly activity-log digest to the CEO on Mondays. If your email address bounces, you will not receive them — see “No mailbox” in section 2.

Research authority: referring domains

Report Center → Research Authority Needs: view-reports

A log of the sites that link to BvLogic's research pages, counted against the authority target of 100 referring domains.

SEO maintenance

Report Center → SEO Maintenance Needs: view-reports

A read-only monthly report built on the 4th at 07:30 for the month before: search queries, positions 4 to 20 (opportunities), possible cannibalisation (two pages for one query), content decay (clicks fell from the month before), indexation, internal links, broken pages, schema, Core Web Vitals and referring domains. A section whose source is not connected says Not collected with the reason. Choose the month; the buttons open the weekly SEO audit and the referring domains log.

19. 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.

The assistant answers as you: it can only read what your own permissions allow, and tells you when a question needs data you cannot see. It never shows CNICs or passwords, and it only ever reads — it cannot change anything.

20. Management screens

For the CEO and management (in the Finance part of the sidebar):

ScreenWhat it shows
North StarThe live funnel from learners to jobs, naming the first stage where it drops to zero
Strategy BoardsA card for every strategy board — including the Academy P&L, PSDF matrix and the gates
CEO ReportsThe monthly picture: revenue, expenses and profit; lead funnel and top courses; sales targets; KPI leaders; attendance; LMS activity; placements and certificates
CEO BoardThe daily board in Daily, Academic and Career sections, for any past date
Phase 1 GatesUnit-economics questions since a chosen date; a gate with no cost data shows “blocked” instead of a figure
Launch ScorecardThe launch campaign's day count and its measures; unmeasured items show “unknowable”, not zero
Technology GateLive production-readiness checks such as backups and the audit log, each PASS, PARTIAL or GAP
Visitor AnalyticsWebsite visitors through acquisition, behaviour, conversion, learning and career, for any date range
CEO GrowthVisitors to fees on one screen, with links to the revenue pages below
Media CalendarThe posting queue for research, briefs, salary updates and Skills Index months, and the mix of posts
Demand Meeting PackThe month's skills demand, salary movement, employer demand and open curriculum signals, printable, with a CSV
Help QuestionsEvery question staff asked the Help button, and the ones it could not answer

The CEO's phone has its own dashboard too (section 21).

The revenue pages (from CEO Growth)

Finance → CEO Growth → Revenue Command Center · Free-to-paid funnel · Weekly numbers · Unit economics · Revenue per 1,000 visitors Needs: view-ceo-reports

Every page except Weekly has the same period picker: This month, Last month, Last 30 days, Last 90 days or custom dates, then Apply. A button row on each page jumps between them.

The five CEO numbers and the Skills Score levels

CEO Reports → the five cards: Acquisition, Sales, Revenue, Education, Outcomes

Each card opens its own page (/ceo/numbers/education and so on). The Education page shows programme completions in the period, the completion rate of private batches that ended, project success, and the line Learners with at least one skill at Job Ready or above (Skills Score 60+) · at Professional or above (75+), counted today from the latest Skills Score snapshot, not for the dates chosen.

Skills Score levelScore
Beginner0 to 39
Foundation40 to 59
Job Ready60 to 74
Professional75 to 89
Advanced90 to 100

Scores are rounded, so 59.5 counts as Job Ready. The snapshots are written every night at 02:40; the same count feeds the Weekly KPI's twelfth number.

Media Calendar and the media mix

Finance → Media Calendar → Mix and post log Needs: view-ceo-reports

Demand Meeting Pack

Finance → Demand Meeting Pack Needs: view-ceo-reports

Choose a month. The pack has six parts: skills by demand (open postings), skills not measured by any permitted source, salary movement (entry band, PKR a month), employer demand, open curriculum signals, and recommended curriculum changes. CSV downloads it (demand-meeting-pack-month.csv); Print prints it.

Help Questions

Finance → Help Questions Needs: view-ceo-reports

What staff asked the Help button in the last 7, 30, 90 or 365 days: how many were answered from the manual, how many it did not know, thumbs up and down, and how many were phrased by the AI. Top unanswered questions groups the questions nothing matched, most asked first: each is a place this manual should grow. Below it, the answers marked not helpful with the sections they were built from, and every question with its result. The assistant re-reads the manual every night at 03:10, or at once with php artisan help:index.

21. 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 — staff download

  1. On the phone, open https://codexla.com/app-install.html and tap Download for Android.
  2. Open the downloaded file. Android asks to allow installing from this source — allow it, go back and tap Install.
  3. Open BvLogic Academy and sign in with your own email and password.
Install the app file only from that page on codexla.com. Never install a BvLogic app file forwarded on WhatsApp — a forwarded file cannot be checked and is exactly how a fake app spreads.

Or, in Chrome: open /app, sign in, then 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 — the install page tells you if you are in the wrong browser.
  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.

The app asks for the camera (to scan QR codes) and location (to confirm you are on campus) the first time you use attendance. Both are needed.

What you get, by role

The home screen shows only tiles you can actually open.

RoleOn the app
Every employeeAttendance (clock in/out) · monthly hours · notifications
TeacherTake Attendance (tick the register · show the class QR · scan students) · My Classes · Announcements
Management / CEOCEO dashboard: cash today and month-to-date, expenses, outstanding, new and not-joined students, staff clocked in, attendance today, overdue installments, KPI, items waiting on you, reconciliation health · cash flow · exceptions · reports
AccountantFee collection · daily cash flow · expenses and add expense · reconciliation
HRStaff · payroll · leave
Sales / receptionLeads · follow-ups due · register student · sales targets
By permissionAttendance Report (staff attendance) · Add NAVTTC Lead · NAVTTC Leads · Funded Projects
StudentScan attendance · personal QR · progress · class schedule with Join buttons · fees · leave · send receipt · announcements · feedback
GuardianMy Children

Notifications are pushed to your phone for announcements, new classes and alerts — allow notifications when asked.

22. Student & Parent portals

Students and parents sign in at https://bvlogic.academy/login. Every student gets a login when they are registered (section 5).

Students can

Parents can

See each linked child's attendance percentage, fees paid and outstanding, enrolments, and exam results, read-only. Staff who can edit students create a parent's access from the student's record.

23. 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 (phone, city), choose course, batch and fee, answer “Who brought this student in?”, enter the registration fee, save.
  3. Fee Collection — search the student, record the course payment received.
  4. Print the fee slip and hand it over. If they have no email, show them the QR on it to set up the app.

Registering a funded (NAVTTC / PSDF) trainee

  1. Students → Register Student — choose the project under Funded Project, the course and the batch.
  2. Enter a registration fee of 0 and save. They count as joined and get an app login.
  3. Check the roster under Projects → the project → Roster & completion.

Running an online class

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

A class has to be called off

  1. Open the class page → Session Controls → Cancel this class. Students see it as cancelled.
  2. Schedule the replacement as a new class; students are notified of it.

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.

A member of staff forgot to clock in

  1. Staff Attendance → Record attendance (if you have that permission).
  2. Pick the date, set them Present with their times, and save.

Month end

  1. Report Center → Fee Collection — what came in.
  2. Fee Recovery and Pending Students — 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.

24. 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 sections 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
Students who registered but never cameAcademics → Not Joined
Who still owes moneyAcademics → Pending Students
Fees for one intake monthAcademics → Students by Month
Who changed this recordSystem → Activity Logs
Student attendance percentageReport Center → Course Progress, or the student's profile
Attendance for one batch over a periodReport Center → Attendance → Batch filter
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
A student's app loginCreated at registration; the QR is on their registration or fee slip
Resetting my own passwordSign-in page → “Forgotten your password? Reset it yourself”
Recording commission or a bonusPayroll → Commission & Bonus (record it against the day it was earned)
Fixing a deduction on a payslipPayroll → the run → pencil beside the payslip
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
Who came to work todayFinance → Staff Attendance (Daily)
Fingerprint machine set-upFinance → Biometric Device
Rent and other monthly billsFinance → Standing Costs
Complaints and support ticketsFinance → Support Desk
Learners who stopped comingFinance → Gone Quiet
NAVTTC applicantsNAVTTC → NAVTTC Leads (named people only)
WhatsApp and phone admissionsProjects → Admissions
Completion or internship letterProjects → Programme Letters
Writing a new free courseAcademics → Course Studio
Cancelling a classThe class page → Session Controls → Cancel this class
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 passwordThe QR on their receipt, or 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 21
The app for an Android staff phoneGet the Mobile App → Download for Android

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.

25. Known limits right now

ItemStatus
Students without an emailThey have a login, but cannot reset a forgotten password by email. They sign in with the QR on their receipt, or an administrator issues a new code (section 2).
Online fee payment (JazzCash / Easypaisa)Built but not switched on. Students see no Pay Now button, and the JC / EP buttons on Fee Collection reply “not available yet”. Record payments by hand.
WhatsAppNot switched on yet. Fee reminders, WhatsApp class reminders and the WhatsApp admissions bot only work once WhatsApp is connected. Students are reminded of classes inside the portal and app meanwhile.
Biometric machinePunches only arrive once the machine is configured. The Device card on the Biometric Device screen says whether any punch has ever arrived.
Paid Free Academy coursesA course can be marked paid, but there is no screen to set its price or confirm a learner's payment yet, so a paid course stays locked after lesson 1.
Support, surveys and privacy pages for students and staffThey work, but have no menu link yet. Students: /student/support, /student/surveys, /student/privacy. Staff: /my/support, /my/surveys, /my/privacy.
Gone Quiet linkShown to everyone who can view attendance, but it opens only for people who can see the student list. An attendance officer gets “not allowed”.
Report Center cardsSome money reports appear as cards even when you lack the money permission, and say “not allowed” when clicked. That is your access, not a fault.
Settings with no screenThe commission percentage, the CEO expense-approval threshold, the approvals switch, the short-hours deduction, support deadlines and the Gone Quiet days are changed by an administrator, not from a settings page.
Staff not expected to clock inMarking someone as not tracked (so they never show “Absent”) is done by an administrator; there is no switch on the employee screen.
NAVTTC preferred slotSet it correctly when the lead is entered: changing the morning/evening slot later through Edit does not save.
Teachers' evening class notificationTapping “Your classes today” does not open the right page. Open Take Attendance in the app instead.
Removed class sessionsKept, not deleted, but there is no restore button — ask an administrator.
Timetable dataEmpty until class schedules are entered.
Staff hoursMonthly hours and any hours-based payroll only exist for people who clock in from the app, punch the biometric machine, or are recorded by hand.
Salary structuresPayroll pays basic salary alone for any employee without a salary structure, so allowances are missed. Salary Cost names anyone with no salary on file.
Contracted hoursEvery employee 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. A fixed monthly EOBI (employee share) and income-tax amount typed on an employee's salary structure is deducted as entered; nothing works out tax slabs, the employer's EOBI share is not used in pay, and there is no provident fund or gratuity.
Batch capacityOccupancy reporting is incomplete for any batch whose capacity has not been 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.

Added in version 1.4