mcs150: enrich intake from FMCSA carrier census before PDF fill
The MCS-150 biennial update re-confirms the carrier's existing FMCSA record. Previously the PDF filler only had whatever the intake form collected; rescued/sparse orders (or orders where the carrier's data lives in FMCSA, not the intake) produced near-empty forms. Now we pull the carrier census (legal name, address, EIN, fleet counts) from the FMCSA carrier API and merge it under any customer-provided intake values (customer edits win), so the form is pre-filled with the carrier's current registered data. Refactored the FMCSA fetch into a shared _fetch_fmcsa_carrier helper used by both enrichment and status check.
This commit is contained in:
parent
7e5946d65a
commit
d5e66786a2
8 changed files with 294 additions and 15 deletions
74
docs/name-reservation-product.md
Normal file
74
docs/name-reservation-product.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Selling name availability: sell a Name RESERVATION, not a "check"
|
||||
|
||||
Decision (2026-06-09): the product to sell is a **state Name Reservation**, not a
|
||||
bare "name check." Here's why, with the real state mechanics.
|
||||
|
||||
## The key distinction: a search is a snapshot, a reservation is a binding hold
|
||||
- A **name search** (what our TX open-data API and a SOSDirect/SilverFlume search
|
||||
do) is a non-binding *snapshot*. It tells you the name looks free *right now*. It
|
||||
does not stop someone else from taking it tomorrow, and it is not the SOS's official
|
||||
word. Charging for a snapshot is weak value and invites "I paid and then lost the
|
||||
name" complaints.
|
||||
- A **name reservation** is the authoritative, binding action: the Secretary of State
|
||||
*holds the name for you* for a fixed window. This is a real deliverable with a real
|
||||
filing receipt - exactly the kind of thing we should sell.
|
||||
|
||||
## What each state actually offers (public fee schedules)
|
||||
### Texas
|
||||
- **SOSDirect online name search: $1.00 per search** (statutory fee, requires a
|
||||
SOSDirect login). Non-binding snapshot.
|
||||
- **Preliminary determination by phone/email: free** (call 512-463-5555 or email
|
||||
Corporations) - also non-binding, and slow/manual.
|
||||
- **Name Reservation (Form 501): $40 state fee, holds the name 120 days, renewable.**
|
||||
This is the binding hold and the thing worth selling.
|
||||
|
||||
### Nevada
|
||||
- **SilverFlume name availability: free** (but the portal is behind Incapsula bot
|
||||
protection, so we cannot automate it - and a free snapshot is low value anyway).
|
||||
- **Name Reservation: $25 state fee, holds the name 90 days.** The binding hold.
|
||||
|
||||
## Product recommendation
|
||||
1. **Free instant pre-check (lead magnet, not a SKU):** keep the TX open-data API
|
||||
check on the order form as a *free* "looks available / looks taken" instant signal.
|
||||
It costs us nothing, reduces friction, and qualifies the lead. Label it clearly as
|
||||
a preliminary check, not a guarantee. (NV pre-check returns "we'll verify manually"
|
||||
since NV is bot-blocked.)
|
||||
2. **Sell the Name Reservation as the paid SKU.** Flat service fee + the state fee at
|
||||
cost. This is the authoritative hold the customer actually wants, and it's a clean,
|
||||
deliverable-backed product:
|
||||
- `name-reservation-tx`: service fee + **$40** TX state fee (Form 501, 120 days).
|
||||
- `name-reservation-nv`: service fee + **$25** NV state fee (90 days).
|
||||
- or a generic `name-reservation` with the state chosen at intake and the gov fee
|
||||
resolved per state (cleaner, matches how foreign-qualification fans out).
|
||||
3. **Bundle it into the formation / DEXIT flow:** offer "reserve the name now" as an
|
||||
add-on/step before the full formation or conversion, so the customer locks the name
|
||||
while the rest of the paperwork is prepared. Natural upsell, removes the "what if I
|
||||
lose the name while you file?" objection.
|
||||
|
||||
## Pricing note (house rule: use the higher price on any mismatch)
|
||||
Suggested service fee in the $49-$99 range on top of the state fee, billed as a flat
|
||||
fee with the government fee passed through at cost and labeled as such (consistent
|
||||
with our other corporate SKUs and the no-hidden-fees trust posture).
|
||||
|
||||
## Fulfillment reality (be honest about automation)
|
||||
- **TX reservation (Form 501)** is filed via SOSDirect (login-gated) or by mail/fax.
|
||||
SOSDirect filing automation is **not yet verified** (same as TX formation), so the
|
||||
reservation would start **admin-assisted** until that flow is proven by the e2e
|
||||
harness. The $1 SOSDirect search and the $40 reservation both require the SOSDirect
|
||||
account we use for filing.
|
||||
- **NV reservation** is filed on SilverFlume, which is Incapsula-blocked for
|
||||
automation, so NV reservation is **admin-assisted** (a person files it). Still a
|
||||
perfectly good paid product - the customer pays for the outcome (a held name), not
|
||||
for our automation.
|
||||
- Both: capture the name + entity type at intake, file the reservation, deliver the
|
||||
state confirmation/receipt through the portal. The free pre-check gates obviously
|
||||
bad names before the customer pays.
|
||||
|
||||
## Next steps to ship this
|
||||
1. Add `name-reservation` SKU(s) to `api/src/service-catalog.ts` with per-state gov
|
||||
fee (TX $40 / NV $25) and create the matching ERPNext Items.
|
||||
2. Add an admin-assisted `NameReservationHandler` (or reuse the MCS150-style
|
||||
admin-assisted pattern) that records the order and surfaces an admin to-do to file
|
||||
the reservation, then attaches the SOS receipt.
|
||||
3. Keep the free instant TX pre-check on the form; relabel as preliminary.
|
||||
4. Offer the reservation as a step in the formation + DEXIT intake.
|
||||
Loading…
Add table
Add a link
Reference in a new issue