Skip to content
Dakila

Every screen walked by hand. Every document opened and read.

No statutory rate enters this product on somebody’s memory, and no government module is called ready until a person has opened every document it generates and read it page by page. The last time we did that, six things came back. All six are on this page, with what each one was and what we did about it.

No statutory number enters the product on someone’s memory

Every rate, ceiling, factor and bracket in Dakila carries a verification state. A value is either traced to a primary government issuance — the circular, the memorandum, the law — or it is marked unverified and cannot be used in a computation that reaches an employee.

Contribution rates change, and an agency running a stale rate discovers it during a COA audit rather than during a release.

Verified against primary sources

GSIS
9% / 12%
Personal and government share. No salary ceiling.
PhilHealth
5%
Shared premium.
Pag-IBIG
₱200 / ₱200
Flat, employee and employer.
PERA
₱2,000
Standard allowance line.
Leave monetization factor
×0.0481927
CSC and DBM cited inline on the screen.

Deliberately not published

None of these appears as a figure anywhere on this site, and the product ships no salary grade and step matrix:

  • SSL salary grade and step matrix
  • TRAIN per-period withholding tables
  • PBB tier values and PRIME-HRM maturity scoring

Your agency’s own salary schedule loads at onboarding from the issuance that governs you.

A written record of everywhere we differ

Government HR requirements and general-purpose HR software never line up perfectly. We keep a register of every place they diverge: what the requirement says, what the software does by default, and the ruling we made — configure it, extend it, handle it in the interface, or leave it out and say so.

The register is why the module pages on this site can tell you what is not built. The alternative — discovering the gap during implementation — is how HRIS projects go wrong.

An automated test cannot see a glyph

A test can confirm a file was produced. It will happily pass a certificate that reads “This is to certify that Gavino, , has been employed” and a Personal Data Sheet that breaks a job title across a line in the middle of a word. Both of those are real, both are in the register below, and both were caught by a person opening the file and reading it.

A form that reaches CSC with a dangling comma in it is a form that comes back.

Walked, not sampled
Screen by screen on desktop and on a phone, in every role, including roles that should be refused.
Denials tested on purpose
We sign in with no rights and try each restricted administration screen, recording any control still reachable. A refusal with a live button on it counts as a finding.
Findings written down
Each one recorded with its severity and its fix, then published.

The last review, in full

Six findings. All fixed. Here they are.

The government modules, walked on desktop and on a phone, in every role. Reviewed 26 July 2026, with five friction or wrong and one a matter of taste. This is the whole list rather than a selection from it, and it includes the one that was a repeat of a defect we had already fixed once.

You know no software is perfect. What you are working out is whether we looked, whether we looked properly, and whether we will say so when we find something.

The severity scale, so the labels mean something

S1
Blocks a real user. They cannot complete the task at all.
S2
Friction, or wrong. They can get through, but it is confusing, misleading, or what they are shown is incorrect.
S3
Taste. It works and it is correct, but it reads or looks poorly.
  1. 01S2

    Recruitment, onboarding and separations, seen by an employee with no rights

    What we found
    The refusal message appeared, and above it sat a live New button and a Refresh button. On recruitment there was also a working link to the applicant list. The server refused every one of those actions correctly, so nothing could be done with them, but the screen was advertising doors that were not there.
    Fixed
    Those controls now render only when the screen is not a refusal.

    This was a regression. The same class of defect had been found and fixed once already, and it came back on three more screens. It is in this register rather than quietly dropped from it because a sweep that only ever finds new problems is not being run often enough.

  2. 02S2

    Payroll, seen by an employee with no rights

    What we found
    A link to the Salary Register was kept beside the payroll refusal for every account, including ordinary employees, for whom it led to a second refusal. It belonged there for the HR accounts that can actually reach that report, and nowhere else.
    Fixed
    The link is gated to the same roles the navigation uses. The server remains the authority either way.
  3. 03S2

    Personal Data Sheet, on screen

    What we found
    An employee record with no height or weight recorded displayed both as 0, while the printed CS Form 212 left both blank. The same record told two different stories about the same person depending on where you read it.
    Fixed
    An unset measurement and a zero now collapse to the same dash the printed form shows.
  4. 04S2

    Executive dashboard

    What we found
    The browser console logged a markup error on every single load of the dashboard. Nothing was visibly broken, and all eight of the automated checks on that screen passed. But an evaluator from your ICT office opening developer tools on our flagship screen would have seen a red error sitting there.
    Fixed
    The offending wrapper was corrected, and a check now fails if that screen logs an error again.
  5. 05S2

    Certificate prints

    What we found
    For any employee with no designation recorded, three of the four document prints produced “This is to certify that Gavino, , has been employed”. The fields themselves were guarded against being empty. The punctuation around them was not.
    Fixed
    The phrase is now assembled once, and its commas are printed only when there is something between them.

    Found because a person opened the files and read them. Three of the four prints had never been read by a human before that pass. The Service Record was the one that was already right, and its correct handling became the model for the other three.

  6. 06S3

    Personal Data Sheet print, CS Form 212

    What we found
    Words broke in the middle across a line on a signed CSC form. “Administrati / ve Officer V”. “BS Public Administrati / on”. “DEGREE/COURS / E”. A form that reaches CSC looking like that is a form that comes back.
    Fixed
    The four child-record tables on the form size their columns to their content instead of splitting into eight equal ones.

    There is no automated test behind this fix. Catching a mid-word break automatically means rendering the PDF and reading the pixels, which our checks deliberately do not do. It was verified the only way it can be: by re-rendering the form and reading all four pages.

Every one of these was found by hand. Opening the files and reading them, and signing in with no rights and trying every screen that should refuse. The automated checks passed throughout. That is not an argument against automated checks, which catch the things they are pointed at every time. It is the reason we do not stop at them before telling you a government form is ready.

On having no agency to name yet

We have no completed government contracts, and we are not going to invent any. A fabricated case study on a page an auditor might read is a worse problem than an honest gap, and you would find out either way.

A logo wall would tell you that somebody else signed. It would not tell you whether anybody read the printed CS Form 212 before it went out.

Ask us the hard version

If you are evaluating Dakila, the useful questions are the uncomfortable ones. Which statutory values are still unverified. What the software cannot do that your office needs. What breaks if your ICT policy forbids something we assumed. What the next review turns up.

We will answer those in writing.