Tax · Internal Revenue Service

Fill IRS Form 1040 programmatically from computed return data.

Your tax engine already computes the numbers. SimplyFill maps them onto the official Form 1040 — every line, every checkbox — and returns a flattened, file-ready PDF in a single API call.

What is Form 1040?

Form 1040, U.S. Individual Income Tax Return, is the primary federal form individuals use to report income, claim deductions and credits, and calculate tax owed or refund due for the year.

Who files it?

Most U.S. taxpayers file a 1040 annually. Tax-prep software, CPA platforms, and fintech apps that compute returns need to render the result onto the official PDF for review, e-file packaging, or mailing.

Why filling Form 1040 by hand hurts

The 1040 is the canonical example of cryptic IRS field names: line 1a lives at `topmostSubform[0].Page1[0].f1_32[0]`, and the form spans multiple pages of `f1_NN`/`f2_NN` fields with dependent checkboxes and per-digit dollar splits. Reverse-engineering that mapping by hand is brutal and breaks every tax year.

Fill Form 1040 in one call

Render a 1040 from your computed return values

fill-1040.ts
Node.js
const res = await fetch('https://api.simplyfill.app/v1/generate', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.SIMPLYFILL_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    template: '1040_2025',
    data: {
      taxpayer_first_name: 'Ada',
      taxpayer_ssn: '123-45-6789',
      filing_status: 'single',
      wages_1a: 142000,
      adjusted_gross_income: 138500,
      amount_you_owe: 0,
    },
  }),
})

const { url } = await res.json()

Fields on Form 1040

Real form fields are named for the PDF spec, not for humans — so a single value can hide behind something like topmostSubform[0].Page1[0].f1_02[0]. SimplyFill lets you map your own readable keys to these once, then forget they exist.

Raw PDF field nameWhat it means
topmostSubform[0].Page1[0].f1_04[0]Taxpayer first name and middle initial
topmostSubform[0].Page1[0].f1_06[0]Taxpayer SSN
topmostSubform[0].Page1[0].FilingStatus[0].c1_3[0]Filing status (radio group)
topmostSubform[0].Page1[0].f1_32[0]Line 1a — wages from Form W-2
topmostSubform[0].Page1[0].f1_53[0]Line 11 — adjusted gross income
topmostSubform[0].Page2[0].f2_24[0]Line 37 — amount you owe

Frequently asked questions

Does SimplyFill calculate the return?

No — SimplyFill is the rendering layer, not a tax engine. You compute the numbers (or use your existing software) and SimplyFill places them on the official 1040 PDF, correctly mapped and flattened.

Can I attach schedules like Schedule C or Schedule 1?

Yes. Generate each schedule from its own template and combine them with the 1040 into a single envelope using the bulk endpoint, so the full return packet comes back as one download.

How are dollar amounts placed into the per-digit boxes?

You send a normal number (e.g. `142000`). SimplyFill formats it to the form’s convention and writes it into the correct field — you never deal with per-character cells.

What happens when the IRS releases the next tax-year 1040?

Each tax year is a separate template version (e.g. `1040_2025`). You pin the version you tested and migrate to the new year on your own schedule.

Stop hand-filling Form 1040.

Start with a 14-day free trial. Define the template once, then fill Form 1040 from your data with a single API call.