GitPay

How to invoice GitHub work

Step-by-step: align billing with merged PRs so invoices reflect what actually shipped.

The core problem

Billing breaks when your record of work (GitHub) and your invoice (somewhere else) diverge. The fix is simple in principle: derive invoice lines from merged PRs, agree rates or amounts, send a payment link, track status.

Step-by-step

  1. Define the billing window. Choose the merged PRs that belong to this invoice — usually by date range or milestone.
  2. Attach amounts. Flat per PR, grouped milestone, or hourly totals you convert to fixed lines — keep rules consistent so estimates stay predictable.
  3. Generate the invoice. Prefer tools that pull PR titles and links automatically so you aren't copy-pasting from GitHub.
  4. Send a payment link. Stripe-backed links keep card handling off your plate and give clients a single place to pay.
  5. Track payment. Replace spreadsheet reminders with explicit states: sent, paid, overdue.

Example

Instead of a single vague line ("Development — $500"), list merged PRs your client can recognize — for instance PR #142 (payment integration), PR #145 (webhook fixes), PR #148 (auth refactor) — each with its amount and a total at the bottom.

Tool direction

GitPay is built around this exact sequence: connect GitHub, pick merged PRs, generate line items, send a Stripe payment link, track invoice status. If you already live in GitHub for delivery, keeping billing there avoids duplicate bookkeeping.

Why use GitPay instead of your current invoicing tool?

Traditional invoicing assumes you'll type what you did. GitPay assumes your merged PRs are the receipts — less narration, fewer mismatches between what shipped and what got billed.

Get started

Secure GitHub OAuth · Read-only access · No code access

See sample invoice

30 days free · No credit card required · Card, PayPal, or bank transfer

GitPay — How to invoice GitHub work