Skip to content

Database overview

The SmithDouglasCommunities database is the system of record. Every application in the suite reads from it; nearly every meaningful action writes to it.

SettingValue
ServerSDH-DC-SQLTST01.thesmartbuilder.local
DatabaseSmithDouglasCommunities

All object counts and row counts on this page are from Test unless noted otherwise. They were refreshed 2026-06-02 with read-only queries (no data modified). Re-run scripts/refresh-db-stats.py locally to regenerate.

Object typeCount
Tables (dbo)603
Views (dbo)364
Stored procedures1,410
Scalar / table functions48
vwLookup* views64
vwContact* views16
Transmission* queue tables (BC worker uses 14)45 in database
EntityTableRows (Test)
CompaniesCompany14
DivisionsDivision14
AreasArea47
CommunitiesCommunity918
ProjectsProject775
LotsLot29,386
ContractsContract94,485
Contract depositsContractDeposit45,884
Co-buyersContractCoBuyer12,255
Service requestsServiceRequest75,927
Service ordersServiceOrder45,504
Purchase ordersPurchaseOrder2,432,418
VendorsVendor17,090
Resources (SKUs)Resource43,211
Chosen optionsChosenOption595,707
Contacts (CRM)Contact429,727
Transmission queue headersTransmissionMaster6,629,462
Builder Portal approvals (audit)BuilderPortalWorkOrderApprovalLog1,766,382

dbo.Contract currently has 79 columns (see Contracts for the grouped list).

EnvironmentServerDatabase
ProductionSDHDCSQL01 (192.168.10.47\SDHDCSQL01)SmithDouglasCommunities
QASDH-DC-SQLQA01SmithDouglasCommunities
TestSDH-DC-SQLTST01.thesmartbuilder.localSmithDouglasCommunities

Structure and lookup data on Test match Production; row counts differ. When connecting (SSMS, sqlcmd, apps), use the FQDN above and database SmithDouglasCommunities — not SmithDouglasCommunitiesTest (legacy name used in some older connection strings).

  • All business tables are in the dbo schema.
  • vw* prefix means a view.
  • vwLookup* views are dropdown sources for the apps (64 on Test).
  • vwLoad* views support multi-step bulk loads (e.g. vwLoadPriceBookSellablePlan, vwLoadContractSelectionItem).
  • Transmission* tables queue work toward Business Central. The BC Integration Worker reads 14 child payload tables today; the database has additional legacy Transmission* tables that are not wired into the worker.
  • BCJobLedger, BCGeneralLedger, BCProjects — ledger data pulled back from BC by the integration worker (plus BCCONV_* migration staging tables).
  • Estimate*, StdPlan*, StdBook* belong to the build pipeline.
  • vwContact* views are CRM facets of Contact.
KeyWhereNotes
ContractSysIDContract and downstreamint identity
ContactSysIDContactint identity
ProjectID + BuildingID + UnitIDLot, EstimateActivity, PurchaseOrder, ServiceRequestThe composite “lot key”
ServiceRequestSysID / ServiceOrderSysIDService / warranty (SMART 2.0 service/)int identity
ResourceIDResource, VendorBidResourcevarchar
VendorIDVendorint
TransmissionMasterSysIDTransmissionMaster + child Transmission* rowsint identity; queue status in TransmissionMaster.Status

The database has 1,410 procedures. These families show up constantly in app code and docs:

PatternExamples (Test)
spProcessContract*spProcessContractAccept, spProcessContractRatify, spProcessContractClose, spProcessContractCancel, …
spProcessPaymentReviewBuilder / SMART work approval → payment transmission
spGetBuilderPortal*spGetBuilderPortalSchedule_v3, spGetBuilderPortalDelayRequestInfo_v2, spGetBuilderPortalPurchaseOrders_v2, …
spInsertBuilderPortal*spInsertBuilderPortalDefaultProject