# How a mortgage works, from application to the last payment

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv21nv6x002kl2064cfeqqcp
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 16 steps across 2 layers
- Persona: Buyer, Lender (bank), Appraiser, Seller

## Pain points

Where this process hurts, worst first:

- **Sign and close, and pay closing costs** (How a mortgage works, from application to the last payment; painful): Closing costs can run thousands of dollars

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a mortgage works, from application to the last payment

Lanes:
- Buyer: person / role (id `buyer`)
- Lender (bank): person / role (id `lender`)
- Appraiser: person / role (id `appraiser`)
- Seller: person / role (id `seller`)

Steps, in the order they run:

1. **Check credit and save a down payment** [start; Buyer; id `m1`]
   - then Get pre-approved for an amount
2. **Get pre-approved for an amount** [task; Lender (bank); id `m2`]
   - then Find a home and make an offer
3. **Find a home and make an offer** [task; Buyer; id `m3`]
   - then Does the seller accept?
4. **Does the seller accept?** [decision; Seller; id `m4`]
   - if "Yes" go to Value the home; if "No" go to Find a home and make an offer
5. **Value the home** [task; Appraiser; id `m5`]
   - then Is the home worth the loan?
6. **Is the home worth the loan?** [decision; Lender (bank); id `m6`]
   - if "Yes" go to Underwriting: verify income, debts and assets; if "No" go to Renegotiate the price or add cash
7. **Underwriting: verify income, debts and assets** [subprocess; Lender (bank); id `m7`], opens the detail layer "What the lender checks"
   - then Approve the loan and set the rate
8. **Approve the loan and set the rate** [subprocess; Lender (bank); id `m8`], links to the published process "How a recession starts and ends" (https://forks.world/p/cmv21nuow002fl206l6bgxscx; full text at https://forks.world/api/public/cmv21nuow002fl206l6bgxscx/export)
   - then Sign and close, and pay closing costs
9. **Sign and close, and pay closing costs** [task; Buyer; id `m9`] ⚠ PAIN POINT (painful): Closing costs can run thousands of dollars
   - then Pay monthly: part interest, part principal
10. **Pay monthly: part interest, part principal** [task; Buyer; id `m10`]
   - then After years the loan is paid off and the home is fully yours
11. **After years the loan is paid off and the home is fully yours** [end; Buyer; id `m11`]
12. **Renegotiate the price or add cash** [task; Buyer; id `m6a`]
   - then Is the home worth the loan?

```mermaid
flowchart LR
  subgraph l_buyer["Buyer"]
    n_m1(["Check credit and save a down payment"])
    n_m3["Find a home and make an offer"]
    n_m6a["Renegotiate the price or add cash"]
    n_m9["Sign and close, and pay closing costs"]
    n_m10["Pay monthly: part interest, part principal"]
    n_m11(["After years the loan is paid off and the home is fully yours"])
  end
  subgraph l_lender["Lender (bank)"]
    n_m2["Get pre-approved for an amount"]
    n_m6{"Is the home worth the loan?"}
    n_m7[["Underwriting: verify income, debts and assets"]]
    n_m8[["Approve the loan and set the rate"]]
  end
  subgraph l_appraiser["Appraiser"]
    n_m5["Value the home"]
  end
  subgraph l_seller["Seller"]
    n_m4{"Does the seller accept?"}
  end
  n_m1 --> n_m2
  n_m2 --> n_m3
  n_m3 --> n_m4
  n_m4 -->|"Yes"| n_m5
  n_m4 -->|"No"| n_m3
  n_m5 --> n_m6
  n_m6 -->|"Yes"| n_m7
  n_m6 -->|"No"| n_m6a
  n_m6a --> n_m6
  n_m7 --> n_m8
  n_m8 --> n_m9
  n_m9 --> n_m10
  n_m10 --> n_m11
```

### What the lender checks (detail of step "Underwriting: verify income, debts and assets")

Lanes:
- Lender (bank): person / role (id `lender`)
- Buyer: person / role (id `buyer`)

Steps, in the order they run:

1. **Pay stubs and tax returns** [start; Lender (bank); id `u1`]
   - then Credit score and debts
2. **Credit score and debts** [task; Lender (bank); id `u2`]
   - then Savings for the down payment
3. **Savings for the down payment** [task; Lender (bank); id `u3`]
   - then Debt compared to income
4. **Debt compared to income** [end; Lender (bank); id `u4`]

```mermaid
flowchart LR
  subgraph l_lender["Lender (bank)"]
    n_u1(["Pay stubs and tax returns"])
    n_u2["Credit score and debts"]
    n_u3["Savings for the down payment"]
    n_u4(["Debt compared to income"])
  end
  n_u1 --> n_u2
  n_u2 --> n_u3
  n_u3 --> n_u4
```

## Full data (JSON)

```json
{
  "title": "How a mortgage works, from application to the last payment",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "buyer",
          "name": "Buyer",
          "type": "person"
        },
        {
          "id": "lender",
          "name": "Lender (bank)",
          "type": "person"
        },
        {
          "id": "appraiser",
          "name": "Appraiser",
          "type": "person"
        },
        {
          "id": "seller",
          "name": "Seller",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "m1",
          "kind": "start",
          "lane": "buyer",
          "next": [
            {
              "to": "m2"
            }
          ],
          "uses": [],
          "label": "Check credit and save a down payment"
        },
        {
          "id": "m2",
          "kind": "task",
          "lane": "lender",
          "next": [
            {
              "to": "m3"
            }
          ],
          "uses": [],
          "label": "Get pre-approved for an amount"
        },
        {
          "id": "m3",
          "kind": "task",
          "lane": "buyer",
          "next": [
            {
              "to": "m4"
            }
          ],
          "uses": [],
          "label": "Find a home and make an offer"
        },
        {
          "id": "m4",
          "kind": "decision",
          "lane": "seller",
          "next": [
            {
              "to": "m5",
              "label": "Yes"
            },
            {
              "to": "m3",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the seller accept?"
        },
        {
          "id": "m5",
          "kind": "task",
          "lane": "appraiser",
          "next": [
            {
              "to": "m6"
            }
          ],
          "uses": [],
          "label": "Value the home"
        },
        {
          "id": "m6",
          "kind": "decision",
          "lane": "lender",
          "next": [
            {
              "to": "m7",
              "label": "Yes"
            },
            {
              "to": "m6a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is the home worth the loan?"
        },
        {
          "id": "m6a",
          "kind": "task",
          "lane": "buyer",
          "next": [
            {
              "to": "m6"
            }
          ],
          "uses": [],
          "label": "Renegotiate the price or add cash"
        },
        {
          "id": "m7",
          "kind": "subprocess",
          "lane": "lender",
          "next": [
            {
              "to": "m8"
            }
          ],
          "uses": [],
          "child": "m_under",
          "label": "Underwriting: verify income, debts and assets"
        },
        {
          "id": "m8",
          "kind": "subprocess",
          "lane": "lender",
          "link": {
            "id": "cmv21nuow002fl206l6bgxscx",
            "scope": "public",
            "title": "How a recession starts and ends"
          },
          "next": [
            {
              "to": "m9"
            }
          ],
          "uses": [],
          "label": "Approve the loan and set the rate"
        },
        {
          "id": "m9",
          "kind": "task",
          "lane": "buyer",
          "next": [
            {
              "to": "m10"
            }
          ],
          "pain": {
            "note": "Closing costs can run thousands of dollars",
            "level": 2
          },
          "uses": [],
          "label": "Sign and close, and pay closing costs"
        },
        {
          "id": "m10",
          "kind": "task",
          "lane": "buyer",
          "next": [
            {
              "to": "m11"
            }
          ],
          "uses": [],
          "label": "Pay monthly: part interest, part principal"
        },
        {
          "id": "m11",
          "kind": "end",
          "lane": "buyer",
          "next": [],
          "uses": [],
          "label": "After years the loan is paid off and the home is fully yours"
        }
      ],
      "title": "How a mortgage works, from application to the last payment",
      "parent": null
    },
    "m_under": {
      "id": "m_under",
      "lanes": [
        {
          "id": "lender",
          "name": "Lender (bank)",
          "type": "person"
        },
        {
          "id": "buyer",
          "name": "Buyer",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "u1",
          "kind": "start",
          "lane": "lender",
          "next": [
            {
              "to": "u2"
            }
          ],
          "uses": [],
          "label": "Pay stubs and tax returns"
        },
        {
          "id": "u2",
          "kind": "task",
          "lane": "lender",
          "next": [
            {
              "to": "u3"
            }
          ],
          "uses": [],
          "label": "Credit score and debts"
        },
        {
          "id": "u3",
          "kind": "task",
          "lane": "lender",
          "next": [
            {
              "to": "u4"
            }
          ],
          "uses": [],
          "label": "Savings for the down payment"
        },
        {
          "id": "u4",
          "kind": "end",
          "lane": "lender",
          "next": [],
          "uses": [],
          "label": "Debt compared to income"
        }
      ],
      "title": "What the lender checks",
      "parent": {
        "map": "m_root",
        "step": "m7"
      }
    }
  }
}
```
