Why OpsCore

Every payroll product promises accuracy. Here are the specific constraints that let OpsCore keep that promise.

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.

A backup package for every month

Each closed period exports an immutable Excel package - payroll, per-day detail, employer-borne cost - so accountants, auditors and inspectors can reconcile without being given system access.

Rates apply by date, not by period

Raise a rate mid-month and only the days from that date onward use it. The whole month is never repriced, and the first ten days never lose their rate.

Leave feeds straight into payroll

Paid leave adds to income, unpaid leave deducts, and requests touching a closed period cannot be edited - so the payslip never disagrees with the leave ledger.

Severance that follows the law

Tenure measured across the continuous contract chain, netting off months already covered by unemployment insurance, and counting unpaid drafts so a second claim cannot be raised for the same span.

Permissions down to the action

Not "admin or not": every action is its own permission, granted by role. When one is missing the system names it rather than returning a generic error.

Notifications over Zalo, SMS and email

Payslips, leave decisions and attendance reminders reach workers directly - and every send is logged with who, when and whether it succeeded, so "I never got it" has an answer.

Bảng lương kỳ đã chốt

Thu nhập, khấu trừ, thực lĩnh và tổng chi phí doanh nghiệp phải bỏ ra — đọc từ bản chụp lúc chốt, nên xuất lại sau này vẫn đúng con số đã trả.

Bảng lương kỳ đã chốt

Ảnh chụp từ hệ thống đang chạy · dữ liệu minh hoạ

Nhật ký thao tác

Ai chốt kỳ lương, ai sửa đơn giá, ai đăng nhập lúc nào — ghi tự động cho mọi bảng nghiệp vụ, không phụ thuộc lập trình viên nhớ ghi log.

Nhật ký thao tác

Ảnh chụp từ hệ thống đang chạy · dữ liệu minh hoạ

How rollout works

  1. 1Week 1

    Discovery & configuration

    Model your units, teams, positions and rates the way the company already runs — no process change required to start.

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

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

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

What scale does it handle?

It has been exercised at 15,000 workers across 120 units. Large tables are processed in batches, and old log data has retention cleanup you control.

How long does rollout take?

Typically four weeks, including a full payroll period run in parallel with your current process before go-live.

See OpsCore running on your own numbers

Book a 45-minute demo. We reply within 24 business hours.

Book a Demo