This manual is for everyone who uses the system day to day: case officers, operations managers, accounts staff, head office, the owner, viewers and agents. It follows the order in which work actually happens, from registering a worker to the day they report for work abroad.
Each chapter says who it is for. Screens you cannot see are hidden by your role, so if a button in this manual is missing on your screen, your role does not include it. Ask the owner if you need it.
Part 1 · Getting started
1. What the system does
The system runs the full operation of an overseas recruitment agency. It tracks workers from Bangladesh, India, Pakistan, Nepal and Bhutan through every step to employment abroad, across all branches.
Every placement is a case. A worker can have more than one case over time, for example a first job and a later re-hire. A case moves through a fixed series of stages, and each stage has its own work: documents, medical, visa, emigration clearance, ticket, departure, arrival.
The system replaces the tracking spreadsheet. Everything the sheet held is here, plus money receipts, SMS, alerts, dashboards, reports, an agent portal and a complete history of who changed what.
The journey of a case
- 1Lead
- 2Registration
- 3Document Collection
- 4Medical
- 5Visa Processing
- 6Emigration Clearance
- 7Ticketing
- 8Ready to Deploy
- 9Departed
- 10Arrived
- 11Attached
- 12Closed
| # | Stage | What happens here |
|---|---|---|
| 1 | Lead | A possible worker has been found, often by an agent. |
| 2 | Registration | Passport and contact details are complete and checked. |
| 3 | Document Collection | Passport copy, photo, national ID and other papers are gathered and verified. The deposit is taken. |
| 4 | Medical | The worker is sent to an approved medical centre and the result is recorded. |
| 5 | Visa Processing | The visa is applied for, tracked and recorded. |
| 6 | Emigration Clearance | The source country's clearance, plus VDR, police clearance, training and insurance where needed. |
| 7 | Ticketing | Flight quotation, booking and ticket issue. |
| 8 | Ready to Deploy | The ticket is issued and the worker is waiting to fly. |
| 9 | Departed | The worker has flown. The balance must be fully paid first. |
| 10 | Arrived | The worker has landed in the destination country. |
| 11 | Attached | The worker has reported to the employer. |
| 12 | Closed | The case is finished, successfully or not. |
The owner can rename, add or retire stages. Your agency's list may differ slightly from the one above.
2. Signing in
Staff
- Open the system's address followed by /app, for example
https://erp.youragency.com/app. - Enter your email and password, then press Sign in.
- If two-factor authentication is on for your account, enter the six-digit code from your authenticator app.
After five wrong passwords in a minute, sign-in pauses briefly. Wait a minute and try again.
Forgot your password? Press Forgot password on the sign-in page and enter your email. A reset link arrives by email. A new password must be at least 12 characters and must not appear in known password leaks.
Where you land. Case officers open on My Desk. Accounts staff open on the Accounts Dashboard. Owner, head office, operations managers and viewers open on the main Dashboard.
Two-factor authentication
Two-factor authentication protects your account if your password is ever stolen. The owner may make it compulsory.
- Open the user menu at the top right and choose your profile.
- Turn on authenticator-app sign-in and scan the QR code with Google Authenticator, Microsoft Authenticator or a similar app.
- Enter the code the app shows to confirm.
- Save the recovery codes somewhere safe. Each one works once if you lose your phone.
If you lose both your phone and your recovery codes, ask the owner to reset two-factor authentication on your user record.
Agents
Agents use a separate, simpler portal at /agent. There is no password. See chapter 25.
3. Finding your way around
The sidebar
The left sidebar groups every screen by the work it belongs to. You only see the groups your role allows.
| Group | What is inside |
|---|---|
| Dashboard | The operations dashboard. |
| Recruitment / Candidates | Workers, Cases, Stage Board. |
| Company / Employer | Employers. |
| Job Order / Demand | Job orders. |
| Document Management | Missing documents, Bulk document upload. |
| Medical Management | Medical Board, Medical Centres. |
| Visa / Immigration | Visa Board. |
| Emigration Clearance | Clearance Board. |
| Ticket & Departure | Ticketing Board. |
| Arrival & Attachment | Arrival Board. |
| Replacement Management | Replacement Management, Worker Management. |
| Finance & Payment | Payments, Payment requests, Expenses, Refunds, Receivables, Reconciliation. |
| Agent / Sub Agent | Agents, Commission Rules, Commission statement. |
| Reports / MIS | My Desk, the stakeholder dashboards, Calendar, Report catalogue. |
| Notification & Alerts | Alert Runs, Message Log. |
| User & Access Control | Users, Roles & Permissions. |
| Master Settings | Every list, rule and setting the owner controls. |
The top bar
- Search finds a worker by name, passport number, mobile, worker ID or the QR token on their ID card. A handheld QR scanner typing into the search box opens the worker directly.
- The bell shows your notifications: alerts, assigned follow-ups, payment suggestions, finished imports. It refreshes every 30 seconds.
- Branch switcher appears for the owner and head office. It changes which branch you are working in. Everyone else always works in their own branch.
- User menu holds your profile, language, light or dark theme, and sign out.
Your profile
In your profile you can change your name, mobile, password, Language and Bangla digits. Bangla digits shows numbers as ০১২৩ instead of 0123 when the language is Bangla.
The system speaks English, Bangla, Hindi, Urdu, Nepali and Dzongkha. Bangla is fully translated. The other four are available but still being reviewed.
4. Working with lists and forms
Almost every screen is a list or a form, and they all behave the same way.
Lists
- Search filters as you type.
- Filters narrow the list, for example by stage, branch, destination or date range.
- Columns can be shown or hidden from the column toggle.
- Sort by pressing a column heading.
- Select rows with the checkboxes, then choose a bulk action such as Assign owner, Set priority, Send SMS or Export.
- Export downloads the list, with your filters applied, as Excel or CSV.
- Import appears on lists that accept a spreadsheet. See chapter 24.
When a bulk action cannot apply to some rows, it does the rest and shows a Cases that were skipped list with the reason for each one.
Forms
- Fields marked with an asterisk are required.
- Dates are shown as day-month-year, in your branch's time zone.
- Money always shows its currency and uses the right grouping for that currency. Indian rupees show as 1,40,400.00. Other currencies show as 140,400.00.
- Drop-down choices come from lists the owner controls. If a value you need is missing, ask the owner to add it.
History
Every record has a History tab. It shows every change, who made it and when, with the old and new value. Nothing can be removed from History.
Deleting and restoring
Deleting a worker, case, agent, employer, job order or stage record moves it to the Recycle bin. The owner and operations managers can restore it from there. Payments are never deleted. A wrong payment is corrected with a reversal.
Part 2 · Daily work
5. Cases and the pipeline
For case officers, operations managers and head office.
Where to see cases
- Worker 360, the worker's page, shows the current case at the top. See chapter 7.
- Cases lists every case in your branch.
- Stage Board shows cases grouped by stage, as a table or as Kanban columns.
- Each stage with its own work has a board: Medical Board, Visa Board, Clearance Board, Ticketing Board and Arrival Board.
The case header
The top of Worker 360 shows the case's stage, status, priority, owner, days in stage, next follow-up, outstanding balance and deposit status. A red marker appears when the case is Past stage target or has a Follow-up overdue.
Below that, What is blocking lists anything stopping the case from moving on. Each item has a Fix link that opens the right tab.
Moving a case forward
- Open the worker.
- Press Move to next stage. The button names the next stage, for example Move to Medical.
- If nothing is blocking, the case moves. The date and your name are saved in History.
To move many cases at once, select them on a board or the Stage Board and choose Move to next stage. Cases that cannot move are listed with their reasons.
Gates: what must be true before a case moves
Each stage has gates, conditions that must be true before a case may enter it. These are the standard gates. The owner can change them.
| To enter | These must be true |
|---|---|
| Registration | Passport number and mobile are filled in. Neither the worker nor their agent is blacklisted. |
| Document Collection | The case has a deposit amount, and the deposit is partly or fully paid. |
| Medical | Passport copy, passport photo and national ID are Verified. |
| Visa Processing | The medical result is Fit. |
| Emigration Clearance | The visa is Approved or Issued. |
| Ticketing | Emigration clearance is Completed, Card Issued or Not Required. Training is Completed or Not Required. For Malaysia only, the VDR is Issued or Not Required. |
| Ready to Deploy | The ticket is Issued. |
| Departed | The outstanding balance is zero. |
| Arrived | The arrival date is filled in. |
| Attached | The attachment date is filled in. |
| Closed | A final outcome is chosen. |
Overriding a gate
Sometimes the office must move a case even though a gate fails, for example when a document is verified by the embassy directly.
- Press Override gate in the What is blocking panel.
- Write why. The note must be at least 20 characters.
- Confirm. The case moves and your note is kept in History.
Only the owner, head office and operations managers may override. Every override is kept in the case's History and the activity log.
Moving back
An operations manager or above can press Move back and give a note. Use it when a case was moved by mistake or a result was reversed.
Hold and resume
Put on hold pauses a case, for example while the worker sorts out a family matter. The case shows On Hold until someone presses Resume.
Closing a case
- Press Close case.
- Choose the Exit status, for example Closed for success, or Withdrawn, Rejected or Cancelled.
- Choose the Reason, for example Worker withdrew, Medical unfit or Visa rejected.
- Add a note and confirm.
A successful case closes from the Attached stage. A case can close from any stage with a failure exit status.
If money was paid on the case, the system asks what should happen to it. Open a refund, or mark it not applicable. See chapter 18.
A closed case is read-only, except for Finance and Follow-ups. An operations manager or above can Reopen it with a note.
Transferring to another branch
An operations manager, head office or the owner can press Transfer branch, pick the branch and give a reason. The case then belongs to the other branch and appears in its lists.
6. Registering a worker
For case officers and agents. Agents use the portal's Add lead form instead.
Open Recruitment / Candidates and press New worker. The form has three steps.
Step 1 · Passport
Nationality and passport come first, so a duplicate is caught before you type anything else.
- Choose Nationality.
- Optional but faster: under Read the passport automatically, drop a photo of the passport data page or use the camera, then press Read passport. The passport number, dates, name, date of birth and gender fill themselves.
- Check every filled field against the passport. A field the reader could not confirm is marked. Tick I have checked these fields against the passport.
- Otherwise type Passport Number, Issue Date and Expiry Date by hand.
If the passport already exists, the form stops and offers Open existing worker. If the passport expires within 180 days, you get a warning, because most destinations refuse such passports.
Step 2 · Person & contact
Enter the worker's name, father or guardian, date of birth, gender, marital status, mobile, district, address, national ID, education, trade, experience and languages. Add a photo. Choose the Agent and, if there is one, the Sub-agent.
- A mobile already used by another worker gives a warning, but you can continue.
- An age outside 18 to 60 gives a warning.
- A blacklisted agent stops registration and shows the reason.
Step 3 · Placement
- Pick a Job order, or leave it empty and choose a Destination, job category, position and visa type.
- Check the Application date.
- Enter the Package and Deposit required. The package must be at least the deposit.
- Set Priority and Case Owner. The owner defaults to you.
- Press save. The worker and their first case are created, and Worker 360 opens.
The case starts in the branch's currency. That currency never changes for the case.
Blacklisting
An operations manager or above can press Blacklist on a worker or an agent and give a reason. A blacklisted worker cannot move forward, and a blacklisted agent cannot register new workers. Remove from blacklist reverses it.
Merging duplicates
If the same person was registered twice, an operations manager or the owner can use Merge duplicates. Choose which record to keep and which to merge in. The screen shows what will move before you confirm.
7. Worker 360
For everyone who handles workers.
Worker 360 is the one page for everything about a worker and their case.
Header actions
- Move to next stage, Put on hold, Resume, Close case, Reopen, Transfer branch.
- Print: Registration form, ID card with photo and QR code, and Case history.
- Blacklist, for operations managers and above.
- Open replacement, for operations managers and above. See chapter 21.
- Export personal data and Anonymise, for the owner only. See chapter 33.
Tabs
| Tab | What it holds |
|---|---|
| Profile | Personal and contact details, agent and sub-agent. The national ID is hidden until you press Reveal, and every reveal is recorded. |
| Passport & Skills | Passport number, dates, a Valid / Expiring / Expired status, trade, education and experience. |
| Documents | The document checklist for the case. |
| Medical | Medical attempts and results. |
| Visa | Visa status and dates. |
| Clearance | Emigration clearance, VDR, police clearance, training and insurance. |
| Finance | Balances, payments, suggestions, expenses and refunds. Visible to Accounts and the owner. |
| Travel | Ticket, flight and arrival details. |
| Follow-ups | The contact log and next follow-up. |
| Replacement | Links to the case this one replaced, or the case that replaced it. |
| Contract | Salary, contract years, benefits and attestation. |
| History | Every change ever made. |
You can link straight to a tab. Adding ?tab=documents to the page address opens the Documents tab.
8. Documents
For case officers. Agents can upload, but never verify.
The checklist
Each case gets a checklist of document slots when it opens. The standard slots are: Passport Copy, NID / Birth Certificate, Passport Photo, CV / Biodata, Education Certificate, Medical Certificate and Police Clearance Copy, which are required, plus Experience Certificate, Insurance Policy and Other Documents, which are optional. Slots can depend on the source and destination country.
The tab shows a Completion percentage for required slots.
Slot statuses
| Status | Meaning |
|---|---|
| Missing | Nothing received yet. |
| Requested | The worker or agent has been asked for it. |
| Received | A file is uploaded but not checked. |
| Verified | A staff member has checked the file against the original. |
| Expired | The document's expiry date has passed. The system sets this every night. |
| Not Required | This case does not need it. |
Working a slot
- Press Upload. Files must be PDF, JPEG or PNG, up to 10 MB. Documents that expire need an expiry date.
- Check the file against the original, then press Verify.
- Use Request to ask for a missing document. The slot becomes Requested, and the agent sees it on the portal.
- Use Mark not required when the case does not need that document.
- Replace swaps a file. Reverting a verification needs a reason.
Download all as zip gives every uploaded file for the case. Print checklist prints the list with statuses.
Files are private. A download link works only for a few minutes.
Bulk document upload
Use Document Management › Bulk document upload when you scan many papers at once.
- Name each file
<passport>_<slot>.<ext>. For example,BX1234567_passport_copy.pdfgoes into that worker's Passport Copy slot. The page lists the slot keys to use. - Drop the files, or one zip holding them, and press Upload and assign.
- Matched files go straight into their slots as Received.
- Files that could not be matched are listed. Map each one by hand under Manual mapping.
Missing documents
Document Management › Missing documents lists every case with Missing or Requested slots. Select cases and press Request selected to request them all and text the workers.
Generated documents
The owner can set up Document Templates, for example a contract or an affidavit. On a case, generate a template to fill in the worker's details automatically, then print it or save it into a slot.
9. Medical
For case officers.
Medical Board
Medical Management › Medical Board lists every case in the Medical stage with its latest result.
- Schedule: select cases, choose the centre and date. Only centres approved for each case's destination are offered.
- Results grid: select cases and enter the examination date, result, certificate number and expiry for all of them on one screen, then save.
- Move to next stage moves the Fit cases on. Unfit cases are skipped with a reason.
- Print the list for the centre.
One case
On Worker 360's Medical tab, record the centre, scheduled date, examination date, result, certificate number, expiry and fee. A Fit result needs an expiry date.
If the worker must be examined again, press New attempt (re-medical). Earlier attempts stay on record. The newest attempt decides the gate.
Medical Centres lists the approved centres and which destinations each one serves. The owner maintains it.
10. Visa
For case officers.
The Visa Board lists cases in Visa Processing. Filter by embassy. Select cases to set the status or the submission date, move them on, or print the embassy list.
On the Visa tab, record the status, reference number, embassy, and the submitted, approved, issued, expiry and stamped dates, plus the fee and a copy of the visa. An Issued visa needs a reference number, and its expiry must be after its issue date.
The statuses run Not Started, Documents Pending, Submitted, Under Review, Approved, Issued, with Rejected, Expired, Cancelled and On Hold for problems. When a visa is Rejected, the system suggests closing the case but never closes it for you.
11. Emigration clearance
For case officers.
The Clearance tab holds five sections. Each section appears only when it applies to the case.
| Section | What it records |
|---|---|
| Emigration clearance | The source country's clearance: status, registration number, card or permit number, registration, fingerprint, issue and expiry dates, fee. Field names follow the country, for example BMET smart card for Bangladesh or eMigrate for India. |
| VDR | Malaysia's calling visa (VDR): status, calling visa number, applied, issued and expiry dates. |
| Police clearance | Status, certificate number, applied, issued and expiry dates, and a copy. |
| Training / orientation | Status, provider, scheduled and completed dates, certificate. |
| Insurance | One or more policies: type, provider, policy number, valid from and to, premium, and the policy scan. |
For India, workers who do not need emigration clearance can be set to Not Required.
The Clearance Board lists cases in Emigration Clearance. Select cases to set a status, move them on, or print the authority submission list in the column order that country's authority expects.
12. Ticketing and departure
For case officers. Accounts see the balance column.
The Ticketing Board lists cases in Ticketing and Ready to Deploy, with each ticket's status and the case's balance.
Bulk actions
- Set quotation marks a quotation as received.
- Set booked records airline, PNR and flight date.
- Issue tickets marks tickets as issued. An issued ticket needs a PNR and a flight date.
- Mark departed confirms the flight left. See below.
- Print flight manifest prints everyone on a flight date.
- Send flight SMS texts each worker their flight number, date and time. Workers who opted out, or whose ticket has no flight yet, are skipped.
One ticket
On the Travel tab, record the status, airline, PNR, flight number, flight date and time, airports, fare, and a copy of the ticket. Press Save ticket.
Marking departed
- On the Ticketing Board, select the cases on a flight and press Mark departed.
- Confirm the actual departure date.
- Each case whose balance is zero moves to Departed. Cases with money still owed are skipped and listed.
Departure is when commissions are normally generated for agents.
13. Arrival and attachment
For case officers and operations managers.
The Arrival Board lists departed cases that are not yet attached to their employer, with the days since departure.
- Set arrived on records the landing date for selected cases.
- Set attached on records the day they reported for work.
- Request employer confirmation emails each employer to ask whether the worker has reported. Employers with no email on file are skipped.
On the Travel tab's arrival section you can also record who at the employer confirmed, the work permit number and its expiry. The attachment date cannot be before the arrival date.
An alert warns operations managers when a worker has arrived but is still not attached after seven days.
14. Follow-ups and My Desk
For case officers.
Follow-ups
Every contact with a worker belongs on the Follow-ups tab.
- Press Add follow-up.
- Enter Contacted on, the Channel (Phone, SMS, WhatsApp, In person, Agent, Email or Internal note) and a Note.
- Set Next follow-up if more contact is planned. Leave it empty if not.
- Optionally assign it to a colleague in the branch. It appears on their My Desk and they get a notification.
Mark done closes a follow-up. Only its author or assignee can do this.
My Desk
My Desk is the case officer's start page. It gathers:
- follow-ups due today and overdue,
- cases assigned to you,
- passports expiring soon,
- cases past their stage target,
- payments due before a flight,
- documents requested but not received,
- your unread notifications.
Work down the list each morning. Everything links straight to the right tab.
15. Contracts
For case officers.
The Contract tab records the employment contract: position, basic salary and currency, contract years, benefits (accommodation, food, transport, overtime, medical, air ticket), working hours, probation, signing and attestation dates, and the attestation reference. The contract file itself goes into a document slot.
16. Employers and job orders
For operations managers and above.
Employers
Company / Employer › Employers lists every employer with country, licence, open job orders and departed workers. An employer's name must be unique within its country. Add contacts with name, role, phone and email.
Job orders
A job order is an employer's demand for workers.
- Open Job Order / Demand and press New job order.
- Choose the employer. The country follows from it.
- Enter the employer's reference, job category, visa type, received date, deadline, suggested package and currency.
- Add one or more positions, each with a quantity, salary and requirements.
- Save.
The job order page shows each position's fill rate, the cases attached to it by stage, and replacement links. The status updates by itself as positions fill. Use Attach workers to add many cases at once.
An alert warns operations managers 14 days before a deadline if the order is not fully filled.
17. Agents and commissions
For operations managers, Accounts and the owner.
Agents and sub-agents
Agent / Sub Agent › Agents lists every agent with their code, type, parent, mobile, district, workers and departures. A sub-agent works under a parent agent.
An agent's mobile must be unique in their country. Turn on portal login on an agent's record to let them use the agent portal.
Commission rules
The owner and head office maintain these.
A commission rule says how much an agent earns and when. A rule can be narrowed by branch, destination country, job category, job order or a single agent.
- Set either a Fixed amount or a Percent of package, never both.
- Trigger stage is when the commission is generated. It is Departed by default.
- Sub-agent share is the percentage that goes to the sub-agent, with the rest going to the parent agent.
- Valid from and Valid to limit the rule in time.
When several rules could apply, the most specific one wins. Press Test resolution and pick a case to see which rule would win and why.
Commission statement
Commission statement lists generated commissions by agent, with the case, worker, stage date, amount and status.
- The owner selects commissions and presses Approve selected.
- Accounts pays the agent, then selects the approved commissions and presses Mark paid with the payment reference and date.
- Print statement produces a statement for the agent.
18. Finance
For Accounts, case officers and the owner.
The one rule to remember
Case officers suggest payments. Only Accounts records them. A case officer who takes money from a worker hands it to Accounts and presses Suggest payment. Accounts counts it and records it. This keeps every receipt in one set of hands.
Balances
Each case has a Package, a Deposit required and the money Paid so far. Outstanding is package minus paid. The Finance tab shows all three at the top, in the case's currency.
The deposit status on the case header updates by itself: Not Paid, Partially Paid or Paid.
Suggesting a payment (case officers)
- On Worker 360, open the Finance tab.
- Press Suggest payment.
- Enter the kind, amount, expected method and a note.
- Save. Accounts is notified.
You are notified again when Accounts records it, with the receipt number, or declines it, with the reason.
Handling suggestions (Accounts)
Finance & Payment › Payment requests lists open suggestions. For each one, record the payment when the money is in hand, or Decline it with a reason.
Recording a payment (Accounts)
- On the Finance tab, press Record payment, or record it from the Payment requests queue.
- Choose the Kind: Deposit, Instalment, Final Payment, Refund or Adjustment.
- Enter the Amount and Method: Cash, Bank Transfer, Mobile Banking, Card, Cheque or Other.
- Enter the Transaction no. This is required for every method except cash.
- Check the date and press save.
- Press Print receipt.
The amount cannot be more than the outstanding balance. To hold an overpayment as credit, use the Adjustment kind.
Receipts
Every payment gets a receipt number like RC-DHK-2026-000123: branch, year and a running number. Numbers are never skipped and never reused, so a missing number always means something to investigate.
A printed receipt carries a QR code and a verification address. A signed-in staff member who may view payments can open it to confirm the receipt is genuine and see whether it was later reversed. Scanning it without signing in leads to the sign-in page.
Correcting a mistake: reversal
Payments are never edited or deleted. If a payment was wrong:
- On the payment, press Reverse.
- Give the reason.
- The system adds a reversal row with its own new receipt number. The original is marked Reversed.
Then record the correct payment. A reversal cannot itself be reversed.
Expenses
Finance & Payment › Expenses records money the agency spends: medical fees, visa fees, clearance fees, tickets, insurance, commissions and so on. Link an expense to a case, or leave the case empty to book it as Branch overhead. Attach the bill.
Expense totals feed profit figures. Only the owner and head office see profit.
Refunds
A refund needs two different people.
- Request: enter the case, amount requested and reason.
- Approve: someone else with approval rights enters the amount approved. Approving less than requested makes a partial refund.
- Pay: Accounts pays the approved amount. This creates a Refund row on the ledger.
Mark not applicable closes a refund prompt when no money should go back.
Receivables
Finance & Payment › Receivables lists every case with money outstanding, grouped into ageing buckets, with the last payment date and the next flight date. Select cases and press Send balance reminder to text the workers. Export CSV downloads the list.
Bank and wallet reconciliation
Use Finance & Payment › Reconciliation to check that bank and mobile wallet deposits match the ledger.
- Press Import bank / wallet statement and upload the statement as Excel or CSV.
- The system matches each line to a payment by transaction number.
- Review the result. Lines whose amounts differ are flagged.
- Press Accept all matched to mark those lines reconciled.
- For a line with no payment, press Create payment from line, or chase it up.
- Export unmatched downloads what is left.
19. SMS and messages
For case officers, operations managers and the owner.
Sending SMS
Select workers or agents on a list or board and choose Send SMS. Pick a template or type your own message. Templates fill in placeholders such as the worker's name, case code and balance, in the worker's language.
Workers who have opted out of SMS are skipped. New workers are opted in or out according to the agency setting, and each worker's SMS opt-in can be changed on their profile.
Message log
Notification & Alerts › Message Log lists every SMS and email with channel, recipient, template, status, cost, time and any error. Press Retry on a failed message.
20. Alerts
For everyone. Rules are set by the owner.
Every morning at 08:00 in each branch's local time, the system checks a set of alert rules and notifies the right people. The same match does not alert twice in a row.
| Alert | Who is told |
|---|---|
| Passport expiring within 180 days, on an open case | Case owner, in-app and SMS |
| Medical certificate expiring within 21 days, before departure | Case owner |
| Visa expiring within 30 days and no ticket yet | Case owner and operations manager |
| Ticket not started 14 days after the visa passed | Case owner |
| Arrived but not attached for 7 days | Operations manager |
| Follow-up date passed | Case owner |
| Case past its stage's target days | Case owner and operations manager |
| Balance due before departure | Accounts, in-app and SMS |
| Document requested 7 days ago and not received | Agent, in-app and SMS |
| Job order deadline within 14 days and not fully filled | Operations manager |
| Emigration clearance expiring within 30 days, before departure | Case owner |
Alerts arrive in the bell. Counts also appear on the dashboards. At 08:15 managers receive a Daily digest email summarising what needs attention.
Notification & Alerts › Alert Runs lists each morning's run per branch with how many records matched and how many people were notified. Press View matches to see the records.
21. Replacement and worker events
For operations managers and above.
Replacement
When an employer rejects a worker, or a worker returns, absconds or has their contract ended, the employer usually needs a replacement.
- On the failed case, press Open replacement.
- Choose the Reason and the Requested on date.
- Choose the Replacement worker, or tick Create the case later.
- Leave Close the failed case ticked to close it with the matching exit status.
- Confirm.
Both cases are linked. The Replacement tab on each one shows the other. Later, Link the replacement case connects a case created afterwards.
Replacement Management lists every replacement, including those still Awaiting a replacement case.
Worker events
Replacement Management › Worker Management records what happens after placement: a complaint, a return, a contract end, a re-hire, a death or injury, or a salary issue.
Recording a Re-hire opens a new case for the worker. The system uses the job order you name. Without one, it reuses the previous job order, and failing that the previous destination.
22. Dashboards and calendar
Operations dashboard
Owner, head office, operations managers, viewers.
The main Dashboard has twelve key tiles: Total Candidates, New Candidates, Under Processing, Medical Pending, Medical Fit, Medical Unfit, Visa Pending, Visa Approved, Ticket Pending, Departed, Arrived and Company Attached. Below them are the recruitment pipeline funnel, a nationality chart, a deployment trend, and panels for employers, job orders, documents, payments, alerts and recent activity.
Filter by branch, date range and year. Figures refresh every few minutes.
Stakeholder dashboards
All live under Reports / MIS.
| Dashboard | For | What it shows |
|---|---|---|
| My Desk | Case officers | Personal work list. See chapter 14. |
| Owner Dashboard | Owner, head office | Branch comparison, source × destination departures, revenue and profit by month, receivables ageing, commission payable, top employers, lost-case reasons. Choose a reporting currency. |
| Branch Dashboard | Operations managers, head office, owner, viewers | Officer workload, today's departures and arrivals, cases past stage target. |
| Accounts Dashboard | Accounts, head office, owner | Collected today and this month, collections by method and cashier, outstanding with oldest money first, refunds pending, expenses by category, commissions ready to pay, unreconciled wallet entries. |
| Compliance Dashboard | Case officers, operations managers, head office, owner, viewers | Expiry register at 30, 60 and 90 days for passports, medicals, visas, VDR, police clearance, emigration clearance and insurance. Clearance pending per country, training pending, document completion by stage. |
| Auditor Dashboard | Operations managers, head office, owner, viewers | User activity and the export log. |
When figures in several currencies are combined, they are converted with the exchange rates in Currencies & Rates. A warning appears if a rate is missing for the date.
Calendar
Reports / MIS › Calendar shows medical appointments, visa submissions, flights, arrivals, follow-ups due, training dates and document expiries by month or week. Switch types on and off, pick a branch, or tick Only mine.
23. Reports
For managers, Accounts, the owner and viewers.
Reports / MIS › Report catalogue holds sixteen reports in four groups.
| Group | Reports |
|---|---|
| Operations | Pipeline funnel and conversion · Cases per stage per officer · Monthly deployment trend · Destination country mix · Employer and category mix · Expiry register |
| Finance | Receivables ageing · Collections by day, method and cashier · Cost and profit per case · Refund register · Commission statements |
| Agents and employers | Agent performance and drop-offs · Job order fill rate and time to fill · Employer rejection and replacement rate |
| Compliance | User activity · Export log |
The catalogue also links to the prints: Authority submission lists, Flight manifest and Case history print.
Using a report
- Open the report and set the filters: dates, branch, country, employer, agent or officer.
- Press Export Excel or Export PDF to download it.
- Press Save view to keep these filters under a name. Tick Open this report with this view to make it your default.
- Press Schedule e-mail to receive it Daily, Weekly (Mondays) or Monthly (1st). Manage these under My scheduled e-mails.
Every export is recorded in the export log.
24. Import and export
For operations managers and the owner. Accounts import expenses and statements.
Importing the tracking sheet
Master Settings › Import / Export brings in the agency's existing tracking spreadsheet. Columns are matched by heading, so their order does not matter.
- Press Download an import template if you need the expected layout.
- Upload the sheet as .xlsx or .csv.
- Choose the Nationality of the workers in the file.
- Decide whether to Create agents that are not already in the system and Create employers that are not already in the system.
- Press Dry run. Nothing is imported yet.
- Read the report: rows that would be created, rows that match existing workers and would be updated, warnings and errors. Unknown columns are listed. Download report gives every row's messages.
- Fix the sheet and repeat if needed.
- Press Commit. Rows with errors are skipped. The import runs in the background and you are notified when it finishes.
An existing worker is recognised by passport number and updated, never duplicated.
Roll back. If an import went wrong, the person who ran it can press Roll back within 24 hours. This removes the workers and cases it created, reverses payments it recorded, and restores values it changed.
Importing into a list
Several lists have their own import button, each with the same dry run, commit and roll back steps:
- Employers, Job orders and Expenses, from Excel.
- Medical results, visa, clearance and tickets, from the boards. Rows are matched to cases by passport number.
- Bank / wallet statement, on Reconciliation.
Editing a list in Excel
On Workers, Agents, Employers and Job orders, Export for editing in Excel downloads the list with a row_id column. Edit it, keep row_id, and import it back. Each row updates that record.
For workers, only Mobile, Alt Mobile, Address, District, Trade, Education, Languages and Remarks are read back.
Exports
- Every list has Export for Excel or CSV.
- Each night at 01:00 the system saves a full export in the tracking-sheet layout, per branch and for all branches. Download it from Import / Export.
Part 3 · The agent portal
25. The agent portal
For agents and sub-agents.
The agent portal is a simple, phone-friendly site for agents. An agent sees only their own workers, and a parent agent also sees their sub-agents' workers. Agents never see payments, expenses or employer contact details.
Getting access
The office turns on portal login on the agent's record. The agent's registered mobile number becomes their login.
Signing in
- Open the portal address, the system address followed by /agent.
- Enter your Mobile number and press Send code.
- Enter the six-digit code from the SMS and press Verify. The code works for a few minutes.
After three wrong codes, ask for a new one. If the number is not recognised, blocked or not switched on, the screen says to call the office.
Home
Home shows your workers by stage, how many Documents requested the office is waiting for, your commission summary, and notices.
My workers
Workers lists your workers with their stage. Search by name, code or mobile, then press Open.
A worker's page shows their Progress through the stages, marked Done, Now or To come, and a list of Documents the office needs.
Uploading documents
- Open the worker.
- Next to a document marked Asked for or Not sent, press Upload.
- Take a photo or choose a PDF, up to 10 MB.
The document shows Sent — being checked until the office accepts it.
Adding a lead
- Press Add lead.
- Take a photo of the passport data page. The fields fill themselves. Check every one.
- Complete the name, date of birth, mobile and district.
- Optionally pick a Job order. This opens a case on that demand straight away.
- Press Save lead.
Commission
Commission lists your commission by month as Pending, Approved or Paid. Press Download statement for a copy.
Profile
Change your name and Language, or Sign out.
Part 4 · Administration
For the owner, and head office where noted.
26. Users, roles and permissions
Users
User & Access Control › Users lists every staff account with roles, branch, 2FA status and last login.
To add a user, press New user and enter name, email, branch, roles and a starting password of at least 12 characters. Ask the person to change it after first sign-in.
- Deactivate blocks sign-in without deleting anything. Activate restores it.
- Open a user to see their Login history & changes.
- Reset 2FA when a user has lost both their phone and their recovery codes.
Roles
The system ships with seven roles. The owner can adjust what each one may do under Roles & Permissions.
| Role | In short |
|---|---|
| owner | Everything, across all branches. Sole control of settings, pipeline, options and data retention. |
| head_office | Everything operational across all branches, including gate overrides, refund approval, transfers and profit. |
| ops_manager | Runs a branch: all case work, overrides, move back, reopen, transfers, blacklisting, merging, imports, alerts. |
| case_officer | Registers workers and works cases. Suggests payments but cannot record them. |
| accounts | Records payments, expenses and refunds, approves refunds, handles commissions. Sees cases read-only. |
| agent | Staff-side placeholder for agents. Real agents use the portal. |
| viewer | Reads everything in their scope. Changes nothing. |
Special permissions
| Permission | What it allows | Held by default |
|---|---|---|
| Override gate | Move a case past a failing gate with a note | owner, head_office, ops_manager |
| Approve refund | Be the second person on a refund | owner, head_office, accounts |
| Approve commission | Approve generated commissions | owner |
| Transfer case | Move a case to another branch | owner, head_office, ops_manager |
| Merge records | Merge duplicate workers or option values | owner, ops_manager |
| See profit | See expenses, profit and margin | owner, head_office |
| Manage options | Edit option lists | owner |
| Manage pipeline | Edit stages and gates | owner |
| Switch branch | Change branch in the top bar | owner, head_office |
| All branches | Read across every branch | owner, head_office |
Everyone except the owner and head office sees only their own branch. If Case officers see only their own cases is turned on in the agency profile, case officers see only cases they own.
27. Branches, countries, currencies and districts
- Branches: code, name, source country, currency, address, phone, licence number, SMS gateway and whether it is head office. Retire a branch rather than deleting it.
- Countries: source and destination countries with ISO code, currency, phone prefix and number format, the national ID label, the clearance authority, clearance field labels, the column layout of the authority submission list, required document types, time zone, and the name in each language.
- Currencies & Rates: currencies and exchange rates to the reporting currency, each with an effective date. Keep rates up to date so combined figures are right.
- Districts: districts per country, used on worker addresses. Import many at once from CSV.
28. Option lists
Master Settings › Option Lists controls every drop-down in the system: case statuses, medical, visa, clearance, ticket and training statuses, close reasons, payment kinds and methods, job categories, trades, visa types, priorities, follow-up channels, expense categories and more.
Open a list to manage its values.
- Add a value, with its label in each language, a colour, and optional limits to certain countries or branches.
- Rename a value. Old records show the new name.
- Retire a value to stop it being offered. Old records keep it. Restore brings it back.
- Delete a value that has never been used.
- Merge into… moves every record using one value onto another, then retires the first.
- Drag values to change their order, and set one as the default.
Many values carry a hidden kind, such as passed, pending or failed. Gates, alerts and dashboards read the kind, not the label. That is why you can rename Fit to Medically Fit and nothing breaks. When you add a value, choose its kind carefully.
29. Pipeline stages and gates
Master Settings › Pipeline controls the stages every case moves through.
- Drag stages to reorder them.
- For each stage, set its name and labels in each language, its kind, target days, and the countries it applies to.
- Add gate to a stage and choose a condition, such as a document verified, a record status passed, or a zero balance. Write the message users see when it fails, in each language.
- Preview on a case shows which gates a real case would pass or fail.
- Retire a stage to stop using it. Cases already in it stay there and are flagged on My Desk. The last active stage cannot be retired.
Test any change with Preview on a case before relying on it.
30. Documents, medical centres and commission settings
- Document Types: the checklist slots. Set the label per language, whether it is required, whether it has an expiry date, and which source and destination countries need it.
- Document Templates: upload a .docx or HTML template with placeholders, choose which countries it applies to and which slot the generated file goes into, and preview it with a sample case.
- Medical Centres: name, country, city, phone and the destinations each centre is approved for.
- Commission Rules: see chapter 17.
31. Numbering and agency profile
Numbering shows each running number, such as worker IDs, case codes and receipt numbers, with its next value. Numbers are gapless and cannot be edited by hand.
Agency profile holds:
- Agency name, Logo and Receipt footer, printed on receipts and forms,
- Reporting currency for combined figures,
- Passport expiring (days), the warning threshold,
- Signed link lifetime (minutes) for document downloads, 60 at most,
- dashboard cache times,
- Default interface language,
- New workers opted in to SMS,
- Case officers see only their own cases.
32. SMS gateways, message templates and alert rules
SMS gateways
Add one gateway per source country. Choose the Driver (SSL Wireless, BulkSMSBD, Twilio, Generic HTTP, or Log only (no send)), the Sender ID and the connection details. Details are stored encrypted. Press Test send to send a test message to a mobile number.
Message templates
Each template has a key, a channel, a body in each language, and placeholders such as {{worker_name}}, {{worker_code}}, {{case_code}} and {{balance}}. Indian gateways also need a DLT template id. Press Preview to see the result.
Alert rules
Each rule has a name, the kind of record it checks, a condition with its settings (for example, days before expiry), who is told, and how: In-app notification and SMS to the worker. SMS needs a worker template.
- Run now (dry) shows how many records a rule matches. Nobody is notified.
- Turn a rule off to pause it.
33. Activity log, recycle bin, data retention and system
Activity log
Activity Log records every change by every user: what changed, from what, to what, and when. Filter by user, record type or date, and export it.
Recycle bin
Recycle bin lists deleted records: workers, agents, employers, job orders, cases, and stage records such as medicals, visas, tickets, clearances, payment requests and refunds. It shows who deleted each one and when.
- Restore puts the record back.
- Purge deletes it for good. Only the owner can purge, and it cannot be undone.
Data retention
Owner only.
Personal data must not be kept forever. Data retention sets how many years after a case closes a worker's personal data is kept. The default is 7 years.
The page previews which workers are eligible. Anonymise now erases their personal data and documents, keeping financial records under the worker code only. You must type a confirmation, and it cannot be undone.
On a single worker, the owner can also:
- Export personal data as PDF or JSON, when a worker asks what the agency holds about them,
- Anonymise the worker, once every one of their cases is closed.
System
System shows whether the scheduler is running, the queue, failed background jobs with Retry, the last backup, the last alert run and disk use. The database is backed up every night at 02:00.
Part 5 · Reference
34. Daily schedule
These run by themselves. Times are for each branch's local time where marked.
| Time | What happens |
|---|---|
| 00:30 | Documents past their expiry date are marked Expired. |
| 01:00 | Nightly export in tracking-sheet layout. |
| 02:00 | Database backup. |
| 03:00 | Case totals and report figures are recalculated. |
| 08:00 branch time | Alert rules run and notify people. |
| 08:15 | Daily digest and scheduled report emails are sent. |
35. Troubleshooting
I cannot move a case to the next stage. Read What is blocking on the case header and use the Fix links. If the block is wrong in this case, ask a manager to override it with a note.
I cannot find a worker. Search by passport number or mobile. If they belong to another branch, you will not see them unless your role covers all branches. Ask whether they were transferred or deleted, and check the Recycle bin.
There is no Record payment button. Recording payments is for Accounts. Use Suggest payment.
A case will not depart. Departure needs a zero balance. Check the Finance tab and ask Accounts to record the final payment.
This page has expired. You were idle for a long time or signed in elsewhere. Refresh the page and sign in again.
The agent did not get an SMS code. Check that the agent's mobile is correct, portal login is on, and the agent is active and not blacklisted. If the SMS gateway is still in Log only mode, no SMS is sent at all.
An option I need is not in the drop-down. The owner adds it under Option Lists. It may also be limited to certain countries or branches.
An import shows many errors. Download the report from the dry run. Most errors are dates in an unusual format, values not in a list, or unknown countries. Fix the sheet and run the dry run again.
Money figures look wrong across branches. Combined figures use exchange rates. Check that Currencies & Rates has a rate for the period.
A receipt number seems to be missing. Numbers never skip. Look for a reversal or a payment recorded in another branch's series.
36. Glossary
| Term | Meaning |
|---|---|
| Case | One attempt to place one worker in one job. |
| Stage | A step in the case's journey, such as Medical or Ticketing. |
| Gate | A condition that must be true before a case enters a stage. |
| Override | Moving a case past a failing gate, with a written reason. |
| Board | A list of cases in one stage, with bulk actions for that stage's work. |
| Worker 360 | The single page for everything about a worker and their case. |
| Job order | An employer's demand for a number of workers in given positions. |
| Fill rate | How much of a job order's quantity has been filled. |
| Package | The total a worker pays the agency for the placement. |
| Deposit | The first part of the package, needed before documents are collected. |
| Outstanding | Package minus what has been paid. |
| Suggestion | A case officer's note to Accounts that a payment is expected. |
| Reversal | A ledger entry that cancels a wrong payment. The original stays visible. |
| Slot | One document on a case's checklist. |
| VDR | Visa with Reference, Malaysia's calling visa. |
| Emigration clearance | The source country's permission to work abroad, such as the BMET smart card or eMigrate. |
| Attachment | The day the worker reports to the employer. |
| Replacement | A new case opened because a placement failed. |
| Sub-agent | An agent who works under a parent agent. |
| Commission rule | What an agent earns for a case, and at which stage. |
| MRZ | The two machine-readable lines at the bottom of a passport data page. |
| Dry run | A trial import that shows what would happen without changing anything. |
| Anonymise | Permanently erase a worker's personal data while keeping financial records. |
37. Demo access for evaluation
For anyone evaluating the platform.
This site runs on demonstration data: invented workers, agents, employers, cases and payments across five branches. Nothing here is real, and nothing you do here affects a live agency.
The two entrances
| Address | Who it is for |
|---|---|
| /app | Agency staff: the full system described in this manual. |
| /agent | Agents and sub-agents: the simple portal in chapter 25. Sign-in needs a code sent by SMS, so ask the office for a walkthrough. |
Sign-in details
Every demo account uses the password password.
| Role | What you can see | |
|---|---|---|
| Owner | owner@example.com | Everything, all five branches, settings, the pipeline editor, profit figures. |
| Head office | headoffice1.dhk@example.com | All branches, gate overrides, refund approval, transfers. |
| Operations manager | manager1.dhk@example.com | One branch: boards, overrides, job orders, imports, alerts. |
| Case officer | officer1.dhk@example.com | My Desk, worker registration, case work. Suggests payments but cannot record them. |
| Accounts | accounts1.dhk@example.com | Payments, receipts, expenses, refunds, receivables, reconciliation. |
| Viewer | viewer1.dhk@example.com | Read-only across the branch. |
Branch codes in the demo are DHK (Dhaka), CTG (Chattogram), BOM (Mumbai), LHE (Lahore) and KTM (Kathmandu). Swap dhk in an email for another code to sign in at that branch, for example officer1.ctg@example.com.
A ten-minute tour
- Sign in as the case officer and open My Desk. This is a working day in one screen.
- Open any worker from Recruitment / Candidates. Look at the case header, then What is blocking, then walk the tabs from Documents to Travel.
- Press Move to next stage on a case that is ready, and on one that is not, to see a gate refuse it with a reason.
- Open the Medical Board, select several cases and schedule them in one action.
- Sign in as Accounts and record a payment, then print the receipt and reverse it. The ledger never edits or deletes.
- Sign in as the Owner and open the Owner Dashboard, then Master Settings › Option Lists and Pipeline to see that every stage, gate and drop-down is editable without a developer.
SMS and email are switched to log-only mode on this site, so nothing is actually sent to anybody.
Written against the system as built on main at commit 763cdcd. The Markdown source is docs/user-manual/user-manual.md in the repository.