Guide 8 min read

Stop retyping tender emails and rate cons into your TMS

By Josh — eight years brokering freight at TQL, running a million-dollar business solo by getting AI to work for him. Now he coaches freight brokers to do the exact same thing for their businesses on‑site in person 1-on-1 across the Greater Houston area.

Somebody in your office is doing this right now. A tender lands in the inbox. They open a new load in the TMS and start going back and forth between two windows. Shipper name. Street address. City. State. ZIP. Pickup window. Delivery window. Equipment. Weight. Pieces. Commodity. PO number. Rate. Then the note at the bottom of the email saying the receiver requires an appointment and the driver needs to tarp.

Twenty-odd fields, typed by hand, per load. Then the next email. Then the rate con PDF with the same information in a different layout, which they check against what they just typed.

MVMNT’s writeup on broker workflows puts it plainly: manual tender entry “costs teams hours weekly” (MVMNT). I am not going to hand you a percentage. You know what a coordinator costs per hour and how many tenders you take a day.

The part that costs more than the typing is the transposition error. A ZIP that becomes 77504 instead of 77054. A pickup window typed as 0800-1200 when the email said 1800-2200. Those do not show up as lost minutes. They show up as a truck at the wrong dock.

Getting AI to extract a tender email

Paste the tender email into a chat window with a prompt that pulls the fields out in a fixed order. Then a person looks at it before it goes anywhere. Here is the prompt.

You are extracting load details from a freight tender for entry into a TMS.

Output ONLY the fields below, in exactly this order, one per line,
in the format FIELD: value

PICKUP NAME
PICKUP ADDRESS
PICKUP CITY
PICKUP STATE
PICKUP ZIP
PICKUP DATE
PICKUP TIME WINDOW
DELIVERY NAME
DELIVERY ADDRESS
DELIVERY CITY
DELIVERY STATE
DELIVERY ZIP
DELIVERY DATE
DELIVERY TIME WINDOW
EQUIPMENT TYPE
WEIGHT
PIECE COUNT
COMMODITY
REFERENCE / PO / LOAD NUMBER
ACCESSORIALS
RATE
SPECIAL INSTRUCTIONS

Rules:
- If a field does not appear in the source text, write exactly: NOT FOUND
- Never guess. Never infer a value that is not written in the text.
- Do not fill in a plausible city from a ZIP, or a ZIP from a city.
- Copy values exactly as written, including date and time formats.
- Under SPECIAL INSTRUCTIONS, list anything about tarps, straps,
  driver assist, appointment required, lumper, seals, temperature,
  or detention terms. If none, write NOT FOUND.
- Under ACCESSORIALS, list only charges named in the text.
- If the load has more than two stops, output a separate numbered
  block for each stop and say MULTI-STOP at the top.
- Add no commentary, no summary, no notes before or after the fields.

Tender text:
[paste the email here]

The rigidity is the point. When every output has the same 22 lines in the same order, your eye learns the shape of it. A missing pickup window is a NOT FOUND in a spot you expect to be full, and you catch it in a second. Let the model write a paragraph summary instead and you have to read it carefully every time, which is the thing you were trying to stop doing. Fixed format is also what makes the output pasteable into columns later.

NOT FOUND matters more than it looks. Left alone, a model will happily produce something reasonable-looking for a blank field. A city that matches the ZIP. A delivery date one day after pickup. That is the failure mode that hurts, because a plausible wrong value passes a quick review and a blank does not.

Tuning it on your own tenders

Do not judge the prompt on one email. Run it on 3 to 5 real examples from your own inbox — that tip comes straight out of the MVMNT piece and it is the right advice (MVMNT).

Every shipper formats tenders differently. One puts the reference number in the subject line. One sends a wall of unlabeled text. One uses a table that turns to mush when you copy it. One writes “del 6/12 by 10a.” Run your five worst-formatted regulars through the prompt and add a rule for each thing it gets wrong. Twenty minutes of that gives you a prompt shaped like your freight.

The review step is not optional

A human looks at the fields before anything is committed. Not “usually.” Every load.

The practical version: do not paste model output straight into the TMS. Put it somewhere in between. Keep a review column where the coordinator marks each load checked, or paste into a staging sheet and enter into the TMS from there. The staging layer gives you a place to catch a bad value while it is still cheap.

Here is a second prompt for that. It hands the checking back to the model as a first pass — a second set of eyes, not a replacement for yours.

Below are two things: (1) the original tender text, and (2) fields
that were extracted from it.

Check the extraction against the original. Report:

MISMATCHES: any field whose value does not match the original text.
Quote the original wording next to the extracted value.

INVENTED: any field with a value that does not appear anywhere in
the original text.

MISSED: any field marked NOT FOUND that IS actually present in the
original text, and what it should be.

AMBIGUOUS: any place the original text is unclear, contradictory,
or could reasonably be read two ways. Say what the two readings are.

If a category has nothing, write NONE. Do not rewrite the extraction.
Do not add commentary.

ORIGINAL TENDER:
[paste]

EXTRACTED FIELDS:
[paste]

That second pass catches a decent share of quiet errors. It is not proof of anything — the same model that made the mistake is grading it. Treating AI output as fact would be, in the words of one broker on r/FreightBrokers, “childish” (r/FreightBrokers). That applies to the checker as much as the extractor.

Three tiers of tender automation, and where you fit

Tier 1: manual paste into a chat window. Coordinator copies the email body, pastes it under the prompt, reads the 22 lines, types into the TMS. Zero setup, zero cost beyond the subscription you already have, working this afternoon. Almost everyone should start here and plenty of shops never go further. You still type into the TMS, but you are reading a clean field list instead of hunting through an email.

Tier 2: a spreadsheet as the staging layer. Same extraction, output lands in columns in Excel or Google Sheets. One row per load, a status column, a checked-by column. The team works from a queue instead of an inbox, you can see what has not been entered, and two people are not touching the same tender. Still manual, still cheap, better at volume.

Tier 3: real automation. Inbox rules route tenders from known shippers to a folder, an automation tool passes the body to a model, the structured output lands in a sheet or gets posted into the TMS.

Be clear-eyed about tier 3. The model part is easy. Getting data into your TMS without a human typing it is where this stalls, and that is a question about your TMS and your vendor, not about AI. A broker in that same r/FreightBrokers thread was building a document-retrieval system for a brokerage client and reported: “I haven’t yet observed significant advantages from this approach,” partly because “we don’t have access to the McLeod API” (r/FreightBrokers). That is a common wall. Whether you can clear it depends on which TMS you run, what your contract includes, and whether the vendor will turn access on. Ask them before you build anything. If the answer is no, tier 2 is your ceiling, and tier 2 is still worth having.

Rate con PDFs are a separate problem

Tender emails are text. Rate cons are PDFs, and PDFs come in two kinds that behave nothing alike.

A digital PDF — generated by the customer’s system, text you can select and copy — extracts about as well as an email.

A scanned PDF is an image. The model has to read pixels. A clean scan is usually fine. A fax-quality scan, or a scan of a printout of a fax, is where accuracy falls apart: 5s that read as 6s, a smudged ZIP, a handwritten margin note dropped entirely. That is where the review step earns its keep, and honestly where retyping by hand may be faster. Try to select the text in the PDF. That one test tells you which situation you are in.

What still goes wrong with AI extraction

  • Multi-stop loads. Two picks and three drops, and the model has to work out which address belongs to which stop. It gets confused. The multi-stop rule helps; read those closely anyway.
  • Fields in the wrong place. ZIP typed into the address line, city sitting in the name field. A person reads through that instantly. A strict extractor either copies it into the wrong slot or reports NOT FOUND.
  • Date formats. 6/12 versus 12/6, “next Tuesday,” “by EOD Friday,” 1800 versus 6pm, and time zones nobody wrote down. Copy the original wording and let a human resolve it.
  • Split deliveries. Half the pieces to one consignee, half to another, in one run-on sentence. Expect to fix these by hand.
  • Anything ambiguous in the source. If the email says “deliver Thursday morning” and no one wrote an appointment number, the model cannot conjure one. AI does not fix a badly written tender. It surfaces the gap sooner, which is worth something — you call the shipper before the truck is loaded instead of after.

None of that makes the workflow not worth running. It means the workflow is “read a clean field list and correct it,” not “stop looking at tenders.”

AI coaching for freight brokers in Houston

I brokered freight at TQL for eight years, so I have likely done what you’re doing manually, and figured out how to get AI to do it for me. Now I coach brokers on getting this kind of thing running.

The intro call is free and takes 15 minutes so you can see if this is a fit, share your frustrations, where you’re stuck, and when you want to do your 1-on-1 session. If it is, you book your two-hour on-site session, in person, in the Greater Houston area. We’ll sit down face-to-face, show me exactly how you’re currently doing things, and get AI to start doing those things for you.

Book your free 15-minute intro call

2‑hour on‑site session1‑on‑1 in personGreater Houston Area

Questions about extraction

Can AI read a rate confirmation PDF?

Yes, including scanned ones, though a bad scan is still a bad scan. Clean PDFs come out close to exact; photographed paper needs the review step.

How accurate is it on tender emails?

Accurate enough that checking it is faster than typing it, and never accurate enough to skip checking. That trade is the whole point.

Do I need to buy software for this?

No. It runs on the email and files you already have, in your own AI account. There is no integration to buy and nothing to install in your TMS.

Sources