Invoices: bill payors and track who paid
Build invoices with line items, preview the PDF, send to any payor, and mark them paid — all from Profile → Tax & Finance → Invoices.
Profile → Tax & Finance → Invoices is a lightweight billing tool for anyone working matches: line items, a Mercury-style invoice PDF, a single-click send-to-payor, and a manual mark-paid toggle. Assignors who also officiate use the same workflow.
Building an invoice
Click "New invoice" to open the builder. Bluebridge auto-fills your sender block from your profile (name + address + phone) and picks the next sequential invoice number — INV-2026-0001, INV-2026-0002, and so on, scoped to your user account. The builder asks for:
- Payor email (required) + optional payor name and billing address
- Issue date (defaults to today), optional due date, and a terms label (Due on receipt / Net 15 / Net 30 / Net 45 / Net 60)
- Line items — description + quantity + rate. The line total computes live as you type, the running subtotal sits below. Half-day rates work (0.5 × $250 = $125). Per-line rate is capped at $999,999.99 to keep accidental extra-zero typos from producing billion-dollar invoices.
- Optional flat tax amount (no tax tables in v1)
- Optional notes — render below the totals on the PDF
Saving creates a draft. Drafts can be edited freely; sent / paid / void invoices are immutable so the history stays honest — use "Void & duplicate" instead.
"Pre-fill from event you worked"
On a brand-new draft (not when editing an existing one), the builder shows a "Pre-fill from event you worked" dropdown at the top of the form. It lists every event you have accepted assignments on, newest first. Pick one and Bluebridge:
- Drops the event's assignor in as your payor (name + email).
- Replaces the line items with one row per accepted date. The description is auto-composed — "<event name> — <date>" for tournaments, "<matchup> — <date>" for college matches.
- Leaves the rate field blank on each line so you fill it in. The event's pay policy is free-text on Bluebridge's side, so we don't guess a dollar amount — instead we drop the policy text into the notes field as a starting reference (only when your notes are still empty — we never clobber what you typed).
The dropdown is hidden if you have no accepted assignments yet. It's also skipped on the edit path — once an invoice exists, picking an event would overwrite the shape you already chose, so we leave that surface off.
Preview
The row's 3-dot menu has "Preview PDF" — opens the generated invoice in a new tab. Layout follows a standard receipt-style invoice: big INVOICE wordmark in the header with Invoice # / Date / Due Date stacked top-right, FROM and BILL TO blocks on the left, bordered line-items table with a dark navy header band, right-aligned Subtotal + Total Due cluster, a compact PAY VIA block listing your payment methods (one line per kind), and a footer with "Generated by Bluebridge" + the site URL on every page.
Sending to the payor
Hit Send from the 3-dot menu. A small modal appears: confirm the recipient email (defaults to the payor email on the invoice — change it if it needs to go somewhere else), drop an optional cover note, and tick the "I confirm I want to email this invoice" checkbox. Bluebridge generates the PDF on the fly and emails it to the payor as an attachment; the status pill flips Draft → Sent and `sent_at` stamps. Resending a sent invoice fires a new email but keeps the original send timestamp; we also track `last_sent_at` so the audit trail is full.
Tracking who paid
- When the payor cuts you a check, hit "Mark paid" from the row’s menu. The modal captures the method (ACH / Check / Zelle / Venmo / whatever), an optional reference (check #, txn id), and an optional notes field. Status flips Sent → Paid and `paid_at` stamps.
- "Mark unpaid" reverses the flip if you marked it by mistake (status returns to Sent). The captured method / reference / notes are cleared.
- "Void" cancels a sent invoice without deleting the row — it stays in your history for the audit trail but is excluded from the Outstanding and Paid totals at the top of the section.
- Drafts can be deleted outright (permanently). Anything sent or paid must be voided, not deleted, so your numbering stays consistent.
The Outstanding / Paid tiles
At the top of the Invoices card you see two tiles: Outstanding (total of all Draft + Sent invoices) and Paid (total of all Paid invoices). Void rows don’t count toward either. The status chip row below lets you filter the list to All / Draft / Sent / Paid / Void, and we paginate at 10 rows per page for long histories.
Numbering
Invoice numbers are per-user sequential, prefixed by the issue year: INV-2026-0001 for your first invoice this year. Deleting a draft does not reuse its number — sequences only go forward, which keeps your numbering legitimate for tax purposes.