Close payroll on time, with evidence behind every number.
Stop reconciling timesheets in Excel. OpsCore runs HR, attendance, payroll and partner reconciliation for businesses with large workforces.
Runs on your own server · Data isolated per customer · Full audit trail
Bảng điều khiển quản trị
Tổng quan nhân sự · dự án · tuyển dụng · khiếu nại · tài chính
Thao tác nhanh
Tổng quan người lao động
Tổng người lao động đăng ký
15.436
15 đăng ký tháng này
↓ 761 so với tháng trướcĐang làm việc
11.253
73% tổng số người lao động
Dự án theo trạng thái
Đã báo tăng BHXH
0
Người lao động có BHXH active
Cơ cấu người lao động
Phân bố trạng thái người lao động 7
Người lao động theo Team
Dữ liệu minh hoạ
- 15,000
- workers exercised in load testing
- 120
- units in a single system
- 3
- portals: admin, worker, partner
- 4 weeks
- from discovery to go-live
Scale figures verified by load testing — not customer counts.
Who OpsCore is for
Built for operations spanning many units, shifts and rate cards — where spreadsheets start to break.
Labor supply companies
Many client units, each with its own rates and its own way of recording attendance. Reconciliation has to be fast and never cross units.
Factories & industrial parks
Thousands of workers on shifts, with overtime and night work. Attendance is captured on site, and each day type carries its own multiplier.
Businesses using seasonal labor
Constant turnover and short contracts. Records, insurance and severance have to follow the law without manual calculation.
What hurts today, and how OpsCore handles it
How it works today
With OpsCore
How it works today
Every pay period burns days reconciling timesheets with each unit over Excel and chat.
With OpsCore
Partners submit attendance on their own portal, with a per-worker preview before sending. Your team only approves.
How it works today
Double or short payments only surface when a worker complains — by then the money is gone.
With OpsCore
One period can only ever produce one payout batch. Duplicate rows are caught at import, and a period with unapproved rows cannot be closed.
How it works today
An auditor asks for figures from six months ago and the re-export returns different numbers.
With OpsCore
Closed periods are frozen as snapshots. Re-exporting a year later returns exactly what was paid, plus a monthly Excel backup package.
How it works today
Workers call to ask for payslips and remaining leave, and HR looks each one up by hand.
With OpsCore
Workers check their own payslips, shift schedule and leave balance, and file disputes, on their own portal.
The three areas used most every day
Real OpsCore screens, shown here with sample data.
Attendance & Payroll
From on-site check-ins to accurate payroll, without manual reconciliation.
Multi-source attendance
QR check-in, manual entry, or bulk Excel import — the system recognizes both row-based and pivot-table templates automatically.
Duplicate-payout protection
Catches duplicate rows within the same file, against prior imports, and against paid leave on the same day.
Configurable pay formulas
Set allowance, deduction, and bonus formulas per business unit without writing code.
Chấm công — Dự án: Dệt May Sài Gòn
12/09/2026
| Mã CN | Họ tên | Ca | Vào | Ra | Trạng thái |
|---|---|---|---|---|---|
| CN0148 | Nguyễn Văn An | Ca ngày | 07:02 | 16:05 | Đã duyệt |
| CN0149 | Trần Thị Bình | Ca ngày | 06:58 | 16:00 | Đã duyệt |
| CN0150 | Lê Hoàng Cường | Ca đêm | 18:01 | 02:10 | Chờ duyệt |
| CN0151 | Phạm Thị Dung | Ca ngày | 07:15 | 16:02 | Đã duyệt |
| CN0152 | Võ Minh Em | Ca ngày | — | — | Nghỉ phép |
Dữ liệu minh hoạ
Bảng lương — Kỳ 09/2026
Đã khoá kỳ| Họ tên | Lương cơ bản | Phụ cấp | Bảo hiểm | Thuế TNCN | Thực lãnh |
|---|---|---|---|---|---|
| Nguyễn Văn An | 5.200.000 | 850.000 | 540.000 | 0 | 5.510.000 |
| Trần Thị Bình | 5.200.000 | 600.000 | 522.000 | 0 | 5.278.000 |
| Lê Hoàng Cường | 6.100.000 | 1.200.000 | 657.000 | 58.000 | 6.585.000 |
| Phạm Thị Dung | 5.200.000 | 750.000 | 535.000 | 0 | 5.415.000 |
Dữ liệu minh hoạ · đơn vị: đồng
Workforce & Recruiting
From candidate profiles to active staff, kept clearly separate.
ID card OCR
Scan a national ID card to auto-fill a profile — less manual data entry.
Separate recruiting pipeline
Candidates who haven't passed interview never leak into active workforce reports.
Configurable employment statuses
Each company defines its own status flow: probation, active, on leave.
Danh sách người lao động
15.436 người
| Mã CN | Họ tên | Dự án | Chức vụ | Trạng thái |
|---|---|---|---|---|
| CN0148 | Nguyễn Văn An | Dệt May Sài Gòn | Công nhân may | Đang làm việc |
| CN0149 | Trần Thị Bình | Dệt May Sài Gòn | Tổ trưởng | Đang làm việc |
| CN0150 | Lê Hoàng Cường | Logistics Tiến Phát | Công nhân đóng gói | Đang thử việc |
| CN0151 | Phạm Thị Dung | Logistics Tiến Phát | Công nhân kho | Đang làm việc |
| CN0152 | Võ Minh Em | Dệt May Sài Gòn | Công nhân may | Tạm nghỉ |
| CN0153 | Đặng Thanh Yến | Sơn Thắng Lợi | Công nhân pha màu | Hết hợp đồng |
Dữ liệu minh hoạ
Tuyển dụng theo tháng
Tổng đăng ký
13.618
12 tháng gần nhất
Đang ứng tuyển
416
3% tổng đăng ký
Trung bình / tháng
1.135
hồ sơ
Tháng cao điểm
T5
1.311 hồ sơ
Dữ liệu minh hoạ
Finance
Revenue, expenses, invoices, and profit — transparent by period and by unit.
Compliant e-invoices
Meets Decree 123/2020 — non-duplicate invoice numbers, unmodifiable once issued.
Categorized revenue & expenses
Track income and cost by category, by business unit.
Profit reporting
See profit by period and by unit, without manual rollups.
Báo cáo thu chi — Kỳ 09/2026
Lợi nhuận: 445.000.000| Danh mục | Thu | Chi |
|---|---|---|
| Doanh thu dịch vụ | 2.480.000.000 | — |
| Chi phí lương & bảo hiểm | — | 1.820.000.000 |
| Chi phí vận hành | — | 215.000.000 |
Dữ liệu minh hoạ · đơn vị: đồng
Reports that already exist, instead of exporting to Excel and rebuilding them
Workforce structure, recruiting, employer-borne cost, pending queues and per-period backup packages — read straight from closed figures.
Cơ cấu người lao động
Phân bố trạng thái người lao động 7
Phân bố giới tính 2
Phân bố thâm niên 5
Phân bố tuổi 5
Dữ liệu minh hoạ
Tỉ lệ nhận việc
Dữ liệu minh hoạ
Chi phí doanh nghiệp đóng — Kỳ 09/2026
Đã khoá kỳ| Dự án | CN | Quỹ lương | BH (DN đóng) | KPCĐ | Tổng chi phí |
|---|---|---|---|---|---|
| Dệt May Sài Gòn | 219 | 1.284 | 276 | 25 | 1.585 |
| Logistics Tiến Phát | 225 | 1.352 | 290 | 27 | 1.669 |
| Thực Phẩm Bình Minh | 226 | 1.301 | 279 | 26 | 1.606 |
| Sơn Thắng Lợi | 220 | 1.247 | 268 | 24 | 1.539 |
| Tổng | 890 | 5.184 | 1.113 | 102 | 6.399 |
Dữ liệu minh hoạ · đơn vị: triệu đồng
Cần xử lý
Nghỉ phép chờ duyệt
đơn chờ quản lý duyệt
Lô chấm công đối tác chờ duyệt
quá 24 giờ: 1
Yêu cầu đặt lại mật khẩu
từ cổng công nhân
Phân công sắp hết hạn (30 ngày)
cần gia hạn hợp đồng
Khiếu nại
2
Chờ xử lý
1
Đang xử lý
24
Đã xử lý
1
Từ chối
Dữ liệu minh hoạ
Sao lưu lương theo tháng
Đọc từ bản chụp đã chốt| Kỳ | Dự án | Người lao động | Đầy đủ | Dung lượng |
|---|---|---|---|---|
| 09/2026 | 103 | 11.253 | Hoàn tất | 48,2 MB |
| 08/2026 | 102 | 11.062 | Hoàn tất | 47,1 MB |
| 07/2026 | 101 | 10.840 | Thiếu dữ liệu | 45,6 MB |
| 06/2026 | 99 | 10.611 | Hoàn tất | 44,3 MB |
Dữ liệu minh hoạ
Nhân viên nội bộ
132
Tổng NV
132
Đang HĐ
14
Vai trò
Nhân viên theo vai trò
Nhân viên theo trạng thái 5
Dữ liệu minh hoạ
Người lao động — cắt theo nhiều chiều
Theo Chức vụ 12
Theo Nhóm làm việc 230
Theo Hình thức làm việc 5
Dữ liệu minh hoạ
Why you can trust the numbers
These are constraints built into the system, not procedures that depend on everyone doing the right thing.
No paying twice
A period can only ever produce one payout batch. Once paid, it cannot be unlocked — reversing it means deleting the unpaid batch first, and that action leaves a trail.
Past periods never change
Closed payroll is stored as a snapshot. Reports, payslips and backups read from it rather than recomputing — so last year’s numbers are still what they were on closing day.
No duplicate timesheet rows
Duplicates within one Excel file, against a previous import, and against paid leave days are all blocked, and the number of merged rows is reported rather than hidden.
Every change leaves a trail
Who changed what, when, and what the old value was — recorded automatically for every business table, not dependent on a developer remembering to log it.
Three portals, one dataset
Admin, worker and partner each get a separate interface with separate logins. A partner sees only their own unit, because scope comes from the session rather than from the browser.
Built for Vietnamese regulation
Social, health and unemployment insurance with configurable rates and caps; progressive personal income tax; regional minimum wage; severance that nets off insured months correctly.
Moving off your current system
Whether your data sits in Excel or in another product, it comes across — and you reconcile it before switching off.
Import from Excel, with a preview step
Worker records, contracts and attendance import straight from the Excel files you use today. The preview reconciles row counts and flags duplicates before anything is written.
Connect other systems over the API
API keys and webhooks to exchange data with your accounting software, attendance terminals or an existing HR system.
Run in parallel before switching off
One payroll period runs alongside your current process, compared line by line until they match. The old system stops only once the numbers agree.
Live in four weeks
Including one payroll period run in parallel with your current process before go-live.
- 1Week 1
Discovery & configuration
Model your units, teams, positions and rates the way the company already runs — no process change required to start.
- 2Week 2
Data migration
Import worker records and contracts from your existing Excel files, with a preview step to reconcile row counts before anything is written.
- 3Week 3
Parallel run
Run one full payroll period alongside the old process and compare line by line until they match. This is the go/no-go gate.
- 4Week 4
Go-live
Open the partner and worker portals, assign role-based permissions, and hand over operating documentation to your HR team.
Common questions
Can our data mix with another customer’s?
No. Every business table carries a customer id by design and every query filters on it. The system can also run entirely on your own server.
We use Excel today — do we lose the old data?
No. Worker records, contracts and attendance all import from Excel, with a preview step so you can reconcile row counts before writing.
What if one period is calculated wrong?
An unpaid period can be unlocked and recalculated. A paid one cannot — the payout batch has to be removed first, and every step is recorded for later reconciliation.
Can workers who aren’t comfortable with technology use it?
The worker portal does only a few things: view payslips, scan a QR to check in, see the shift schedule, request leave. If they don’t use it, attendance can still be entered for them or imported from Excel.
See OpsCore running on your own numbers
Book a 45-minute demo. We reply within 24 business hours.