How hmrc/sdlt-filing-frontend works
sdlt-filing-frontend is an HMRC frontend for creating new Stamp Duty Land Tax returns and completing existing in-progress returns. Users enter return details across preliminary, transaction, purchaser, land, lease, residency, and agent sections, review and save them, then proceed through tax calculation and submission. The task list is the central return-workflow hub; the sampled transaction and agent review controllers show persistence-backed checks and calls to the SDLT backend. The tree documents the other major sections, but their internal wiring and some integrations were not sampled, so uncertain links are omitted.
Main entry points: ReturnTaskListController.scala Return task list · purchaserAgent Purchaser and vendor agents · transaction Transaction details · StampDutyLandTaxConnector.scala SDLT backend connector
Components 17
Return workflow
- Frontend entry
app/controllers/IndexController.scala - Return task list
app/controllers/ReturnTaskListController.scala - Return answers
app/models/UserAnswers.scala
Return details
- Preliminary details
app/controllers/preliminary - Transaction details
app/controllers/transaction - Purchaser details
app/controllers/purchaser - Land details
app/controllers/land - Lease details
app/controllers/lease - Residency details
app/controllers/ukResidency
Tax and submission
- Tax calculation
app/controllers/taxCalculation - Return submission
app/controllers/submission
Agent details
- Purchaser and vendor agents
app/controllers/purchaserAgent - Agent services
app/services/purchaserAgent/PurchaserAgentService.scala
Integrations
- SDLT backend connector
app/connectors/StampDutyLandTaxConnector.scala - Calculation connector
app/connectors/SdltCalculationConnector.scala - Address lookup connector
app/connectors/AddressLookupConnector.scala
Other components
- Return filer
Connections 14
- Return filer → Frontend entry: opens service
- Return filer → Return task list: continues return
- Return task list → Preliminary details: opens section
- Return task list → Transaction details: opens section
- Return task list → Purchaser details: opens section
- Return task list → Land details: opens section
- Return task list → Lease details: opens section
- Return task list → Residency details: opens section
- Return task list → Purchaser and vendor agents: opens section
- Return task list → Tax calculation: opens section
- Return task list → Return submission: opens section
- Purchaser and vendor agents → Agent services: validates and populates
- Purchaser and vendor agents → SDLT backend connector: creates agent
- Transaction details → SDLT backend connector: creates lease