React Developer Invoice Template
This is an invoice for developers who build with React and bill clients for it, not a React component for drawing invoices in an app. A React invoice is checked by two people: an engineering lead who wants to match each line to tickets and pull requests, and an accounts-payable team that wants a purchase order number, a W-9 on file and a total that matches the contract. The template gives you the fields both look for: the repository or project and the sprint or billing period, a ticket reference on each line, hours split between component work, state management, API integration and tests, and code review, separately priced change orders and framework upgrades, reimbursed licences at cost, and a note on when copyright in the code passes to the client. The download is an editable HTML invoice with invoice number, dates, a line-item table and totals. Fill it in your browser, then print it or save it as PDF, or type or say the sprint summary to InvoiceQuickly and review the drafted invoice before you save it.
Preview this editable document
Download the HTML file to edit its fields, then print or save as PDF. Totals are entered manually.
What This Template Includes
- Project or repository name
- Sprint or billing period dates
- Ticket or pull request references per line
- Component and feature development hours
- State management work (for example Redux or Context)
- API integration and automated test hours
- Code review, pairing and meetings
- Framework upgrades or migrations, priced separately
- Change order number and approval date (fixed-price work)
- Licences or services paid for the client, at cost
- Client purchase order number
- IP transfer and open-source licence note
How to Create Your React Developer Invoice
- 01
Describe your work
Type a plain English description of the services you provided, the client, and the amount.
- 02
AI generates your invoice
InvoiceQuickly's AI drafts the client, line items, dates, and totals for you to review before saving.
- 03
Review, download, and send
Check every detail, download the PDF, or use Pro to email the PDF directly to your client.
Recommended Payment Terms
Time-and-materials React work is usually invoiced every two weeks or monthly, at the end of a sprint, with net 14 or net 30 terms; short cycles keep the amount you are owed small if a client slows down. Fixed-price builds are billed by milestones the client can test, such as an approved prototype, a feature-complete staging build and production release, with each invoice due in 7 to 14 days. Corporate clients that pay net 30 after approving an invoice against a purchase order need the PO number on every invoice, and often a supplier form and W-9 before the first payment. State in the contract when copyright in the code passes to the client, typically on payment in full, and repeat it in the final invoice notes.
Need help writing payment terms? Read our guide to invoice payment terms for best practices and templates.
Tax Information
US business clients usually ask for Form W-9 before paying a contractor. For payments made in 2026, a client files Form 1099-NEC for a non-employee it pays $2,000 or more in the year (the threshold was $600 before 2026); payments by card or through a third-party payment network are reported on Form 1099-K instead (IRS Instructions for Forms 1099-MISC and 1099-NEC). Sales tax on custom software development, and on software delivered electronically, varies by state, and states often treat custom and off-the-shelf software differently, so check your state's guidance before adding tax. If you invoice clients abroad, state the currency and check whether your country's VAT or GST rules apply to digital services sold across borders. InvoiceQuickly applies one tax percentage per invoice and copies saved tax IDs to new invoice PDFs; check the saved IDs and PDF before sending when a client needs it. This is general information, not tax advice.
Industry context (2026)
React itself is open-source software released under the MIT licence, with copyright held by Meta Platforms, Inc. and affiliates, so a client never buys React from you: it buys the code you write on top of it. That is why the IP note matters. Under US copyright law, code you write as an independent contractor belongs to you unless it is a work made for hire or you assign it, and a transfer of copyright is valid only in a signed writing (17 U.S.C. sections 101 and 204), so contracts usually assign the code on final payment. Upgrade work is also a recurring cost of React projects: React 19 became stable on 5 December 2024, and the React team's upgrade guide lists breaking changes to work through, which is why upgrades are best quoted and invoiced as separate scope. For pay context, the US Bureau of Labor Statistics put the median annual wage for software developers at $135,980 in May 2025, and its wage data excludes self-employed workers, so a freelance rate has to sit well above the salary equivalent to cover taxes, equipment and unbilled time.
Worked example
Worked example (illustrative rate, not market data): a freelance React developer bills a health-tech client every two weeks at $110 an hour, net 15, against purchase order 7720. Invoice INV-0031 covers sprint 14, 6 to 17 October 2026. Line 1: booking calendar and filter components, PRs #402 to #415, 22.5 h × $110 = $2,475.00. Line 2: state management refactor of the checkout flow, ticket LH-188, 8 h × $110 = $880.00. Line 3: API integration for appointment status with automated tests, tickets LH-190 and LH-191, 10 h × $110 = $1,100.00. Line 4: code review and pairing with the in-house team, 3 h × $110 = $330.00. Line 5: change order CO-03, approved 2 October, React 18 to 19 upgrade including dependency updates and test fixes, fixed fee $1,200.00. Subtotal $5,985.00; tax 0% after the developer checked that their state does not tax this service (yours may); total due $5,985.00 on 3 November. Notes: 'PO 7720. Ticket and PR list attached. Copyright in the deliverables transfers on payment in full under clause 9; open-source packages, including React (MIT licence), remain under their own licences.' Because this one invoice is over $2,000, the developer sends a completed W-9 with it. Splitting the upgrade into its own priced line means the client sees $4,785.00 of feature work and $1,200.00 of maintenance rather than one total that looks 25% over the usual sprint.
Common mistakes to avoid
Hours with no ticket references
'Development, 43.5 hours' forces the engineering lead to reconstruct your fortnight before approving it. Group hours by ticket, PR or feature and the invoice approves itself.
Upgrades hidden in feature hours
Dependency and framework upgrades inflate a sprint that should have delivered features. Price them as separate lines or change orders so the client can see what maintenance costs.
Starting change requests without approval
On fixed-price work, an unapproved extra is a discount you gave away. Number the change, get written approval with a price or estimate, then bill it on the next invoice.
No IP or licence note
Without a written assignment the client may not own the code it paid for, and without a licence note it may assume it owns your reusable libraries. State both in the contract and on the final invoice.
Missing PO number or W-9
Invoices without the purchase order number, or sent before your W-9 is on file, can sit in an accounts-payable queue past their due date. Ask for the PO and send the W-9 with the first invoice.
Invoicing Tips
- 1Reference tickets or pull requests on each line ('PR #412: booking calendar filters, 6.5 h'). An engineering lead can approve the invoice in minutes instead of asking what the hours were for.
- 2Separate building features from maintaining the codebase. Dependency updates, a React major-version upgrade or a build-tool migration are real work, but they are not the feature the client thinks they are paying for, so price them on their own lines.
- 3Bill code review, pairing and meetings as their own line, or state in the contract that they are included in your rate. Clients query them most when they appear inside feature hours.
- 4Pass through third-party costs at cost with the receipt, and say whose account they are in. Component library licences, hosting and testing services belong in the client's name.
- 5On fixed-price work, give every change request a number and an approval date before you start it, and bill it as a separate line so the original price stays visible.
- 6Put the IP clause on the final invoice: 'On payment in full, copyright in the deliverables transfers to the client under clause 9; open-source packages remain under their own licences.'
Related Resources
- All invoice templates
- How to invoice as a web developer: staged builds, launch payments, hosting and care plans
- How to invoice as an app developer: testable milestones and code ownership
- How to prevent scope creep: change orders before the work starts
- Invoicing for freelancers: W-9, 1099-NEC and a worked freelance invoice
- Pricing freelance services
Frequently Asked Questions
Is this a React component for building invoices?
No. This is an invoice template for freelance and contract React developers to bill their clients. If you need to render invoices inside a React app, that is a UI component or PDF library question, and you should check the licence of any open-source invoice component before using it in a client project.
What should a React developer invoice include?
Your details and the client's, an invoice number and dates, the project and billing period, one line per task or ticket group with hours times rate (or the milestone and its percentage on fixed-price work), change orders with their numbers, reimbursed costs at cost, the PO number if the client uses one, the total, due date and payment instructions, and on the final invoice the IP transfer note.
Should I bill React work hourly or by milestone?
Hourly or per sprint suits ongoing product work where the backlog changes, because the client can reprioritise without renegotiating. Milestones suit a defined build with a spec, and should be tied to something the client can test, such as a staging build with the agreed features, not a percentage of code written.
How do I invoice a React version upgrade?
As its own line or change order, with the versions and scope ('React 18 to 19 upgrade: dependency updates, removal of deprecated APIs, test fixes, 14 h'). The React team publishes an upgrade guide listing breaking changes for each major release, so you can estimate the work before quoting it.
Do I need to send a W-9 with my invoice?
US clients usually ask for one before paying a new contractor, because it gives them your taxpayer identification number for Form 1099-NEC. For payments made in 2026 the 1099-NEC filing threshold is $2,000 a year, so a single sprint invoice can cross it. Sending a completed W-9 with your first invoice avoids a payment held for missing paperwork.
Can I create a React developer invoice in InvoiceQuickly?
Yes. Type or say the sprint summary, for example 'Lumen Health, sprint 14, 22.5 hours components, 8 hours state refactor, 10 hours API and tests at $110, plus CO-03 React 19 upgrade $1,200, net 15', and InvoiceQuickly drafts an editable invoice you review before saving. It does not connect to GitHub or Jira. Hours come from the Pro timer, your own tracker, or on Business an import of selected Clockify, Toggl Track, Harvest or ClickUp entries. Free includes 5 invoices; Pro is $9 a month for unlimited invoices and email delivery.