TAX INVOICE
| Date | Item | Description | Rate | Qty | GST | Line Total | |
|---|---|---|---|---|---|---|---|
| 02 Mar 2026 |
Site survey and scope
Hourly
|
Fixed price. Two visits to the Marlow Street depot, scoping the ledger cutover. | – | – | 10% | $1,850.00 | |
| 06 Mar 2026 |
Ledger integration build
Hourly
|
Billed at the agreed rate against the attached timesheet. | $165.00 | 24 | 10% | $3,960.00 | |
| 17 Mar 2026 |
Reconciliation review
Hourly
|
Matching recorded payments against issued invoices for the quarter. | $165.00 | 9 | 10% | $1,485.00 | |
| 20 Mar 2026 |
Statement template revision
Hourly
|
Fixed price. Second revision, agreed in writing before the work started. | – | – | 10% | $1,005.00 | |
| 06 Mar 2026 |
Travel to depot, return
Hourly
Unbillable
|
On the timesheet for the record. Carried at zero so it never reaches the total. | $0.00 | 3 | 10% | $0.00 |
Payment Details
This invoice is built from its lines. Saving it sums every line total, sums the per-line GST at
each line's own rate, and rounds both once. The unbillable travel line sits at
0.00, which is how it stays on the timesheet without reaching the money.
An invoice can instead be billed as a single hourly engagement, where the amount is
hourly_rate × hourly_quantity. Over the API that mode is not read from the
stored record. The recalculation is guarded on is_hourly arriving in
the request body, so a PATCH sending a new hourly_quantity on its own leaves
amount, GST and total exactly where they were. The caller has to name the billing mode before
anything moves the money.
Brontiq Books is a real, shipped product. This screen is drawn from it, and every client, contact, email, ABN, bank detail, invoice number, date and figure on it is invented. Invoice BB-2026-0197 carries this same $9,130.00 on the ledger and statement screens.