DocsFinance
Fees and payments
The seeded fee catalog, which costs may lawfully be collected from a worker and which may not, how charges and payments reconcile, and how financial clearance gates deployment.
Illegal collection is the fastest route to losing a licence. HRTEQ models money as a catalog of fee items, each of which declares who it may be charged to and whether a worker charge is permitted at all — so the restriction is a property of the data rather than a note in someone’s head.
The placement fee#
PLACEMENT_FEE item exists precisely so it can be marked workerChargeAllowed: false and carry its own prohibition note. That note reads: only collect where the destination and skill category expressly allow it, capped at one month’s salary, never before the employment contract is signed, and always against an official receipt. Confirm with your compliance officer before using this item at all.Any fee item flagged workerChargeAllowed: false is intended to surface its legalNote and require an explicit confirmation before a worker charge is posted against it. Treat that flag as the boundary between documented cost recovery and an illegal collection.
Worker-collectible items#
Ten seeded items are documented, receiptable costs that may be collected from the worker. Amounts default to your organization currency, normally PHP.
| Code | Name | Statutory | Note |
|---|---|---|---|
MEDICAL_FEE | Medical Examination Fee | No | Actual cost at a DOH-accredited clinic. Must be supported by an official receipt. |
PASSPORT_FEE | Passport Application Fee | No | Pass-through DFA cost. |
NBI_FEE | NBI Clearance Fee | No | |
PSA_FEE | PSA Document Fee | No | |
AUTH_FEE | Document Authentication Fee | No | |
TRAINING_FEE | Training / Assessment Fee | No | |
PDOS_FEE | PDOS Fee | Yes | |
OEC_FEE | OEC Processing Fee | Yes | |
OWWA_FEE | OWWA Membership Fee | Yes | |
PHILHEALTH_FEE | PhilHealth Contribution | Yes |
The four marked statutory are government-mandated contributions rather than agency charges. The distinction matters when an applicant asks what they are paying for.
Employer-billable items#
Six seeded items are billed to the principal, and all of them are seeded in USD. Each is workerChargeAllowed: false — these are the principal’s costs, and shifting them onto the worker is exactly the practice the flag exists to prevent.
| Code | Name |
|---|---|
SERVICE_FEE | Manpower Service Fee |
RECRUITMENT_FEE | Recruitment Fee |
DOC_PROCESSING | Documentation Processing |
VISA_COST | Visa Cost |
AIRFARE | Airfare |
MOBILIZATION | Mobilization Cost |
Charges#
A Charge is a fee item posted against an application, with an amount, a chargeableTo side and a status. Charges are what a balance is computed from.
ChargeStatus | Meaning |
|---|---|
UNPAID | Posted, nothing received. |
PARTIAL | Some payment received, a balance remains. |
PAID | Settled. |
WAIVED | Written off. Excluded from the billed total, so waiving a charge genuinely clears it from the balance rather than hiding it. |
Posting a charge writes charge.posted to the audit trail.
Payments and receipts#
A Payment records an amount, a method and a receiptNo. The receipt number is the field that matters: a worker-collectible cost is only defensible if it is receipted.
PaymentMethod | Notes |
|---|---|
CASH | Over the counter. |
BANK | Deposit or transfer. |
GCASH | The common mobile wallet in the Philippines. |
CHECK | |
OTHER |
Payments write payment.recorded. Employer billing is separate: an Invoice with InvoiceLine rows and a status of DRAFT, SENT, PARTIAL, PAID or VOID, and issuing one writes invoice.issued.
Financial clearance gates deployment#
This is where finance meets the pipeline. The PAYMENT_CLEARED requirement type is satisfied on the worker side only when both conditions hold:
- The balance is settled — billed charges minus payments is effectively zero, with waived charges excluded from the billed total.
- Accounts has signed off, recorded as
financialClearedAtwith the signing user.
Those produce two distinct refusals, which is the point: “Outstanding worker balance of 4500.00” is a collections problem, while “Balance is settled but Accounts has not signed the financial clearance” is a sign-off problem. Different people, different actions.
The employer side is simpler — it counts charges still UNPAID or PARTIAL and reports how many are unsettled.
In the seeded stage tree, PAYMENT_CLEARED:WORKER is an entry requirement on Ticket Received Date. A worker with an outstanding balance cannot be ticketed. Signing the clearance writes application.financial_cleared. See Stage gates.
Who can touch money#
The accounts module is writable only by the ACCOUNTS role, the Owner and the System Administrator. Every other staff role can read it — a Recruitment Officer can see that a worker has a balance without being able to post a charge or record a payment.
billing, meaning your own HRTEQ subscription, is narrower still: only the Owner. See Roles and permissions.
Practical guidance#
- Post charges as costs are incurred rather than as a lump sum at the end. The balance is only useful if it is current.
- Record the receipt number on every worker payment, every time. It is the only evidence that a collection was documented.
- Complete the
REQUIREMENTS_BRIEFEDchecklist item honestly — it records that the applicant was told which costs are collectible, and it is what protects the agency in a complaint. - Use
WAIVEDrather than deleting a charge. A waiver is a decision with a trail; a deletion is a hole. - Do not use
PLACEMENT_FEEwithout written confirmation from your compliance officer for that specific destination and skill category.
