Methodology & numbering
How Contractor Invoice Maker calculates totals and numbers documents.
Contractor Invoice Maker applies the same money math in the live builder and in every PDF download. Invoices default to US-style PDFs; you can switch to UK or Australia tax invoice layout in PDF style on the invoice form (VAT/GST registration field and header). Sales tax rates are always user-entered because rules vary by jurisdiction and whether labor is taxable. We document numbering and rounding here so you can align with your accountant — not replace professional tax advice.
Last updated: June 30, 2026
Line items and subtotal
Each line amount is quantity × unit rate, rounded to two decimal places (half-up). Subtotal is the sum of line amounts before discounts and tax.
Formulas
- line_amount = round_half_up(qty × unit_rate, 2)
- subtotal = sum(line_amount)
Constants
- Money precision: 2 decimal places (USD)Source: Standard currency formatting (Intl.NumberFormat)
- Empty line lists are blocked before PDF download.
- Negative quantities are rejected at validation.
Discount, tax, and total
Discount may be a flat amount or percentage of subtotal. Tax applies to taxable amount after discount (configurable order). Deposit reduces balance due, not the pre-deposit total on invoices.
Formulas
- discount = percent ? round(subtotal × pct) : flat_amount
- taxable = subtotal − discount (when discount before tax)
- tax = round(taxable × tax_rate, 2)
- total = taxable + tax
- balance_due = total − deposit_paid
Constants
- Default tax rate: 0% (user enters local rate)Source: PLAN §1.2 — never hardcode jurisdiction rates
- Sales tax reference: Varies by jurisdictionSource: Local tax authority — rates and taxability differ by region
- Many B2B labor-only services are non-taxable in some jurisdictions — your accountant determines taxability.
- Receipt PDFs emphasize amount paid; balance due is zero when marked paid in full.
Document numbering
Invoice, estimate, and receipt numbers use separate counters stored in your browser. Prefixes default to INV-, EST-, and RCP- with a year and sequence (e.g. INV-2026-001).
Formulas
- document_number = PREFIX + '-' + YEAR + '-' + zero_padded_sequence
Constants
- Invoice prefix: INVSource: apps/contractor-invoice/PLAN.md §8
- Estimate prefix: ESTSource: apps/contractor-invoice/PLAN.md §8
- Receipt prefix: RCPSource: apps/contractor-invoice/PLAN.md §8
- Counters increment locally — clearing browser data resets sequences unless you export records elsewhere.
- Do not silently skip numbers on billed work; gaps raise questions during audits.
- You may override the auto-generated number to match your existing system.
This tool generates documents for your convenience. It is not legal, accounting, or tax advice. Verify sales tax rates, licensing requirements, and contract terms with qualified professionals in your jurisdiction.