{% extends "base.html" %} {% block title %}{{ year + 1 }} estimated tax{% endblock %} {% macro usd(v) -%}${{ '{:,}'.format(v) }}{%- endmacro %} {% macro due(d) -%}{{ d.strftime('%B') }} {{ d.day }}, {{ d.year }}{%- endmacro %} {% macro address(lines) -%}{% for ln in lines %}{{ ln }}{% if not loop.last %}
{% endif %}{% endfor %}{%- endmacro %} {% block content %} {% set ny = year + 1 %}

Tax return {{ year }} / How to file /

{{ ny }} estimated tax payments

How much to send the IRS and Connecticut each quarter of {{ ny }}, worked out from your {{ year }} return.

{% if vouchers and plans and ((plans.federal and plans.federal.total) or (plans.ct and plans.ct.total)) %} Download payment vouchers (PDF){% endif %} How to file
{% if plans is none %}
Bookkeeper doesn't have the {{ ny }} estimated tax rules yet.
{% else %} {% set fed, ct = plans.federal, plans.ct %} {% if ret.blocking %}
Fix the items marked ✕ on the overview first. This plan is worked out from your {{ year }} return, so it's only as right as the return.
{% endif %} {% if ret.preliminary %}
These are preliminary {{ year }} numbers.
{% endif %}
{% for p, label in [(fed, 'Federal'), (ct, 'Connecticut')] %}
{{ label }} {% if p is none %}—not worked out {% elif not p.needed %}$0No estimated payments needed {% elif not p.total %}$0to send — your {{ year }} overpayment covers it {% else %}{{ usd(p.each) }}each quarter{% if p.overpayment %} (less your {{ year }} overpayment){% endif %}{% endif %}
{% endfor %}
Federal: send in {{ ny }}
{{ usd(fed.total) }}
Connecticut: send in {{ ny }}
{{ usd(ct.total if ct else 0) }}

The plan

{% for p in [fed, ct] %}{% endfor %} {% for p in [fed, ct] %}{% endfor %} {% for p in [fed, ct] %}{% endfor %} {% for p in [fed, ct] %}{% endfor %} {% for p in [fed, ct] %}{% endfor %} {% for p in [fed, ct] %}{% endfor %}
Federal (Form 1040-ES)Connecticut (Form CT-1040ES)
Based on{% if p is none %}—{% elif p.basis == 'current' %}90% of the {{ ny }} tax you expect ({{ usd(p.expected_tax) }}){% else %}your {{ year }} tax ({{ usd(p.prior_tax) }}){% endif %}
Required annual payment
Withholding plus estimated payments must reach this to avoid a penalty
{{ usd(p.required) if p else '—' }}
Expected {{ ny }} withholding{% if p %}{{ usd(p.withholding) }}{% if not p.withholding_entered %}
same as {{ year }}
{% endif %}{% else %}—{% endif %}
Left to pay through estimated payments{% if p %}{{ usd(p.required - p.withholding if p.required > p.withholding else 0) }}{% else %}—{% endif %}
{{ year }} overpayment applied to {{ ny }}
Form 1040 line 36 · Form CT-1040 Line 23
{{ usd(p.overpayment) if p else '—' }}
Estimated payments needed?{% if p is none %}—{% elif p.needed %}Yes{% else %}No
{{ p.reason }}
{% endif %}

Payment schedule

{% for d in fed.due_dates %}{% set n = loop.index0 %} {% for p in [fed, ct] %} {% endfor %} {% endfor %}
PaymentDueFederalConnecticut
{{ n + 1 }} {{ due(d) }}{% if d < today_date %} date has passed{% endif %}{% if p and p.needed %}{% set i = p.installments[n] %}{{ usd(i.pay) }}{% if i.credit %}
{{ usd(i.amount) }} less {{ usd(i.credit) }} overpayment
{% endif %}{% else %}—{% endif %}
Total to send{{ usd(fed.total) }}{{ usd(ct.total if ct else 0) }}
{% if fed.due_dates[0] < today_date and (fed.total or (ct and ct.total)) %}

Some due dates have already passed. If you haven't made those payments, pay them now: the penalty (federal) and interest (Connecticut) are figured separately for each payment, only for the days it was late. If you've already made some {{ ny }} payments, send only what's left for each date.

{% endif %} {% for p in [fed, ct] if p %}{% for note in p.notes %}

{{ note }}

{% endfor %}{% endfor %}
{% for p, title, src in [(fed, 'How the federal amount was figured', '2026 Form 1040-ES, Estimated Tax Worksheet lines 11c–15'), (ct, 'How the Connecticut amount was figured', 'Form CT-1040ES, Estimated Connecticut Income Tax Worksheet lines 12–19')] if p %}
{{ title }} {{ src }}
{% for line, label, amount in p.steps %} {% endfor %}
{{ line }}{{ label }}{% if amount < 0 %}({{ '{:,}'.format(-amount) }}){% else %}{{ '{:,}'.format(amount) }}{% endif %}
{% endfor %}

Expecting {{ ny }} to be different?

Optional. Leave a box blank to use your {{ year }} figures. With nothing entered, the plan pays in at least your {{ year }} tax{% if fed.prior_rate > 1 %} ({{ (fed.prior_rate * 100)|round|int }}% of it federally, because your {{ year }} income was over the limit){% endif %} — the safe harbor: no underpayment penalty however much you make in {{ ny }}.

{% set e = data.estimates %}

Your {{ ny }} Form 1040 line 24 minus refundable credits. If 90% of it is less than the {{ year }} figure, the plan uses the smaller amount — but if your income ends up higher than you guessed, you may owe a penalty.

From paychecks, pensions, IRA withdrawals and Social Security. Enter 0 if nothing will be withheld.

{% if ct %}

Your {{ ny }} Form CT-1040 Line 14. 90% of it is used if that's less than your {{ year }} tax.

Enter 0 if nothing will be withheld.

{% endif %}

Paying the IRS

Online (no fee)

By check, with Form 1040-ES

  1. Print the vouchers PDF and cut out the voucher for that due date. Write your Social Security number{{ 's' if data.filing_status == 'mfj' }} in the box{{ 'es' if data.filing_status == 'mfj' }} — Bookkeeper leaves {{ 'them' if data.filing_status == 'mfj' else 'it' }} blank.
  2. Make the check payable to “United States Treasury”. Write your SSN{% if data.filing_status == 'mfj' %} (the one shown first on your joint return){% endif %} and “{{ ny }} Form 1040-ES” on it.
  3. Put the check and voucher in the envelope loose — don't staple or attach them.
  4. Mail it, postmarked by the due date, to:
    {% if mail.fed_estimates %}{{ address(mail.fed_estimates) }}{% else %}the address for Connecticut in the Form 1040-ES instructions{% endif %}
    Not the address where you mail your tax return. Only the U.S. Postal Service delivers to P.O. boxes.

The January 15, {{ ny + 1 }} payment can be skipped if you file your {{ ny }} return by February 1, {{ ny + 1 }} and pay the whole balance with it.

Paying Connecticut

Online (no fee)

By check, with Form CT-1040ES

  1. Print the vouchers PDF and cut out the Connecticut coupon for that due date. Write your Social Security number{{ 's' if data.filing_status == 'mfj' }} in the box{{ 'es' if data.filing_status == 'mfj' }}.
  2. Make the check payable to “Commissioner of Revenue Services”. Write “{{ ny }} Form CT-1040ES” and your SSN (optional) on it. Sign the check and paper-clip it to the front of the coupon — no staples.
  3. Mail it to:
    {% if mail.ct_estimates %}{{ address(mail.ct_estimates) }}{% else %}the address on the coupon{% endif %}

After your first coupon, DRS mails you preprinted coupons for the rest of the year — use either. No interest is charged for skipping the January 15, {{ ny + 1 }} payment if you file your {{ ny }} return by January 31, {{ ny + 1 }} and pay in full.

Good to know

{% endif %} {% endblock %}