View all documentations

Charges

A charge deducts a specific dollar amount from your monthly payout for an offline problem caused by your negligence — for example, a server you were asked to deprecate but was still billed to Holdex. Approved charges appear as a negative line item on your invoice.

[!NOTE] Charges apply to retainer contractors only. Retainers are independent contractors governed by the Standard Terms, which let Holdex recover negligence costs up to the fees paid. Employees are covered instead by the Hong Kong Employment Ordinance (Cap. 57), which sharply restricts wage deductions: a deduction for damage or loss caused by an employee's neglect or default is capped at the value of the loss and may not exceed HK$300 per occasion, total deductions in a wage period may not exceed half of wages, and an illegal deduction is a criminal offence (up to 12 months imprisonment and a HK$100,000 fine). Recovering a real cost such as an unnoticed server bill from an employee therefore cannot run through an automatic payroll deduction; it needs a separate legal route (written agreement or civil claim) and is out of scope here. Employee billing is tracked under https://github.com/holdex/wizard/issues/1528.

How a charge is added

  1. HR opens a PR on your HR repo adding an entry to charges.yaml.
  2. Merging the PR is the approval. This mirrors the expenses flow, except a charge is HR-initiated rather than self-declared by you.
  3. Each charge bills in the month matching its date field, regardless of when the PR was merged.

Format

charges:
  - date: 2026-05-20
    description: Undeprecated AWS server billed to Holdex
    amount: 42.00
    reference: https://github.com/holdex/wizard/issues/1321
Field Required Description
date yes YYYY-MM-DD, determines the billing month
description yes Free-text line item description
amount yes Positive USD figure, applied as a deduction
reference no Link to the offline problem or issue documenting it

amount is stored positive and rendered negative on the invoice, matching how expenses store a positive amount.

Invoice and payout

Charges are deducted after Quality Adjustment, Dispute Resolution Credit, and Expenses. Payout never goes below $0 — if a charge exceeds what you are owed this month, the rest carries forward until recovered.

Invoice

  • Page 1 — one aggregated Charges line (e.g. Charges (1 item + $8.00 fwd) when recovering a prior balance)
  • Page 2 — per-charge detail (date, description, reference, amount) plus carry-forward rows

Salary issue — the monthly billing summary shows a Charges row and, when applicable, a Charges carry-forward row for the unrecovered portion.

See Invoice Submission for examples.

Charges are distinct from the other adjustments:

Aspect Quality Adjustment Expenses Charge
Author bot (bug blame) contributor HR
Unit hours × rate dollars dollars
Sign negative positive negative
PR anchor yes no no

A charge is dollar-native (no hours-to-rate conversion) and needs no PR to attach to. It rides the same payout path as expenses rather than the bug pipeline.