Skip to content
HRTEQDocs
Documentation API

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 fees are prohibited for most land-based workers. The seeded 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.

Chargeable to `WORKER`, `workerChargeAllowed: true`.
CodeNameStatutoryNote
MEDICAL_FEEMedical Examination FeeNoActual cost at a DOH-accredited clinic. Must be supported by an official receipt.
PASSPORT_FEEPassport Application FeeNoPass-through DFA cost.
NBI_FEENBI Clearance FeeNo
PSA_FEEPSA Document FeeNo
AUTH_FEEDocument Authentication FeeNo
TRAINING_FEETraining / Assessment FeeNo
PDOS_FEEPDOS FeeYes
OEC_FEEOEC Processing FeeYes
OWWA_FEEOWWA Membership FeeYes
PHILHEALTH_FEEPhilHealth ContributionYes

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.

Chargeable to `EMPLOYER`, seeded in USD.
CodeName
SERVICE_FEEManpower Service Fee
RECRUITMENT_FEERecruitment Fee
DOC_PROCESSINGDocumentation Processing
VISA_COSTVisa Cost
AIRFAREAirfare
MOBILIZATIONMobilization 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.

ChargeStatusMeaning
UNPAIDPosted, nothing received.
PARTIALSome payment received, a balance remains.
PAIDSettled.
WAIVEDWritten 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.

PaymentMethodNotes
CASHOver the counter.
BANKDeposit or transfer.
GCASHThe 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:

  1. The balance is settled — billed charges minus payments is effectively zero, with waived charges excluded from the billed total.
  2. Accounts has signed off, recorded as financialClearedAt with 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.

One automation rule watches this. Entering Payment Status creates a high-priority Accounts task — “Reconcile worker charges and sign financial clearance”, due in five days — precisely so ticketing is not held up by a sign-off nobody remembered. See Automation rules.

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_BRIEFED checklist item honestly — it records that the applicant was told which costs are collectible, and it is what protects the agency in a complaint.
  • Use WAIVED rather than deleting a charge. A waiver is a decision with a trail; a deletion is a hole.
  • Do not use PLACEMENT_FEE without written confirmation from your compliance officer for that specific destination and skill category.
Was this page helpful?