Overview v2


---
title: "Reggie — full transaction flow v4"
---
flowchart TD
    classDef kd fill:#e74c3c,stroke:#c0392b,color:#fff,stroke-width:3px,stroke-dasharray:5 5
    classDef ok fill:#2ecc71,stroke:#27ae60,color:#fff
    classDef esc fill:#f39c12,stroke:#e67e22,color:#fff
    classDef dvl fill:#9b59b6,stroke:#8e44ad,color:#fff
    classDef fin fill:#1abc9c,stroke:#16a085,color:#fff
    classDef err fill:#e67e22,stroke:#d35400,color:#fff
    classDef api fill:#1a5276,stroke:#154360,color:#fff
    classDef defer fill:#bdc3c7,stroke:#7f8c8d,color:#2c3e50,stroke-width:2px,stroke-dasharray:8 4
    classDef decided fill:#27ae60,stroke:#1e8449,color:#fff,stroke-width:2px
    classDef email fill:#2c3e50,stroke:#1a252f,color:#fff

    %% =============================================
    %% 1. SELLER ENTRY AND VERIFICATION
    %% =============================================
    subgraph P1["1 — Seller entry and verification"]
        S1([Seller registers]) --> S2[Authenticate<br/>Google / Apple / Email]
        S2 --> E_WELCOME["📧 BOTH: Welcome email<br/>What Reggie is, what to do next"]:::email
        E_WELCOME --> S3["Upload ownership document<br/>V5C / V778 / V750<br/>All claims require document"]

        S3 --> S4{Document review}
        S4 -->|High confidence| S5[Auto-approved]
        S4 -->|Low confidence| S6[Manual ops review — 24hr SLA]
        S4 -->|Failed| S7[Rejected with reason — retry]:::err
        S7 --> E_REJECT["📧 SELLER: Verification rejected<br/>Specific reason + how to retry"]:::email
        E_REJECT --> S3
        S6 --> S5

        S5 --> S_SNAP{Document type?}
        S_SNAP -->|V5C| S_VES["VES API snapshot captured:<br/>Make, colour, year, engine<br/>MOT/tax status<br/>V5C issue date"]:::api
        S_VES --> S8

        S_SNAP -->|V778 or V750| S_NO_VES["Record certificate details<br/>+ expiry date"]
        S_NO_VES --> S8

        S_SNAP -->|Q plate detected| S_Q["Blocked: Q plates are<br/>non-transferable — cannot<br/>be claimed on Reggie"]:::err

        S_SNAP -->|V5C special notes:<br/>non-transferable| S_NT["Blocked: V5C shows<br/>'non-transferable' in section 3<br/>This plate cannot be sold<br/>or retained — must stay<br/>with the vehicle"]:::err

        S8["Seller verified ✓"]
        S8 --> E_VERIFIED["📧 SELLER: Verification approved<br/>Plate claimed — choose your<br/>listing status"]:::email
    end

    KD_OCR["⚠️ DECIDE: OCR vs manual<br/>Spike needed on cost/effort<br/>Manual admin queue for v1?"]:::kd
    S4 -.- KD_OCR

    %% =============================================
    %% 2. LISTING CREATION
    %% =============================================
    subgraph P2["2 — Listing creation — owner must pick a state"]
        L1{Plate status?<br/>Must choose one}

        L1 -->|Active listing| L_ID["ID check required<br/>before listing goes live<br/>Onfido / Veriff"]
        L_ID --> L2[Set asking price]
        L2 --> L3["Fee preview — seller sees:<br/>'At £5,000 asking price<br/>Buyer pays: £5,250 + £80 DVLA<br/>Reggie fee: £250 — 5%<br/>You receive: £5,000'"]
        L3 --> LISTED([Plate LIVE<br/>Buy now + offers enabled])
        LISTED --> E_LISTED["📧 SELLER: Plate listed<br/>Asking price, link to listing,<br/>what happens when someone bids"]:::email

        L1 -->|Would consider selling| L6["WCS selected<br/>No ID check yet"]
        L6 --> L7["⚠️ WARNING acknowledged:<br/>'Sell your vehicle without retaining<br/>= permanently lose your plate'"]
        L7 --> L8{Set minimum<br/>offer threshold?}
        L8 -->|Yes| L9["Set reject below £X<br/>+ fee breakdown shown"]
        L8 -->|No| L10["Default soft floor applied:<br/>50% of Reggie valuation<br/>User can adjust this"]
        L9 --> WCS_LIVE(["Plate visible as<br/>'owner may consider selling'"])
        L10 --> WCS_LIVE
        WCS_LIVE --> E_WCS["📧 SELLER: WCS confirmed<br/>What to expect, how offers work,<br/>reminder about retention warning"]:::email

        L1 -->|Not interested in offers| NIO["Plate claimed on Reggie<br/>Offers blocked<br/>Other users can register interest"]
        NIO --> NIO_LIVE(["Plate visible as claimed<br/>Interest count shown to owner"])
    end

    E_VERIFIED --> L1

    DECIDED_FEES["✅ DECIDED: Buyer-side fees<br/>5% up to £5k / 4% up to £25k / 3% above<br/>No minimum fee<br/>+ £80 DVLA on buyer<br/>All shown upfront — DMCCA compliant"]:::decided
    L3 -.- DECIDED_FEES

    DECIDED_FLOOR["✅ DECIDED: Soft floor<br/>50% of valuation by default<br/>User can adjust or switch to<br/>'not interested in offers'"]:::decided
    L10 -.- DECIDED_FLOOR

    DECIDED_STATES["✅ DECIDED: Three plate states<br/>Active listing / WCS / Not interested<br/>Every claim must pick one<br/>Can change anytime"]:::decided
    L1 -.- DECIDED_STATES

    %% =============================================
    %% 3a. STALENESS MONITORING — BACKGROUND
    %% =============================================
    subgraph P3_STALE["3a — Staleness monitoring — background"]
        direction TB
        BG1(["Monthly VES re-check<br/>V5C-verified plates"])
        BG1 --> BG3["Query VES API<br/>compare to snapshot"]:::api
        BG3 --> BG4{Changes?}

        BG4 -->|No change| BG5["✓ Listing active"]:::ok
        BG4 -->|V5C date / vehicle changed / not found| BG9["Listing PAUSED"]
        BG9 --> E_STALE["📧 SELLER: Change detected<br/>'We noticed a change on your<br/>vehicle — confirm you still<br/>own this plate within 14 days'"]:::email

        E_STALE --> BG10{Response in 14d?}
        BG10 -->|Still owns| BG11["Snapshot refreshed"]
        BG10 -->|Has V778 now| BG12["Upload V778 — upgraded"]
        BG10 -->|No longer owns| BG13["Listing removed"]:::err
        BG10 -->|No response| BG14["Listing hidden"]

        BG_NUDGE(["6-month nudge<br/>ALL claimed plates"]) --> E_NUDGE["📧 SELLER: Periodic check<br/>'Still own this plate?<br/>Confirm to keep listing active'"]:::email
        E_NUDGE --> BG_RESP{Response?}
        BG_RESP -->|Yes| BG_ACTIVE["Listing active"]
        BG_RESP -->|No response| BG_HIDE["Flagged"]:::defer

        BG_NIO_DIGEST(["Weekly check<br/>NIO plates with new interest"]) --> E_INTEREST["📧 SELLER: Interest digest<br/>'X new people registered interest<br/>in your plate this week —<br/>consider switching to WCS?'"]:::email
    end

    WCS_LIVE --> BG1
    WCS_LIVE --> BG_NUDGE
    NIO_LIVE --> BG1
    NIO_LIVE --> BG_NUDGE
    NIO_LIVE --> BG_NIO_DIGEST
    LISTED --> BG1

    %% =============================================
    %% 3b. BUYER DISCOVERY
    %% =============================================
    subgraph P3_BUYER["3b — Buyer discovery"]
        B1([Buyer finds plate<br/>search / browse / SEO])
        B1 --> B2{Plate status?}
        B2 -->|Active listing| B3{Buy now or<br/>make offer?}
        B2 -->|WCS plate| B_OFFER[Make offer only]
        B2 -->|Not interested in offers| B_NIO["Offers blocked<br/>CTA: 'Register your interest'<br/>Logged in users only"]
        B_NIO --> B_NIO_REG["Interest registered ✓<br/>Owner sees updated count"]

        B3 -->|Buy now| B_BN_START([Buyer starts buy-now])
        B3 -->|Make offer| B_OFFER
        B_OFFER --> B_OFF_START([Buyer starts offer])
    end

    LISTED --> B1
    WCS_LIVE --> B1
    NIO_LIVE --> B1

    DECIDED_ASSIGN["✅ DECIDED: Assignment to<br/>vehicle only for v1<br/>No retention/certificate option<br/>for buyers"]:::decided
    B_OFF_START -.- DECIDED_ASSIGN

    %% =============================================
    %% 4. PRE-CHECKS — SELLER FIRST, THEN BUYER
    %% =============================================
    subgraph P4_CHECKS["4 — Pre-checks — seller first, then buyer"]
        direction TB

        CHK1["Step 1: Check SELLER<br/>before buyer invests any effort"]
        CHK1 --> CHK2{Seller verified<br/>via V5C?}
        CHK2 -->|Yes| CHK3["Fresh VES check on<br/>seller plate against snapshot"]:::api
        CHK2 -->|V778/V750| CHK5A["Skip — certificate based"]

        CHK3 --> CHK4{Snapshot matches?}
        CHK4 -->|Yes| CHK5["✓ Seller plate confirmed"]:::ok
        CHK4 -->|Changes detected| CHK_HOLD["HOLD — seller issue"]:::err

        CHK_HOLD --> E_HOLD_BUYER["📧 BUYER: 'We're confirming<br/>this plate is still available —<br/>we'll notify you when ready'"]:::email
        E_HOLD_BUYER --> E_HOLD_SELLER["📧 SELLER: 'Someone wants your<br/>plate but we detected a change —<br/>confirm within 7 days'"]:::email
        E_HOLD_SELLER --> CHK_SELLER_RESP{Seller responds?}
        CHK_SELLER_RESP -->|Resolved| E_HOLD_CLEAR["📧 BUYER: 'Plate confirmed —<br/>you can now proceed'"]:::email
        E_HOLD_CLEAR --> CHK5
        CHK_SELLER_RESP -->|No response / lost| CHK_DEAD["📧 BUYER: 'This plate is<br/>no longer available'"]:::err

        CHK5A --> CHK6
        CHK5 --> CHK6

        CHK6["Step 2: Buyer ID check<br/>— plates valued over £5k only"]
        CHK6 --> CHK6A{Over £5k?}
        CHK6A -->|Yes| CHK6B["Buyer completes ID check<br/>Onfido / Veriff"]
        CHK6A -->|No| CHK7
        CHK6B --> CHK6C{Passes?}
        CHK6C -->|Yes| CHK7
        CHK6C -->|No| CHK6D["Cannot proceed"]:::err

        CHK7["Step 3: Buyer enters<br/>vehicle registration"]
        CHK7 --> CHK8["VES + MOT checks on<br/>buyer vehicle"]:::api
        CHK8 --> CHK9{Vehicle eligible?}

        CHK9 -->|"All checks pass"| CHK10(["✓ All clear<br/>Proceed to offer/buy"]):::ok

        CHK9 -->|"Failed"| CHK11["BLOCKED:<br/>'Your vehicle isn't eligible —<br/>[specific reason]<br/>Resolve and try again'"]:::err
    end

    B_BN_START --> CHK1
    B_OFF_START --> CHK1

    DECIDED_BLOCK["✅ DECIDED: Hard block<br/>Vehicle fails = cannot proceed<br/>No advisory. Resolve and return."]:::decided
    CHK11 -.- DECIDED_BLOCK

    %% =============================================
    %% 5a. OFFER AND NEGOTIATION
    %% =============================================
    subgraph P5_NEG["5a — Offer and negotiation"]
        O1{Above seller minimum?}
        O1 -->|No| O3["Blocked: minimum is £X"]
        O3 --> O1A[Buyer adjusts]
        O1A --> O1
        O1 -->|Yes or no minimum| O_SUBMIT["Offer submitted"]
        O_SUBMIT --> E_OFFER_CONF["📧 BUYER: Offer submitted<br/>'You offered £3,500 for [REG]<br/>Seller has 48hr to respond'"]:::email
        E_OFFER_CONF --> E_OFFER_RECV["📧 SELLER: Offer received<br/>'Someone offered £3,500<br/>Reggie fee: £175 — You receive: £3,500<br/>Accept, decline or counter'"]:::email

        E_OFFER_RECV --> O6{Seller responds — 48hr}
        O6 -->|Accept| ACCEPTED([Deal agreed ✓])
        O6 -->|Decline| O7["📧 BUYER: Offer declined<br/>'The seller declined — you can<br/>submit a new offer anytime'"]:::email
        O6 -->|No response| O8["📧 BOTH: Offer expired<br/>BUYER: 'Seller didn't respond<br/>in time — submit again anytime'<br/>SELLER: 'An offer expired<br/>because you didn't respond'"]:::email
        O6 -->|"Counter 🔹 MAYBE V1"| O9["📧 BUYER: Counter received<br/>'Seller countered at £4,200<br/>Total: £4,410 + £80 DVLA<br/>Accept or decline — 48hr'"]:::defer

        O9 --> O10{Buyer responds — 48hr}
        O10 -->|Accept| ACCEPTED
        O10 -->|Decline| O11["📧 SELLER: Counter declined"]:::email
        O10 -->|No response| O12["📧 BOTH: Counter expired"]:::email
    end

    CHK10 -->|Offer flow| O1

    %% =============================================
    %% 5b. BUY NOW — DIRECT
    %% =============================================
    subgraph P5_BN["5b — Buy now — direct"]
        BN1["Show total upfront:<br/>Plate + Reggie fee + £80 DVLA"]
        BN1 --> BN2["Buyer confirms purchase"]
        BN2 --> BN4([Buy now confirmed ✓])
    end

    CHK10 -->|Buy-now flow| BN1

    %% =============================================
    %% 6a. WCS SELLER ID GATE
    %% =============================================
    subgraph P6_SID["6a — Seller ID gate — WCS only"]
        SID1["Seller clicked accept on offer<br/>but before buyer is notified:"]
        SID1 --> SID2{ID already verified?}
        SID2 -->|Yes — returning seller| SID3(["Acceptance confirmed ✓<br/>Buyer notified — payment proceeds"])
        SID2 -->|No — first transaction| SID4["'Complete a quick identity check<br/>to finalise your acceptance'"]
        SID4 --> SID5{Passes?}
        SID5 -->|Yes| SID3
        SID5 -->|"No / not completed"| SID6["Acceptance NOT sent to buyer<br/>Offer remains open — buyer unaware<br/>Seller prompted to resolve ID<br/>Offer expires normally at 48hr<br/>if not finalised"]:::err
    end

    ACCEPTED -->|WCS listing| SID1
    ACCEPTED -->|Active listing| P_PAY

    %% =============================================
    %% 6b. PAYMENT AND ESCROW
    %% =============================================
    subgraph P6["6b — Payment and escrow"]
        P_PAY["Buyer card charged:<br/>Plate price + Reggie fee + £80 DVLA<br/>Binding — agreed at offer/buy-now"]
        P_PAY --> P_ESC["Funds in escrow<br/>via Stripe Connect"]:::esc
        P_ESC --> E_PAY["📧 BOTH:<br/>SELLER: 'Payment secured in escrow<br/>— here's what happens next'<br/>BUYER: 'You've paid £X — funds<br/>held securely until transfer completes'"]:::email
        E_PAY --> P_AUTH["Both sign agent authorisation:<br/>'I authorise Reggie to submit<br/>DVLA applications on my behalf'"]
        P_AUTH --> E_AUTH["📧 BOTH: Agent authorisation<br/>confirmed — link to sign if<br/>not completed in-app"]:::email
        E_AUTH --> P_COLLECT["📧 BUYER: 'Provide your V5C<br/>document reference number<br/>so we can complete the transfer'"]:::email
    end

    SID3 --> P_PAY
    BN4 --> P_PAY

    DECIDED_ESCROW["✅ DECIDED: Stripe Connect<br/>for escrow"]:::decided
    P_ESC -.- DECIDED_ESCROW

    %% =============================================
    %% 7. SELLER-SIDE: RETENTION (IF NEEDED)
    %% =============================================
    subgraph P7["7 — Seller-side: get plate onto certificate"]
        T1{Seller document type?}

        T1 -->|V778 or V750| T5["Plate already on certificate<br/>Seller provides V778/V750<br/>reference to Reggie"]

        T1 -->|V5C — plate on vehicle| E_RET_GUIDE["📧 SELLER: Retention guide<br/>'Complete these steps on gov.uk<br/>to remove the plate from your<br/>vehicle — step by step instructions<br/>enclosed. Pay £80 to DVLA.'"]:::email
        E_RET_GUIDE --> T2A["Reggie provides step-by-step<br/>instructions in-app:<br/>1. Go to URL<br/>2. Enter reg<br/>3. Enter V5C ref<br/>4. Confirm postcode<br/>5. Pay £80"]
        T2A --> T2B["Seller authenticates<br/>and completes retention<br/>— must do this themselves"]:::dvl
        T2B --> T2C["Seller receives online<br/>retention reference number<br/>+ V778 issued"]:::dvl
        T2C --> T2D["Seller provides Reggie<br/>with V778 reference"]
        T2D --> E_RET_DONE["📧 BOTH:<br/>SELLER: 'Retention complete —<br/>we'll now assign to the buyer'<br/>BUYER: 'Seller has completed<br/>their side — assignment starting'"]:::email
        E_RET_DONE --> T5

        T5 --> T6([Reggie has V778 reference<br/>+ buyer vehicle details<br/>Ready for assignment])
    end

    P_COLLECT --> T1

    DECIDED_RETENTION["✅ DECIDED: Seller pays £80<br/>retention to DVLA directly<br/>Buyer reimburses as part of<br/>total payment through Reggie"]:::decided
    T2A -.- DECIDED_RETENTION

    %% =============================================
    %% 8. REGGIE DOES BUYER ASSIGNMENT
    %% =============================================
    subgraph P8["8 — Reggie assigns plate to buyer vehicle"]
        D1["Reggie ops logs into gov.uk<br/>'Assign a private number<br/>to a vehicle'<br/>Enter buyer email for eV948"]:::dvl
        D1 --> D2["Enters:<br/>• Plate being assigned<br/>• V778 reference from seller<br/>• Buyer vehicle reg<br/>• Buyer V5C doc reference<br/>• Buyer postcode<br/>• Buyer email for eV948"]:::dvl
        D2 --> D3{DVLA accepts?}

        D3 -->|Yes — instant| D4["Assignment confirmed ✓<br/>eV948 generated by DVLA<br/>Reggie downloads eV948<br/>DVLA emails buyer copy"]:::dvl

        D3 -->|No — rejected| D5["Review rejection reason"]:::err
        D5 --> D6{Fixable?}
        D6 -->|Yes — data error| D7["Reggie corrects + retries"]
        D7 --> D2
        D6 -->|"No — vehicle ineligible<br/>despite pre-checks"| D8["📧 BOTH: Transaction cancelled<br/>BUYER: Full refund from escrow<br/>SELLER: 'Transfer couldn't complete<br/>— plate remains yours'"]:::err
    end

    T6 --> D1

    DECIDED_ONLINE["✅ DECIDED: Online only for v1<br/>No V317 postal fallback<br/>Graceful exit if DVLA rejects<br/>Pre-checks should catch most issues"]:::decided
    D3 -.- DECIDED_ONLINE

    %% =============================================
    %% 9. AUTOMATED VERIFICATION + INSTANT RELEASE
    %% =============================================
    subgraph P9["9 — Automated verification and instant release"]
        V1["Poll VES API using<br/>transferred plate number"]:::api
        V1 --> V2{Result?}

        V2 -->|"Vehicle details changed<br/>from seller snapshot AND<br/>match buyer vehicle"| V3["✓✓ Transfer confirmed<br/>Escrow released IMMEDIATELY"]:::ok

        V2 -->|"Vehicle details changed<br/>from seller BUT don't<br/>exactly match buyer"| V4["⚠️ Flag for admin review"]

        V2 -->|"No change yet"| V5["Continue polling<br/>Check hourly"]
        V5 -->|"48hr+ no change"| V6["Alert ops team"]:::err
        V5 -->|"Change detected"| V2

        V3 --> V7["Escrow releases:<br/>Seller receives plate price<br/>+ £80 DVLA reimbursement<br/>Reggie retains fee"]:::esc
        V4 --> V4R{Admin confirms?}
        V4R -->|Yes| V7
        V4R -->|No — issue found| V8["Escalate — hold escrow<br/>Contact both parties"]:::err
    end

    D4 --> V1

    DECIDED_VES["✅ DECIDED: VES API verification<br/>+ immediate escrow release<br/>No dispute window needed —<br/>plate is legally on buyer vehicle<br/>Transfer is irreversible"]:::decided
    V3 -.- DECIDED_VES

    %% =============================================
    %% 10. COMPLETION
    %% =============================================
    subgraph P10["10 — Completion"]
        E_SELLER_DONE["📧 SELLER: Payout sent<br/>'£X + £80 DVLA reimbursement<br/>sent to your bank account.<br/>Transaction complete —<br/>thank you for using Reggie.'"]:::email

        E_BUYER_DONE["📧 BUYER: Transfer complete<br/>'Your plate [REG] is now on<br/>your vehicle. Attached: eV948<br/><br/>NEXT STEPS:<br/>1. eV948 expires in 3 working days<br/>   — get plates made ASAP<br/>2. Take eV948 + ID to any RNPS<br/>   supplier for physical plates<br/>3. Fit new plates BEFORE driving<br/>4. Update your insurance provider<br/>5. New V5C arrives 4-6 weeks<br/><br/>Questions? We are here to help.'"]:::email

        E_SELLER_DONE --> C9
        E_BUYER_DONE --> C9
        C9["TRANSACTION ARCHIVED"]:::fin
    end

    V7 --> E_SELLER_DONE
    V7 --> E_BUYER_DONE

    %% =============================================
    %% LEGAL FLAG
    %% =============================================
    LEGAL["⚖️ LEGAL REVIEW NEEDED:<br/>Reggie completing gov.uk<br/>assignment as agent —<br/>clicking 'I am the grantee'<br/>on buyer's behalf.<br/>Industry standard practice<br/>but get solicitor sign-off"]:::kd
    D1 -.- LEGAL

    %% =============================================
    %% DEFERRABLE TO V2
    %% =============================================
    subgraph DEFER["🔹 Deferred to v2"]
        direction LR
        DF1["Counter-offers"]:::defer
        DF2["Auto-accept/decline<br/>thresholds"]:::defer
        DF3["Buyer retention<br/>option"]:::defer
        DF4["V317 postal<br/>fallback"]:::defer
        DF5["Automated OCR"]:::defer
        DF6["Certificate expiry<br/>monitoring"]:::defer
        DF7["Physical plate<br/>supplier partnership"]:::defer
        DF8["Browse / discover<br/>/ filter"]:::defer
        DF9["Stale listing<br/>ranking logic"]:::defer
    end

    %% =============================================
    %% EMAIL SUMMARY
    %% =============================================
    subgraph EMAILS["📧 Email touchpoint summary"]
        direction LR
        EM1["Registration:<br/>• Welcome<br/>• Verification approved/rejected<br/>• Listing/claim confirmed"]
        EM2["Monitoring:<br/>• Staleness alert<br/>• 6-month ownership nudge<br/>• Interest digest for NIO plates"]
        EM3["Offer cycle:<br/>• Offer submitted confirmation<br/>• Offer received by seller<br/>• Accepted/declined/countered<br/>• Expired notifications"]
        EM4["Transaction:<br/>• Payment confirmed<br/>• Agent auth request<br/>• V5C reference collection<br/>• Retention guide for seller<br/>• Retention complete update"]
        EM5["Completion:<br/>• Assignment complete<br/>• eV948 to buyer<br/>• Payout sent to seller<br/>• Transaction summary"]
    end

    %% =============================================
    %% AUDIT TRAIL
    %% =============================================
    subgraph AUDIT["AUDIT TRAIL — captured throughout"]
        direction LR
        AU1["Verification:<br/>Documents + OCR/manual<br/>VES snapshots<br/>ID check results<br/>Staleness logs<br/>Re-confirmations"]
        AU2["Commercial:<br/>Offers + counters<br/>Timestamps + expiries<br/>Fee calculations<br/>Agent authorisations<br/>Dual agency disclosure"]
        AU3["Financial:<br/>Payment captures<br/>Escrow movements<br/>Reggie fee deductions<br/>Seller payouts + £80 reimb<br/>Refunds + reasons"]
        AU4["DVLA:<br/>Retention submissions<br/>V778 references<br/>Assignment confirmations<br/>Rejections + reasons<br/>VES verification polls<br/>eV948 generation + delivery"]
        AU5["Retention periods:<br/>Financial: 6 years<br/>Documents: 3 years<br/>Transactions: 6 years<br/>Comms: 2 years<br/>VES snapshots: listing life"]
    end