Skip to content

Deposits, Contingencies & Loan

A contract isn’t really a contract until money has changed hands and conditions are documented. This page covers the three things attached to a contract that aren’t the contract itself: deposits, contingencies, and loan tracking.

At a glance

  • A buyer typically posts multiple deposits across the lifecycle: a small lot reservation, a larger earnest money at acceptance, and sometimes option deposits (50% upfront).
  • A Contingency is a condition the contract depends on (financing, sale of current home, inspection). Open contingencies push the lot to i Sold-Contingent.
  • The Contract table carries ~20 columns of loan tracking (apply / approve / lock / fund) — used to predict closing dates accurately.
  • vwContractFinancialCalculation is the canonical view for “what does this contract net?” — reports use it instead of recomputing from scratch.

A buyer typically makes multiple deposits during a sale: a small lot reservation deposit, a larger earnest money deposit at acceptance, sometimes option deposits (50% upfront on selected upgrades).

Deposit tables and notification utilities
TableWhat
ContractDepositEach deposit transaction.
DepositType / vwDepositTypeLookup of deposit categories.
DepositTypeTask / vwDepositTypeTaskMaps a deposit type to QB/BC tasks for posting.
vwContractDepositJoined view used by reports.
vwContractDepositTransmissionPending pushes to Business Central.

Notification and validation utilities:

  • DepositNotificationSalesAgents
  • DepositNotificationSalesMgr
  • AddDepositsTruncationError, DepositAddOlderOnes (CSR scripts)

A Contingency is a condition the contract depends on — most commonly: buyer must obtain financing; buyer must sell their existing home; buyer must pass a home inspection. While any contingency is open, the lot’s status is i (Sold, Contingent). When all contingencies clear, the contract can ratify normally.

Contingency tables and CSR scripts
  • ContractContingency (~2,350 rows in test).
  • vwContractContingency for reporting.
  • ContingencyAlerts utility — emails sales when a contingency is about to expire.

Manual cleanup: ContractContigency.sql, ContingencyAdd.sql.

Smith Douglas captures every milestone of the buyer’s loan to predict closing dates accurately. The contract row carries ~20 loan-related columns; configuration of available loan products lives in LoanPackage* tables.

All loan columns on Contract + the LoanPackage configuration tables

Key columns on Contract:

ColumnMeaning
LoanPackageID, LoanTypeIDProduct the buyer chose (FHA, VA, Conventional, etc.).
LoanAppliedDate, LoanApprovedDate, ConditionalLoanApprovalApplication and approval milestones.
LockDate, LockExpiresDate, LockRate, MaximumInterestRateRate lock.
ToUnderwriting, FromUnderwritingUnderwriting round trip.
PreliminaryApproval, FundVerificationPre-approval and funds-to-close.
LoanNum, FinanceLoanAmountThe loan itself.
LenderID, LenderContactSysID, AttorneyIDCounterparties.

Loan-Package and Project-Limit configuration:

  • LoanPackage, vwLoanPackage, vwLookupLoanPackage
  • LoanWorksheet, vwLoanWorksheet
  • LoanPkgProjLimit, vwLoanPkgProjLimit

vwContractFinancialCalculation is the canonical view for “what does this contract net?” — it joins price, options, deposits, commissions, closing costs and lender contributions into a single per-contract row. Reports use this view rather than calculating themselves.

  • SMART → Sales → Contract → Deposits / Loan / Contingencies tabs
  • SMART 2.0 → sales/, accounting/
  • Home Owner Portal → Default.aspx shows the buyer the deposit history and loan milestones.