River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

R&D Tax Credit Documentation Template

Two documents and three sheets that log each project's technical uncertainty as the tickets close, not from memory after the year ends.

Free download  ·  No account needed

Project Register

Thurnwood Robotics — 2026 claim

Six candidate components ranked by QRE. Three cross the eighty percent line and carry Section G's full column breakdown.

ComponentQRECum. %Section G
Vision Module980,00041.61%Detail
Routing Engine650,00069.21%Detail
Force Calibration390,00085.77%Detail
Battery Thermal Firmware240,00095.97%Aggregate
Warehouse Slotting95,000100.00%Aggregate
Customer Portal Chat Widgetexcludedn/aNot a QRE
TOTAL2,355,0003 of 5 detailed

The first three alone reach 85.77 percent of the total, past the eighty percent line Section G requires. The chat widget never entered the count at all.

Form 6765's Section G becomes mandatory after 2025 for most filers. It asks for eighty percent of the research credit, by business component, broken into wages by role, supplies and contract research, for up to fifty components. The IRS's own audit guide applies the four-part test separately to each one. The hardest part to reconstruct later is technical uncertainty. A ticket closed in October rarely records which alternatives got tried and rejected before the team landed on the one that shipped.

Thurnwood Robotics, a warehouse robotics company, claimed five qualifying components. A vision module cost 980,000 dollars, a routing engine 650,000, a force calibration system 390,000, battery thermal firmware 240,000, and a warehouse slotting algorithm 95,000: 2,355,000 total. The first three alone reach 85.77 percent, so they carry the full column breakdown on Section G and the rest fold into one aggregate row. A sixth candidate, a 45,000 dollar chat widget, never enters that total: the qualification memo excluded it before the count began.

Those three carry twenty moments where more than one approach got tried, logged as each ticket closes, not at tax time. Thirteen of the twenty were logged the same quarter; the other seven predate the pack's first capture. Memory and ticket threads recover four; the remaining three are a guess, the gap that sank the claim in Siemer Milling. That narrative field skips a timely original return under the form's instructions, but reappears the moment a later claim adds to one.

Three sheets, filled in for one claim

The Project Register, the Wage Allocation, and the Contemporaneous Activity Log.

Project Register

Thurnwood Robotics, 2026. Every candidate component, ranked by QRE, with the verdict that put six candidates at five.

ComponentVerdictQRECum. %Section G
Vision ModulePass980,00041.61%Detail
Routing EnginePass650,00069.21%Detail
Force CalibrationPass390,00085.77%Detail
Battery Thermal FirmwarePass240,00095.97%Aggregate
Warehouse SlottingPass95,000100.00%Aggregate
Customer Portal Chat WidgetFailn/aNot a QRE
TOTAL2,355,0003 of 5 detailed

Ranked by QRE only after the four-part test runs. The chat widget fails process of experimentation and is excluded before the count, not netted out after.

Wage Allocation

Payroll split by component and role, tied to Section G's own wage columns rather than one lump payroll figure.

ComponentResearchSuperv.SupportWagesSuppliesTotal
Vision Module610,00098,00052,000760,000220,000980,000
Routing Engine480,000110,00060,000650,0000650,000
Force Calibration250,00046,00024,000320,00070,000390,000
Aggregate row235,00045,00020,000300,00035,000335,000
TOTAL1,575,000299,000156,0002,030,000325,0002,355,000

Routing Engine carries zero supplies. An internal-use process with no materials consumed, its whole QRE is wages.

Contemporaneous Activity Log

A sample of the twenty tested-alternative entries behind the three detailed components, each dated and tagged by how it was captured.

TicketComponentWhat Was UncertainStatus
VIS-1102Vision ModuleLens curvature: model A vs fixed geometryRecovered
VIS-1115Vision ModuleCalibration target: checkerboard vs dot gridGuess
VIS-1140Vision ModuleExposure: adaptive vs fixed under warehouse lightContemporaneous
ROUT-0087Routing EngineCongestion heuristic A vs B at multi-dock sitesContemporaneous
FORCE-0033Force CalibrationClosed-loop vs open-loop calibrationRecovered
FORCE-0052Force CalibrationGain scheduling vs fixed-gain controlGuess

Thirteen of twenty entries were logged the same quarter. Of the other seven, four are recovered from ticket threads and three are a guess.

What's in the pack

01

Project Register sheet

Every business component this year, its type under Section G, its four-part-test verdict, its QRE dollar amount, and the cumulative percent that decides whether it gets full detail or folds into the aggregate row.

02

Wage Allocation sheet

Payroll split by employee, component and role into research, supervision and support hours, tying straight to Section G's own wage columns rather than one lump payroll number per project.

03

Contemporaneous Activity Log sheet

The dated, ticket-linked record of what was uncertain and which alternatives got tried, tagged by the quarter it was captured in rather than the quarter the return is due.

04

Qualification Memo

The four-part test applied component by component, including the specific reason anything considered and excluded, like a routine chat widget configuration, never became a QRE. This same memo is what lands in the CPA year-end package. The credit itself becomes its own line on a rate reconciliation, a dollar amount rather than a rate adjustment.

05

Project Narratives

The account of each detailed component's uncertainty, built from the log's dated entries rather than reconstructed from an engineering lead's memory in February.

06

Quarterly capture prompt

A recurring prompt that pulls newly closed tickets into the log every quarter, so the year's narrative is already written before the return is ever due.

07

80%/Top-50 line

Components ranked by QRE, descending, with the running percentage that flags exactly which ones need the full column breakdown and which fold into one aggregate line. A firm tracking this deadline across several clients keeps it on the client filing calendar.

08

Coverage flag

Every logged entry marked contemporaneous or reconstructed, and every reconstructed one marked recovered or guess, so the memo can say plainly which components are its weakest evidence.

How it works

  1. 1

    Open in River, or download it

    Open the pack in River and let the agent read your ticket export and payroll allocation, or download the blank Word and CSV files with no account.

  2. 2

    Send the tickets and the payroll split

    A ticket export from whatever your team already uses, plus a payroll report split by employee and project. Prior-year data seeds the register if this is a repeat claim.

  3. 3

    Run the four-part test per component

    Each business component gets its own verdict against the four tests, so anything that fails process of experimentation gets excluded before it inflates the QRE total.

  4. 4

    Capture the quarter, every quarter

    The prompt runs again next quarter and the one after, so most of the year's narrative is already written by the time the return is actually due. If a notice arrives anyway, respond to it with the same dated record instead of a memory reconstructed under deadline.

Frequently asked questions

Is this template free?

Yes, all of it: two Word documents and three CSV sheets, no signup and no card. Edit with AI is a separate, optional path for teams that would rather hand over tickets and payroll data than fill sheets by hand. Every other pack River publishes sits in the template library.

Why does Section G matter if it is optional right now?

Because the exemption is narrow and the mandatory year is close. Section G is required for tax years beginning after 2025 unless the controlled group's total QREs are 1.5 million dollars or less and average gross receipts stay under 50 million for the prior three years. Thurnwood, at 2,355,000, is already over that ceiling on its own.

What if we only start logging partway through the year?

Whatever already closed before the pack ran stays reconstructed, the way Force Calibration's four tickets did here. Every quarter afterward gets logged as it happens, so a mid-year start still catches most components, since few run entirely inside one quarter, and next year's log has no gap at all.

Does the activity log replace the qualification memo?

No, it feeds it. The log is the raw, dated record of what was uncertain and what got tried, ticket by ticket. The memo is the analysis: which of the four tests each component passes, and why the customer portal chat widget failed the process-of-experimentation test and never became a QRE.

What changes if we amend the return later?

Column 49(f), the narrative describing what the research sought to discover, is skipped on a timely original return under the form's own instructions. It becomes required for every reported component the moment an amended claim adds to or increases the credit, and a log with dates is what makes that narrative honest rather than invented.

What format are the downloaded files?

Two .docx documents, the qualification memo and the project narratives, plus three .csv sheets: the project register, the wage allocation and the contemporaneous activity log, zipped into one file. They open natively in Word, Pages, Google Docs, Excel, Numbers and Sheets, with nothing to convert.

What does Edit with AI actually do?

It creates a free River account with this exact pack installed privately, ready to read whatever you send: an engineering ticket export, a payroll allocation report, or last year's register as a starting point. Nothing gets written until you send something, and the quarterly prompt keeps running after that.

Find out which component in your claim has the weakest evidence

Download the blank pack as Word and CSV files, or open it in River and have it build your own Project Register and Activity Log from this year's tickets.

Edit with AI