🏠 RE Transaction Date Calculator
Version 1.0 · March 2026 · CC0 1.0 Public Domain · Written with the assistance of Claude (Anthropic)
This tool automatically computes all key contract milestone dates from your Offer Date and Acceptance Date. Dates are calculated using configurable day offsets anchored to key transaction events, organized into six milestone groups each cross-referenced to the relevant contract section number.
Row color indicators
- Amber border — field has an active Days or date override
- Red border / red background — Closing date is on a non-business day, or a milestone falls before Acceptance
- Green border — user-input field (no offset calculation)
- Grey / strikethrough — milestone is skipped or suppressed
⚡ Get Started — Pro Tip
The fastest workflow for a live transaction:
- Add the Property AddressType it in the 🏠 Property field at the top. It appears on all printouts and exported calendar events.
- Pick a template and customize offer datesSelect 30 Day Close, 45 Day Close, 60 Day Close, or My Preset. The Offer Date defaults to today. Each template automatically sets the Loan and New Survey toggles to sensible defaults (see Calculation Modes). Adjust any Days spinners to customize further.
- Save TransactionOpen the ⋯ menu and click Save Transaction. This creates a
.jsonfile you can reload at any time from any machine. - If offer is accepted: Load Transaction, update Acceptance Date, then Print or Export CalendarLoad the saved file, enter the actual Acceptance Date — all milestones recalculate instantly. Print a clean summary or export an
.icsfile to share with your client.
🔀 Calculation Modes
Select a mode from the tabs at the top of the page. Switching modes clears all overrides, resets the DD Resolution anchor and Existing Doc trigger to defaults, and applies per-mode defaults for the Loan and New Survey toggles.
| Mode | Loan | New Survey | Closing |
|---|---|---|---|
| 30 Day Close | No (off) | No (off) | 30 days from Acceptance |
| 45 Day Close | Yes (on) | No (off) | 45 days from Acceptance |
| 60 Day Close | Yes (on) | Yes (on) | 60 days from Acceptance |
| My Preset | Yes (on) | Yes (on) | Configurable |
| Custom | Yes (on) | Yes (on) | Spinner or banner input |
30 Day Close
Built-in 30-day preset. Loan dates and New Survey are off by default — appropriate for a quick cash or pre-approved transaction. Toggle either on if needed for a specific deal.
45 Day Close
Built-in 45-day preset. Loan dates are on; New Survey is off by default. Acceptance-anchored milestones are scaled between the 30 and 60-day tables. Close-anchored lead times are identical across all three built-in presets.
60 Day Close
Built-in 60-day preset. Both Loan dates and New Survey are on by default — appropriate for a full-finance transaction with a survey. Acceptance-anchored milestones are scaled for the longer timeline.
My Preset
Your fully customizable template stored in the browser. Configure it in Settings or capture your current spinner values using 📌 Save to My Preset. Fields with offset 0 calculate to the same date as their anchor event. Loan and New Survey default to on; adjust after switching to the mode.
Custom
A blank template — all offsets start at 0 (same as anchor date). Spinners and date pickers work identically to the other presets. Settings are session-only and not saved to the browser. Use when you need a one-off configuration that doesn’t fit your standard templates.
📑 Milestone Reference
All milestones are numbered sequentially across all groups. Each label includes the contract section number for easy cross-reference.
| Group | Key Milestones | Anchor |
|---|---|---|
| 📋 Offer & Acceptance | Offer Expiration, Acceptance, Earnest Money, IC Delivery & Actual | Offer Date / Acceptance |
| 🏦 Financials | Proof of Funds, Pre-qual Letter, Loan Application, Appraisal Order, Final Loan Approval | Acceptance / Closing |
| 🔍 Due Diligence | Title Commitment, Existing Docs & Survey, Seller Inspection, DD Objection & Resolution | Acceptance / Title Receipt |
| 📐 New Survey | Survey Order, Delivery, Objection, Resolution | Title Receipt / Closing |
| 🛡 Insurance | HO Insurance Contingency | Acceptance |
| 🏁 Closing | Repair Completion, Pre-Closing Walkthrough, Closing & Funding | Closing |
Special Fields
- Acceptance Date — defaults to Offer Expiration. Override to record the actual acceptance date; all milestones recalculate immediately.
- IC Actual Delivery — defaults to IC Due Date. When Existing Document Delivery is set to use the IC Actual anchor, updating this field recalculates that milestone.
- Title Commitment Receipt — user input only. Required before New Survey Order can calculate. Shows “Awaiting Title Commitment” until entered.
- Due Diligence Resolution — anchor is selectable via dropdown in the Anchor column. Defaults to DD Objection; can be anchored to any earlier milestone in the transaction. Saved with the transaction file.
- Existing Document Delivery — anchor toggle in the Anchor column switches between Acceptance and IC Actual Delivery.
✏ Date & Day Overrides
Days Spinner
The Days column shows a numeric spinner pre-filled with the active preset offset. Changing it shifts that milestone for the current session only — the preset is not modified. Clearing it back to empty restores the preset value.
- Close-anchored fields (Repair Completion, Final Walkthrough, etc.) accept 0 or negative values only.
- All other calculated fields accept 0 or positive values only.
- 0 days = same date as the anchor event.
Date Picker
Click the date field in the Calculated Date column to open the browser calendar picker or type a date directly. Setting a date computes the offset back to the anchor and updates the spinner — both controls stay in sync at all times.
Effective Date
When a Calculated Date falls on a weekend or holiday, an Effective Date appears in cyan below the spinner showing the next business day. The date field turns amber with a “Weekend or Holiday Performance Required” warning. This applies regardless of whether the date was set via the spinner or the picker.
Resetting
The ↻ reset button appears whenever any override is active. Clicking it clears both the spinner override and the date picker value, returning the field to its preset-calculated result.
Existing Document Delivery Anchor Toggle
The Existing Document Delivery row has an anchor toggle in its Anchor column: Acceptance (default) or IC Actual. Switching it recalculates the date immediately and the selection is saved with the transaction.
🧰 Toolbar & ⋯ Menu
The header contains the mode tabs and a few always-visible primary controls. Less-frequent actions are in the ⋯ dropdown menu on the right.
| Control | Description |
|---|---|
| Mode tabs | Switch between 30 Day Close, 60 Day Close, My Preset, and Custom. Clears all overrides on switch. |
| 📌 Save to My Preset | Captures all currently displayed Days spinner values and saves them as your My Preset template. Requires confirmation. Clears spinner overrides and switches to My Preset mode. |
| ⋯ Menu | Opens a dropdown with: Calendar Export, Save Transaction, Load Transaction, Settings, Print, Help. |
| Loan: Yes / No | In the Financials group header. Toggles loan-related milestones on/off for the current session (not saved with transaction). |
| Survey: Yes / No | In the New Survey group header. Ignores/includes all four New Survey milestones at once. Saved with the transaction. |
🚫 Skip & Loan Toggle
Skip Buttons
Certain milestones have a Skip button in the far-right column. Clicking it (turns red) marks that milestone as not applicable — it is greyed out with strikethrough and excluded from printouts and calendar export. Skip state is saved with the transaction.
Fields with individual Skip buttons: Proof of Funds, Appraisal Order, Existing Survey Delivery, Seller Inspection Order, Seller Inspection Delivery.
Loan: Yes / No
In the Financials group header. When set to No, the Pre-qualification Letter, Loan Application, and Final Loan Approval rows are suppressed from the UI, print, and calendar export. The default state depends on the active template: No for 30 Day Close; Yes for 45 Day, 60 Day, My Preset, and Custom. Switching templates resets this toggle to its default. Within a session you can override it freely.
Survey: Yes / No
In the New Survey group header. When set to No, all four New Survey milestones are excluded from the UI, print, and calendar export. The default state depends on the active template: No for 30 Day Close and 45 Day Close; Yes for 60 Day, My Preset, and Custom. Switching templates resets this toggle. Saved with the transaction file.
💾 Save & Load Transactions
Use Save Transaction (⋯ menu) to save the current transaction as a .json file named after the property. Use Load Transaction to restore it at any time.
What is saved
- Property name, Offer Date, calculation mode, Custom Closing Date
- All date picker overrides (individual milestones)
- Skip states for individual milestones and the New Survey section
- Loan toggle state, Existing Doc Delivery anchor trigger, DD Resolution anchor
What is not saved
- Days spinner overrides (session-only — use 📌 Save to My Preset to preserve them permanently)
- Preset offsets and holiday list (use Export Settings in the Settings panel)
-dates.json) and Settings files (re-date-calc-settings.json) are different formats. Do not try to load one where the other is expected.📅 Calendar Export
The Calendar Export option (⋯ menu) downloads an .ics file of all visible, non-skipped milestones as all-day calendar events. Loan milestones are excluded when Loan is set to No.
When a property name is set, event titles read: 123 Main St — Earnest Money Delivery (6.). When a date was rolled forward from a weekend or holiday, the calendar event description notes the original Calculated Date.
Importing into your calendar app
- Google Calendar: Import instructions ↗
- Microsoft Outlook: Import instructions ↗
- Apple Calendar (iOS): Import instructions ↗
.ics file is a static snapshot. If you change dates and re-export, delete the previous events in your calendar app first to avoid duplicates.Select Print from the ⋯ menu. The print layout automatically hides all toolbar buttons, override controls, Skip buttons, and skipped milestone rows. A header showing the property name, calculation mode, offer date, and print timestamp is added.
For best results: set browser print margins to Minimum and enable Background graphics if you want group headers to print with dark backgrounds.
⚙ Preset Offsets
Open Settings → Presets to customize default day counts for any template. Select the 30 Day, 45 Day, 60 Day, or My Preset tab and edit the Days field for any milestone. Positive offsets count forward from the anchor; negative offsets count backward from closing. Changes save immediately to your browser and persist across sessions.
Click ↻ Reset to Defaults at the bottom of the preset table to restore the original built-in values for that template.
📌 My Preset
My Preset is your personal reusable template stored in the browser. The fastest way to configure it:
- Start from an existing presetLoad 30 Day, 45 Day, or 60 Day as a starting point — whichever is closest to your standard timeline.
- Adjust the spinnersDial in your preferred day offsets for each milestone to match your typical transaction timeline.
- Click 📌 Save to My PresetConfirm the dialog. Every spinner’s currently displayed value is captured and saved. Spinner overrides are cleared and the view switches to My Preset mode so you can see the result immediately.
You can also edit offset values directly in Settings → Presets → My Preset.
📆 Holidays
Open Settings → Holidays to view and manage the holiday list used for Effective Date rollover. The default list includes 11 US federal holidays. Fixed-date holidays that fall on Saturday observe the preceding Friday; those on Sunday observe the following Monday. If January 1 of the following year falls on Saturday, December 31 is treated as the New Year’s Day observance.
Adding a custom holiday
Click + Add Holiday, enter a name and select a date. The holiday repeats annually on that month and day.
Removing a holiday
Click ✕ next to any holiday. Built-in federal holidays can be removed if they are not observed in your area (e.g., Columbus Day).
📤 Import / Export Settings
Your preset offsets and holiday list can be exported as a .json file and imported on any copy of the calculator. This is useful for sharing a standard office configuration or backing up your customizations.
In the Settings panel footer: click ↓ Export Settings to download re-date-calc-settings.json. Click ↑ Import Settings to restore from a previously exported file. A confirmation dialog appears before overwriting your current presets and holidays.
localStorage. Clearing your browser’s site data resets all customizations to factory defaults. Export your settings regularly as a backup, especially after spending time configuring My Preset or custom holidays.