Backend Aug 22-25: AI analysis, welcome-packet templating, LetterStream, DocuSeal, staff RBAC + tier gate

- analysis.py: deterministic claim scorer + /analyze /approve /letter /advance-tier endpoints (auto-runs on intake)
- packet.py + packet_fields.json: welcome-packet templating engine (6 onboarding docs, field catalog)
- letterstream.py + letters.py: certified-mail send pipeline + letter lifecycle (webhook verified)
- docuseal.py: DocuSeal signing integration
- staff.py/models.py/schema.sql/auth.py: approval actor from staff key, tier gate (APPROVED+ACTIVE+onboarding docs), onboarding_docs table
- frontend/: dependency-free static portal (intake, magic-link login/verify, dashboard)
- landing-mockups/: 4 design-stance mockups + favicons
- legal/: aup/privacy/sms-terms/terms HTML
- docs/: letter-queue scope, letterstream API contract, 6 welcome-packet templates
- review-dre-landing-2026-08-21.md: 3-variant landing feedback sprint
- compliance/DRE_Compliance_Manual.md: updated

Source synced from deployed /opt/dre-portal/app/ (was 4 days ahead of git).
This commit is contained in:
root
2026-08-26 02:26:33 -04:00
parent 7a5603b495
commit 7a62b0b340
46 changed files with 11004 additions and 35 deletions
+136
View File
@@ -0,0 +1,136 @@
# Letter Queue - Backend Scope (draft)
Date: 2026-08-24
Author: Sho'Nuff (draft for Germaine review)
## Current state (ground truth, verified 2026-08-24)
- **Send pipeline is BUILT and verified end-to-end.** Two new modules:
- `/opt/dre-portal/app/letterstream.py` — LetterStream integration (auth, account
status, send single/batch, preauth/doauth, tracking, signature, proof).
- `/opt/dre-portal/app/letters.py` — router: letters queue lifecycle, PDF render
(fpdf2 2.8.8), LetterStream send, and the callback receiver.
- **Live DB tables exist:** `letters` and `letter_events` (added to `schema.sql`,
applied on restart).
- **LetterStream API contract fully recovered** from the user-supplied
`api_fulfillment.pdf` (21 pages): `POST https://www.letterstream.com/apis/` with
`a`=api_id, `h`=hash, `t`=unique_id. Hash = `md5(base64_encode(last6(t) . api_key
. first6(t)))`. Verified three ways: PDF formula + live `AUTHOK` + user screenshot
sample vector.
- **Account live-verified:** balance `$100.00`, `testmode=disabled`. No documents
submitted, no charges incurred.
- Letter *content* still lives on `claims` (subject/body/tier) and is generated by
`analysis.recommend_letter()` (deterministic, no LLM) — the `letters` queue is the
physical-send layer on top.
- **Queue UI is wired and smoke-tested (2026-08-25, task ls7).** `letter-queue.html` is
a functional queue: filterable list, status badges, Approve / Price & Queue /
Confirm & Mail / Track actions, and a New Letter modal (claim picker + structured
recipient + mail class). `GET /api/staff/letters` now joins `claims` to expose
`claim_number`. Verified via live API lifecycle + Node render harness + 9-page HTTP
smoke (all 200).
- LetterStream callback is **NOT enabled yet** — the receiver is live and tested, but
the callback toggle in the LetterStream dashboard stays off until after the first
real send is confirmed.
## Target state
A durable letter queue: many letters per claim, each with a lifecycle
(draft -> approved -> queued -> sent -> delivered/failed), sendable via
LetterStream certified mail, with FDCPA-compliant content and a full audit trail.
## 1. Data model - new `letters` table
| Column | Type | Purpose |
|---|---|---|
| id | TEXT PK | uuid4 |
| claim_id | TEXT FK -> claims.id | owning claim |
| letter_type | TEXT | demand / escalation / validation / custom |
| tier | TEXT | tier the letter was generated for |
| subject | TEXT | letter subject |
| body | TEXT | letter body (markdown or plain) |
| status | TEXT | draft / approved / queued / sending / sent / delivered / failed |
| recipient_name | TEXT | debtor or registered-agent name |
| addr1, addr2, city, state, zip | TEXT | mailing address |
| letterstream_job_id | TEXT | LetterStream job reference (nullable) |
| tracking_number | TEXT | USPS tracking (nullable) |
| sent_at | TEXT | ISO timestamp (nullable) |
| delivered_at | TEXT | ISO timestamp (nullable) |
| error | TEXT | last send error (nullable) |
| created_by | TEXT | RBAC actor name |
| created_at / updated_at | TEXT | ISO timestamps |
Migration: keep the four claim columns as the "current draft" during transition,
then deprecate them once the queue is live. No destructive drop until the queue
is proven in production.
## 2. API
- `GET /api/staff/claims/{n}/letters` - list letters for a claim
- `POST /api/staff/claims/{n}/letters/generate` - generate a draft row via
`recommend_letter()` (inserts, does not overwrite the claim columns)
- `PUT /api/staff/letters/{id}` - edit a draft
- `POST /api/staff/letters/{id}/queue` - mark queued (requires full mailing address)
- `POST /api/staff/letters/{id}/send` - call LetterStream, store job_id + tracking
- `POST /api/letters/webhook` - LetterStream status callback (delivered / failed)
- `GET /api/staff/letters` - global queue across claims (feeds letter-queue.html)
Idempotency: `send` is guarded by status (only `queued` -> `sending`), so a
double-click cannot mail a letter twice. Store `letterstream_job_id` before
marking sent.
## 3. Send pipeline (LetterStream)
Order of work:
1. Verify the existing `LETTERSTREAM_API_KEY` against their API (is it valid,
what account, what products are enabled).
2. Map their REST surface: auth method, endpoint shape, certified vs
first-class, PDF upload vs HTML/plain rendering, return address handling,
tracking + status webhook. Do not assume - confirm from their docs or a test
call.
3. PDF generation: render the letter body (reportlab or weasyprint) with DRE
letterhead, or pass content to LetterStream to render.
4. Address handling: return address (DRE office / PO box) and debtor mailing
address must both be resolved before send.
5. Status sync: webhook or poll updates `status`, `tracking_number`,
`delivered_at`.
## 4. Compliance (FDCPA)
- Every first-contact letter MUST carry the 1692g validation notice: amount of
debt, creditor name, 30-day dispute right, right to request verification.
- No false, deceptive, or misleading language (1692e); no threats of action DRE
does not intend to take.
- Human sign-off gate: a letter cannot move to `queued` until status is
`approved` (actor recorded).
- Full immutable audit log (actor + timestamp + old/new) - the `audit_log`
pattern already exists and extends here.
## 5. UI (letter-queue.html) — DONE 2026-08-25 (ls7)
`/var/www/internal/letter-queue.html` is live:
- filterable list (status) with per-status summary chips
- Approve (DRAFT) / Price & Queue (APPROVED/PREAUTH/ERROR) / Confirm & Mail (PREAUTH) / Reject / Cancel / Track actions
- status badges (DRAFT/APPROVED/PREAUTH/SENT/REJECTED/CANCELLED/ERROR)
- tracking timeline (USPS scan events) in the detail panel
- New Letter modal: claim picker (prefills debtor name), structured recipient, mail class
Reject/cancel implemented 2026-08-25: `POST /api/staff/letters/{id}/reject` (requires `reason`) and
`POST /api/staff/letters/{id}/cancel` (optional `reason`) move DRAFT/APPROVED/PREAUTH/ERROR letters to
REJECTED/CANCELLED, persist the reason in `letters.note`, and write an `audit_log` row. Guards return 409
for SENT/REJECTED/CANCELLED and 422 for a missing reject reason. Queue UI has Reject (red) / Cancel buttons
for all non-terminal states.
## 6. Decisions locked (2026-08-24)
1. **LetterStream key** — valid and live; `$100.00` balance, `testmode=disabled`.
2. **Return address** — Germaine provides it 2026-08-25. Set as
`LETTERSTREAM_RETURN_ADDRESS` in `.env`; drafting does NOT block on it, only
`send` does (clean 409 until configured).
3. **Signatory**`Debt Recovery Experts LLC` (no named individual). Default in code;
overridable via `LETTERSTREAM_SIGNATORY` in `.env`.
4. **Address verification / NCOA** — none. Pull debtor/return-address data from the
client's claim info + Super Search.
5. **FDCPA 1692g notice** — mandatory on first contact (DRE is a third-party debt
collector). Content is generated by `analysis.recommend_letter()`; final validation-
notice wording vs welcome-packet copy still to be finalized (task ls8).
+138
View File
@@ -0,0 +1,138 @@
# LetterStream API Contract (verified live)
Date: 2026-08-25
Source: `api_fulfillment.pdf` (LetterStream "Mail Fulfillment by LetterStream — Integration API", Feb 3 2023) + live verification against the account.
## Credentials
- `API_ID` (8 chars), `API_KEY` (18 chars) — in `/opt/dre-portal/.env` as `LETTERSTREAM_API_ID` / `LETTERSTREAM_API_KEY`.
- Account funded: balance `$100.00`, `testmode=disabled` (LIVE/production mode) as of 2026-08-25.
## Endpoint
- Base: `https://www.letterstream.com/apis/` (or `/apis/index.php`). **POST only** (form-encoded or multipart).
- Response: XML `<messages id="..."><message type="...">...</message></messages>`.
- `responseformat=json` returns JSON instead of XML.
## Auth (VERIFIED 2026-08-25)
Three form fields on every request:
- `a` = api_id
- `t` = unique id — numeric, **1018 digits**, accepted only once (duplicate → `-957 DUP`). Use `time()`-style value.
- `h` = hash, computed as:
```php
$unique_id = time(); // 10-18 digit numeric, unique per request
$string_to_hash = substr($unique_id,-6) . $api_key . substr($unique_id,0,6);
$hash = md5(base64_encode($string_to_hash));
```
Python equivalent:
```python
import hashlib, base64
s = t[-6:] + api_key + t[:6]
h = hashlib.md5(base64.b64encode(s.encode())).hexdigest()
```
### Auth response codes
- `-199` `AUTHOK` — account good, connection successful
- `-958` `IDOK` — api_id found but hash lookup failed (wrong hash)
- `-957` `DUP` — unique id duplicate
- `-950` `Unable to authenticate`
- `BAD` — api_id not valid
- `-998` `Improper submission format` — auth valid but args don't form a valid request
- `-999` `unknown submission error`
## Send method 1 — Batch (ZIP) [preferred for volume]
`POST` with `multi_file` = a `.zip` archive containing one PDF per recipient + one CSV data file. CSV filename becomes the batch id (must be unique). 50MB cap. CSV columns (Table 4.1.1):
| # | Column | Required | Notes |
|---|---|---|---|
| 1 | UniqueDocId | yes | alphanumeric, max 20 chars, unique to any active/mailed job |
| 2 | PDFFileName | yes | filename of the PDF inside the zip |
| 3 | RecipientName1 | yes | |
| 4 | RecipientName2 | optional | |
| 5 | RecipientAddr1 | yes | |
| 6 | RecipientAddr2 | optional | suite # |
| 7 | RecipientCity | yes | |
| 8 | RecipientState | yes | 2-char alpha |
| 9 | RecipientZip | yes | 510 numeric + "-" |
| 10 | SenderName1 | yes | |
| 11 | SenderName2 | optional | |
| 12 | SenderAddr1 | yes | |
| 13 | SenderAddr2 | optional | |
| 14 | SenderCity | yes | |
| 15 | SenderState | yes | 2-char alpha |
| 16 | SenderZip | yes | |
| 17 | PageCount | yes | numeric |
| 18 | MailType | no | `firstclass` \| `firstclass_hse` \| `certified` \| `certnoerr` \| `postcard` \| `flat` \| `propostcard` (default `firstclass`) |
| 19 | CoverSheet | no | `Y`\|`N` (default `Y`) |
| 20 | Duplex | no | `Y`\|`N` (default `N`) |
| 21 | Ink | no | `B`\|`C` (default `B`) |
| 22 | Paper | no | see options (default `W`) |
| 23 | ReturnEnvelope | no | `Y`\|`9RWS`\|`9LWS`\|`634`\|`634_12PK`\|`N` (default `N`) |
| 24 | Affidavit | no | `A`\|`N` (default `N`) |
## Send method 2 — HTTP POST (single file) [≤50/day, low volume]
`POST` (multipart or form-encoded). Required fields:
- `a`, `h`, `t` — auth
- `job`**unique** job name (unique across all active/mailed jobs)
- `to[]` — array of recipient address strings (repeat the field per recipient)
- `from` — single sender/return address (max 1)
- `single_file` — the PDF to mail (multipart file OR base64 blob)
- `pages` — number of pages in the PDF
Optional: `mailtype` (default `firstclass`), `coversheet` (default true), `duplex`, `ink`, `paper`, `returnenv`, `preauth`.
### Address string format (`to[]` and `from`)
Colon or pipe delimited (don't mix):
```
# recipient (doc_id included):
doc_id:name_1:name_2:address_1:address_2:city:state:zip
# sender (no doc_id):
name_1:name_2:address_1:address_2:city:state:zip
```
`doc_id` must be unique per recipient (same spec as UniqueDocId). Only domestic addresses eligible for certified mail.
## Preauth (price-before-release)
- Submit with `preauth=1` → processed but NOT released to production; returns `-200` + `authcode` + pricing.
- Authorize/release by resubmitting `doauth=<authcode>`.
## Submission response codes
- `-100` success → includes `<batch>`, `<quantity>`, `<cost>`, `<doc><id><job><cost>`
- `-200` preauth success / preauth authorization success
- `-911` insufficient funding (items held until funds added)
## Mail types (cost/features)
- `firstclass` — First Class Letter (#10 2-window)
- `firstclass_hse` — First Class Letter "Homeowner Statement Enclosed" endorsement
- `certified` — Certified w/ Electronic Return Receipt (#10 3-window, tracking #)
- `certnoerr` — Certified WITHOUT e-Return Receipt (no signature collected)
- `postcard` — 5.5"x4.25" 100# cardstock
- `flat` — 10x13 windowed flat (up to 75 sheets, coversheet by default)
- `propostcard` — pro postcard
## Tracking / status queries (POST, all with a/h/t)
- `cert=<tracking_number>&getinfo=track` → HTML tracking (or `getinfo=trackx` XML; `responseformat=json` for JSON)
- `doc_id=<doc_id>&getinfo=track` → job status (non-certified)
- `cert=...&getinfo=sig` → signature file (streamed PDF)
- `doc_id=...&getinfo=proof` → document proof (base64 streamed PDF)
- `batchstatus=<batch1,batch2>` / `jobstatus=<job1,job2>` / `docstatus=<doc1,doc2>` → stage-of-production status
- `accountstatus=1` → account balance (`<balance>`, `<testmode>`)
USPS tracking numbers: 22 digits since March 2018 (older 20-digit still valid).
## Document preflight
`POST` with `preflight=visual` (or `auto` coming soon) + `preflight_file` (PDF) + optional `display=true`. Returns marked-up PDF showing window placement. Used for template verification, not every submission.
## Callback / webhook (tracking push) — receive side
See "API PUSH" section below (contract from account "API Callback Settings" page):
- LetterStream PUSHES tracking data to our endpoint (HTTP POST) every 4 hours (and heartbeat when idle).
- POST fields: `key`, `api_version`, `timestamp`, `json`.
- `json` = JSON string of tracking line items: `batch_id`, `job_id`, `doc_id`, `tracking_id`, `scan_date`, `scan_zip`, `scan_facility`, `scan_code`, `scan_status`.
- scan_codes reference: https://postalpro.usps.com/product-tracking-and-reporting/scan-events-descriptions
- Required response: HTTP 200 + `{"success":true,"reason":"Received data"}`.
- `key` = our callback auth string (`LETTERSTREAM_CALLBACK_KEY` in `.env`, 48 hex chars, generated 2026-08-25).
- Enable must stay OFF until our receiver is live.
## Implementation
- Python module: `/opt/dre-portal/app/letterstream.py` (mirrors `docuseal.py` style).
- Auth formula verified live 2026-08-25 (AUTHOK + balance returned).
+85
View File
@@ -0,0 +1,85 @@
# LIMITED POWER OF ATTORNEY
## Debt Recovery Experts, LLC
**THIS LIMITED POWER OF ATTORNEY ("LPOA")** is made and entered into by and between the undersigned principal (the "Client") and **Debt Recovery Experts, LLC**, a limited liability company (the "Company").
### 1. Appointment of Agent
The Client hereby appoints the Company, and its authorized officers, employees, and designated representatives, as the Client's true and lawful attorney-in-fact, **limited strictly to the matters set forth below**, with full power and authority to act in the Client's name, place, and stead.
### 2. Scope of Authority (LIMITED)
The authority granted under this LPOA is limited exclusively to the recovery of the specific debt identified below (the "Claim"):
| Field | Value |
|---|---|
| Client Legal Name | {{client_legal_name}} |
| Client Entity Type | {{client_entity_type}} |
| Debtor Legal Name | {{debtor_legal_name}} |
| Claim Amount | {{claim_amount}} |
| Invoice / Contract Date | {{invoice_date}} |
| DRE Claim Number | {{dre_claim_number}} |
Specifically, the Company is authorized to:
1. **Demand payment** of the Claim from the Debtor, in writing and verbally.
2. **Negotiate and settle** the Claim, subject to the settlement authority limits set forth in the Terms of Service.
3. **Receive payments** on the Claim, including via the Company's designated payment processor, and deposit such payments into the Company's trust/escrow account for disbursement to the Client in accordance with the signed Fee Schedule.
4. **Execute and deliver** documents incidental to collection of the Claim, including demand letters, settlement agreements, payment acknowledgments, and releases limited to the Claim.
5. **Engage third-party service providers** (remote online notary, certified mail vendor, and partner law firm) as reasonably necessary to collect the Claim, in accordance with the signed Third-Party Sharing Consent.
6. **Refer the Claim to legal counsel** for further action if the Claim reaches Tier 4, in accordance with the Terms of Service.
### 3. Express Limitations (the Company MAY NOT)
Notwithstanding anything to the contrary, the Company is **NOT** authorized to:
1. Borrow money, mortgage property, or create any lien or security interest in the Client's name (other than filing a mechanic's or materialman's lien in the ordinary course of collecting the Claim, and only through licensed counsel).
2. Sell, transfer, or convey any real or personal property of the Client.
3. Make gifts of the Client's property.
4. Settle the Claim for less than the minimum settlement authority stated in the Terms of Service without the Client's separate written approval.
5. Commence litigation in the Client's name; litigation is referred to licensed counsel under a separate engagement.
### 4. Duration and Revocation
This LPOA becomes effective upon execution and **notarization**, and remains in effect until: (a) the Claim is fully resolved (recovered in full, settled, or determined uncollectible and closed); or (b) the Client revokes this LPOA in writing delivered to the Company. Revocation does not affect acts lawfully taken before receipt of the revocation.
### 5. Governing Law
This LPOA is governed by the laws of the State of Texas, including Chapter 751 of the Texas Estates Code (Statutory Durable Power of Attorney requirements).
### 6. Acknowledgment
The Client acknowledges that the Company is a third-party debt collector acting on the Client's behalf with respect to the Claim, and that the Client remains ultimately responsible for the accuracy of the information provided concerning the Claim.
---
**IN WITNESS WHEREOF**, the Client has executed this Limited Power of Attorney as of the date set forth below.
| | |
|---|---|
| **Client Signature** | **Date** |
| ________________________ | ________________________ |
| **Print Name** | **Title** |
| ________________________ | ________________________ |
---
## NOTARY ACKNOWLEDGMENT
State of ________________
County of ________________
This instrument was acknowledged before me on ____________ (date) by ________________________ (name of person), in the capacity of ________________________ for ________________________ (entity name), as the act of such entity.
| |
|---|
| **Notary Public Signature** |
| ________________________ |
| **Notary Public Printed Name** |
| ________________________ |
| **My commission expires:** ____________ |
| *(Notary seal)* |
---
*This LPOA requires notarization pursuant to Texas Estates Code § 751.0021. This is the ONLY document in your welcome packet that requires a notary; it is completed online via our remote online notary partner.*
@@ -0,0 +1,79 @@
# DEBT RECOVERY EXPERTS, LLC
## TERMS OF SERVICE
**Last updated: August 23, 2026**
These Terms of Service ("ToS") govern the engagement of **Debt Recovery Experts, LLC** (the "Company," "DRE," "we," or "us") by the client identified below ("Client" or "you"). By signing, you agree to be bound by these terms, including the **Fee Schedule attached hereto as Schedule A** and incorporated by reference.
### 1. Services
DRE provides commercial debt recovery services. Upon approval of your claim, DRE will pursue recovery of the identified debt through a tiered escalation process (demand letters, escalation, lien threat where applicable, and referral to partner legal counsel), as described in the DRE Help & Recovery Guide.
**No Guarantee of Recovery.** DRE makes no representation or guarantee that any claim will be recovered, in whole or in part. Recovery is contingent on the debtor's circumstances and willingness or ability to pay.
### 2. Contingency Fee Basis
DRE's fees are **contingent** — DRE is paid **only if and when money is recovered**. If nothing is recovered, you owe DRE no fee for DRE's services. The applicable fee is determined by the recovery tier at which the claim resolves, as set forth in Schedule A.
### 3. Costs and Expenses
Certain out-of-pocket costs may be deducted from recovered funds before disbursement, regardless of the tier at which the claim resolves:
- Remote online notary fee (one-time, per LPOA execution)
- Certified mail / LetterStream postage and service fees
- Court filing fees and recording fees (only if a lien or legal action is pursued)
These costs are itemized on your settlement statement. DRE will not incur non-recoverable third-party costs (such as litigation filing fees) without your prior written approval.
### 4. Settlement Authority
Unless otherwise agreed in writing, DRE may settle the Claim for **no less than 70% of the principal amount** without further approval. Settlements below this threshold, or any settlement involving non-monetary terms, require your separate written approval.
### 5. Disbursement
Recovered funds are received into a DRE operating/trust account, less (a) DRE's contingency fee per Schedule A and (b) itemized costs per Section 3. The balance is disbursed to the bank account you authorize via the ACH/Disbursement Authorization form. Disbursements occur on a defined schedule; you will receive a settlement statement with each disbursement.
### 6. Compliance and Representations
You represent and warrant that:
1. The debt you are referring is a valid, enforceable commercial obligation owed to you.
2. The information and documentation you provide (amount, aging, contracts, invoices, delivery proof) is true and accurate.
3. You are authorized to refer the debt and to execute this agreement on behalf of the claimant entity.
You acknowledge that DRE will rely on these representations in its collection efforts, and that providing materially false information may expose you to liability.
### 7. Third-Party Services
To perform the services, DRE may share limited information with third-party service providers (remote online notary, certified mail vendor, partner law firm). Such sharing is governed by the separate Third-Party Sharing Consent you sign. DRE does not sell your information.
### 8. Termination
Either party may terminate this engagement upon written notice. Upon termination, DRE will cease collection activity. Any fees and costs earned or incurred through the date of termination remain due and payable in accordance with Schedule A and Section 3. Termination does not discharge any obligation the debtor has already agreed to satisfy.
### 9. Limitation of Liability; Indemnification
To the maximum extent permitted by law, DRE's aggregate liability arising out of this engagement shall not exceed the total fees actually paid by you to DRE. You agree to indemnify and hold DRE harmless from any claim arising out of your breach of the representations in Section 6.
### 10. Governing Law; Dispute Resolution
This ToS is governed by the laws of the State of Texas. Any dispute arising out of this engagement shall be resolved in the state or federal courts of Texas.
### 11. Entire Agreement
This ToS, together with Schedule A (Fee Schedule), the Limited Power of Attorney, the Third-Party Sharing Consent, and the ACH/Disbursement Authorization, constitutes the entire agreement between the parties and supersedes all prior communications.
---
## CLIENT ACKNOWLEDGMENT
By signing below, the Client acknowledges they have read, understood, and agreed to these Terms of Service, including Schedule A (Fee Schedule), and that the Client has become a customer of Debt Recovery Experts, LLC.
| | |
|---|---|
| **Client Signature** | **Date** |
| ________________________ | ________________________ |
| **Print Name** | **Title** |
| ________________________ | ________________________ |
| **Company (if applicable)** | |
| ________________________ | |
+52
View File
@@ -0,0 +1,52 @@
# SCHEDULE A — FEE SCHEDULE
## Debt Recovery Experts, LLC
This Schedule A is attached to and incorporated into the Terms of Service between the Client and Debt Recovery Experts, LLC. **All fees are contingent** — payable only upon actual recovery of funds from the debtor.
## Contingency Fee by Recovery Tier
The fee is determined by the tier at which the claim resolves (i.e., the point at which the debtor pays):
| Tier | Description | DRE Fee |
|---|---|---|
| **Tier 1** | Soft Touch demand | **20-25%** of amount recovered |
| **Tier 2** | Formal Demand | **30%** of amount recovered |
| **Tier 2.5** | Lien Threat (construction claims) | **30%** of amount recovered, plus attorney fees only if a lien is actually filed through counsel |
| **Tier 3** | Final Notice | **33%** of amount recovered |
| **Tier 4** | Legal Action (referral to counsel) | **15%** DRE referral fee **plus 25%** law firm fee (40% combined) |
## Illustrative Example (Tier 2 resolution, $10,000 claim)
| Item | Amount |
|---|---|
| Amount recovered | $10,000.00 |
| DRE contingency fee (30%) | -$3,000.00 |
| Certified mail + notary costs | -$75.00 |
| **Net to Client** | **$6,925.00** |
## Costs and Expenses (deducted from recovery)
These are actual, itemized out-of-pocket costs, not DRE profit:
- Remote online notary: one-time, per LPOA (est. $25)
- Certified mail / LetterStream postage and service fees (actual)
- Court filing and recording fees (actual, only if lien or litigation pursued, with prior approval)
## No Recovery, No Fee
If DRE recovers nothing, the Client owes **no contingency fee**. The Client is responsible only for actual out-of-pocket third-party costs already incurred with the Client's prior approval (e.g., litigation filing fees). DRE will not incur such costs without the Client's written approval.
## Loyalty Pricing (optional)
Clients with 3+ prior claims may qualify for reduced Tier 1 pricing (e.g., 25% reduced toward 20% at DRE's discretion).
---
**ACKNOWLEDGMENT:** By signing the Terms of Service, the Client acknowledges receipt of this Fee Schedule and agrees to the fee and cost terms set forth above.
| | |
|---|---|
| **Client Signature** | **Date** |
| ________________________ | ________________________ |
| **Print Name** | |
| ________________________ | |
@@ -0,0 +1,32 @@
# THIRD-PARTY SHARING CONSENT
## Debt Recovery Experts, LLC
The undersigned Client ("you") authorizes Debt Recovery Experts, LLC ("DRE") to share limited information about you and your claim with the following third-party service providers, **solely as necessary** to perform the debt recovery services described in the Terms of Service:
| Provider | Purpose | Information Shared |
|---|---|---|
| **OneNotary** (remote online notary) | Notarize your Limited Power of Attorney | Your name, entity name, and the LPOA document |
| **LetterStream** (certified mail vendor) | Send certified demand letters and track delivery | Debtor name/address, claim reference |
| **Partner law firm** (Tier 4 referral) | Provide legal representation for escalated claims | Claim details, documentation, and correspondence |
### What DRE does NOT do
- DRE does **not** sell, rent, or license your information to any third party.
- DRE does **not** share your information for marketing purposes.
- DRE shares only the minimum information necessary for each provider to perform its function.
- DRE does **not** report individual consumer credit information to credit bureaus except as expressly required by law (and only where a valid signed personal guarantee exists).
### Duration
This consent remains in effect for the duration of your engagement with DRE for the applicable claim, and may be revoked in writing at any time. Revocation will not affect disclosures lawfully made before receipt of the revocation.
### Acknowledgment
By signing, you consent to the disclosures described above.
| | |
|---|---|
| **Client Signature** | **Date** |
| ________________________ | ________________________ |
| **Print Name** | |
| ________________________ | |
@@ -0,0 +1,63 @@
# DEBTOR INFORMATION SHEET
## Debt Recovery Experts, LLC
Complete one sheet per debtor. The more complete the information, the faster and more effective the recovery. **Legal entity name must match the entity that actually owes the debt** — this determines the correct registered agent, service address, and (critically) whether a personal guarantee applies.
## Debtor Identification
| Field | Value |
|---|---|
| **Legal entity name** (exact) | {{debtor_legal_name}} |
| Entity type (LLC / Corp / Sole Prop / Partnership / Individual) | {{debtor_entity_type}} |
| DBA / trade name (if any) | {{debtor_dba}} |
| State of formation | {{debtor_state}} |
| Registered agent (name) | {{debtor_registered_agent}} |
| Registered agent address | {{debtor_registered_agent_address}} |
| EIN / Tax ID (if known) | {{debtor_ein}} |
| Website | {{debtor_website}} |
## Contact Information
| Field | Value |
|---|---|
| Primary contact name | {{debtor_contact_name}} |
| Title | {{debtor_contact_title}} |
| Direct phone | {{debtor_contact_phone}} |
| Email | {{debtor_contact_email}} |
| Business address (street) | {{debtor_address}} |
| City / State / ZIP | {{debtor_city_state_zip}} |
| Alternate address (branch/warehouse) | {{debtor_alt_address}} |
## Principals / Owners (for personal guarantee determination)
| Name | Title | Phone | Email |
|---|---|---|---|
| ________________________ | ______ | ______ | ______ |
| ________________________ | ______ | ______ | ______ |
## Banking / Payment Relationships (if known)
| Field | Value |
|---|---|
| Bank / financial institution | {{debtor_bank}} |
| Any known accounts receivable / lenders | {{debtor_ar_lenders}} |
## Personal Guarantee
Does a **signed personal guarantee** exist for this debt?
- [ ] **Yes** — a signed written personal guarantee exists (attach a copy). This is critical: without it, DRE cannot pursue an individual's personal credit or assets.
- [ ] **No** — this is a business-to-business debt only.
- [ ] **Unsure**
If yes, who signed the guarantee? {{personal_guarantee_signer}}
## Notes
________________________________________________________________________
________________________________________________________________________
---
*Submit this sheet together with your claim substantiation (statement of account, contracts, invoices, proof of delivery, correspondence, and payment history). Recovery cannot begin until the complete packet is received.*
@@ -0,0 +1,34 @@
# ACH / DISBURSEMENT AUTHORIZATION
## Debt Recovery Experts, LLC
This form authorizes Debt Recovery Experts, LLC ("DRE") to disburse recovered funds (net of contingency fee and itemized costs) to the Client's bank account identified below.
## Account Holder Information
| Field | Value |
|---|---|
| **Account holder legal name** (must match W-9) | {{account_holder_name}} |
| Entity type (if business) | {{account_holder_entity_type}} |
| Bank name | {{bank_name}} |
| Account type | [ ] Checking [ ] Savings |
| Routing (ABA) number | {{routing_number}} |
| Account number | {{account_number}} |
## Authorization
The undersigned authorizes DRE to initiate **credit (deposit) entries only** to the account identified above for the purpose of disbursing settlement proceeds. This authorization is for **deposits only** — DRE is **not** authorized to debit this account for any reason.
This authorization remains in effect until revoked in writing by the undersigned.
## Tax Reporting
The undersigned acknowledges that recovered funds may be subject to tax reporting, and that DRE requires a valid IRS Form W-9 on file before any disbursement. DRE will not disburse funds without a completed W-9.
| | |
|---|---|
| **Client Signature** | **Date** |
| ________________________ | ________________________ |
| **Print Name** | **Title** |
| ________________________ | ________________________ |
| **Company (if applicable)** | |
| ________________________ | |