Automation

Freight Docs from Forms (No Rate Engine)

Quote letters, SOPs and claim letters still ship with leftover placeholders. Form → strict JSON → placeholder-free Google Doc—document generation only. QuickBooks / NetSuite as doc handoff targets—no rate engine, lane pricing, TMS lookup or claim filing.

  • Logistics/3PL
  • Zapier Zapier
  • OpenAI
  • QuickBooks QuickBooks
  • NetSuite
  • Document Generation
Freight Docs from Forms (No Rate Engine) — case study visual

Overview

The project at a glance

Quote letters, customer SOPs and claim letters still get written from scratch or from a template full of brackets. This page documents a document-generation pattern we built: a form submission is enriched, turned into strict structured JSON by an LLM with validation retries, and rendered into a placeholder-free Google Doc from a template — applied to logistics quote, SOP and claim-letter documents. It produces the document only. No rate engine, lane pricing, TMS lookup or freight-quote email automation is claimed.

Origin pattern: A document-generation pattern built for a reputation-analysis service, applied to logistics quote, SOP and claim-letter documents. No rate engine or TMS was involved.

What the engagement had to achieve

  1. Turn a staff-filled request form into a ready-to-send document
  2. Enforce required fields via strict JSON and validation retries
  3. Render into a template with no leftover placeholders
  4. Support quote letters, merchant SOPs and claim / dispute letters
  5. Explicitly exclude rate calculation, rate shopping and claim filing

The story

The challenge, and how we solved it

What was at risk

The Challenge

Plenty of logistics paperwork is structured writing: a proposal or quote letter that wraps rates already agreed by the pricing team, a merchant-specific SOP, or a claim or dispute letter to a carrier. Each one is rebuilt by hand from an old Word file, with the wrong customer name left in or a placeholder shipped to the client. Generic AI writing invents terms and drops required sections.

Failure mode 01
Template leftovers

Old Word files ship with the wrong name or leftover placeholders.

Failure mode 02
Invented terms from freeform AI

Unstructured generation drops required sections and invents commercial terms.

Failure mode 03
Document only — not a rate engine

Rates in any sample are typed in by a person. No freight quoting, rate shopping, TMS lookup or claim filing.

How we responded

The Solution

A request form filled in by sales, ops or claims staff, with commercial figures entered by a person.

Decision 01
Form as the single input

A request form filled in by sales, ops or claims staff, with commercial figures entered by a person.

Decision 02
Enrichment, then strict structured JSON

Context enrichment before generation; LLM output as strict JSON with validation retries until every required field is present.

Decision 03
Template render with no leftovers

Google Docs template rendering rejects the document if a field is missing — it is not sent with placeholders.

Decision 04
3PL document types

Quote / proposal letter (rates typed in), merchant SOP, carrier claim or dispute letter. Claim letter only — never claim filing or recovery.

Decision 05
Market context (targets, not delivered)

AI freight-quoting tools are a different category and are named only to make clear this is not one. Typical output targets are Google Docs, PandaDoc and DocuSign templates; finance systems such as QuickBooks and NetSuite may receive the finished commercial document as a handoff — docs only, not rate engines.

Deliverables

What we built

The concrete capabilities designed, built, and shipped in this engagement.

Form as the single input

Typeform (source) as the single intake — for a 3PL: a request form filled by sales, ops or claims staff, with commercial figures entered by a person.

Enrichment step before generation

Context enrichment (web searches in the source) before the LLM generates the document.

Strict structured JSON from the LLM

OpenAI returns strict structured JSON; validation retries until every required field is present.

Placeholder-free Google Docs rendering

Template rendering into Google Docs with no leftover placeholders — the document is rejected, not sent, if a field is missing.

Zapier-orchestrated generation pipeline

Zapier orchestration ties form → enrichment → LLM → Docs so ops can change prompts without redeploying an app.

Explicitly no rate engine

Quote / proposal letter (rates typed in by a person), merchant SOP, or carrier claim / dispute letter. Rate calculation, rate shopping, freight-quote email parsing and TMS lookups are not included.

Technology

The stack

The tools behind the build, and the role each one played.

Orchestration / Actual stack
Zapier

Zapier

Orchestration / Actual stack

OpenAI

Orchestration / Actual stack

Typeform

Orchestration / Actual stack
Google Docs

Google Docs

3PL systems (integration targets)
QuickBooks

QuickBooks

3PL systems (integration targets)

NetSuite

3PL systems (integration targets)

Extensiv

3PL systems (integration targets)

MercuryGate

3PL systems (integration targets)

FreightPOP

3PL systems (integration targets)

Descartes

Outcome

What changed

Beyond the launch

Lasting improvements

The changes that keep paying off after the engagement ended.

  1. Document-volume or time-saved figures: none claimed
  2. Design/process outcome: Strict JSON validation retries until every required field is present
  3. Design/process outcome: Placeholder-free Docs output — document rejected, not sent, if a field is missing
  4. Design/process outcome: No-rate-engine honesty disclosed on-page — commercial figures typed in by a person; no TMS or freight quoting claimed
Your system next

Want an outcome like this one?

A short workflow review maps where automation, AI, or a platform would pay off in your operation — and the first system worth building.