How do you connect carrier emails to the right ERP order?
Key Takeaways
You connect carrier emails to the right ERP order by giving every load a set of shared references and making sure each email is matched against them before anyone acts on it. The ERP order number, the load ID, the carrier's PRO or load number and the BOL number together form the chain. An AI logistics agent such as Wilson, by Cartage, reads each carrier email, finds the references, matches the email to the right load and order, records what the carrier said and takes the next step. When the match is uncertain, a person confirms it.
- One ERP order can become several loads, and one load can carry several orders. The match has to handle both.
- The carrier rarely uses your order number. It uses its own PRO or load number, so the link must be recorded at booking.
- Put your reference in every message you send, and ask carriers to reply in the same thread.
- Match on more than one field: reference, lane, date and carrier together are far safer than one number.
- An email is only useful once its content updates the load: a new pickup time, a delay, a document, a charge.
- When a match is uncertain, hold the update for a person instead of guessing.
Which references link a carrier email to an ERP order?
Four references usually link a carrier email to an ERP order: the order number, the internal load or shipment ID, the carrier's own number (PRO, load number or booking number) and the BOL number. An AI logistics agent keeps all four on the load record from the moment they exist. The table below shows where each one comes from and how reliable it is when it appears in an email.
| Reference | Who creates it | When it exists | How often carriers use it | Reliability alone |
|---|---|---|---|---|
| ERP order or sales order number | Your ERP | Before the quote | Sometimes, if you sent it | Medium: one order can split into loads |
| Load or shipment ID | Your logistics process | At quote or booking | When you put it in the subject | High, if it is in the thread |
| Carrier PRO, load or booking number | The carrier | At booking or pickup | Almost always | High once recorded |
| BOL number | Shipper or carrier | Before pickup | Often on documents | High |
| PO number | Your customer | Before the order | On some documents | Low: one PO can span many shipments |
| Lane, date and carrier | All parties | At booking | Implied in most emails | Useful as a cross-check |
The table shows why one reference is not enough. The ERP order number is known first, but the carrier rarely uses it. The carrier's number is the one the carrier will use, but it does not exist until booking. The link between them has to be created and saved the moment the carrier assigns its number.
Why is the carrier's number so important?
The carrier's number is important because it is the reference the carrier will use in almost every later message. Dispatchers search their own system by PRO or load number. Their status updates, delivery notices, proof of delivery and invoices all carry it. If the load record does not store that number next to the ERP order number, every carrier email becomes a small search. An AI logistics agent records the carrier's number from the rate confirmation or the first reply and links it to the order right away.
When should the link be created?
The link should be created at each step where a new reference appears. The ERP order number exists when the order is released. The load ID exists when the load is planned or quoted. The carrier's number appears in the rate confirmation or the acceptance email. The BOL number appears when the BOL is created, before pickup. Each time a new number appears, the agent should add it to the same load record. If any step is skipped, later emails that use that number cannot be matched without a search. A hypothetical example: a carrier accepts a load by phone and sends its load number a day later in a separate email. If that email is not linked to the load, the carrier's next three updates arrive with a number nobody has recorded.
What about orders that split or combine?
Orders that split or combine need the link to be many-to-many. One large ERP order may ship in three truckloads over a week. Three small orders to the same customer may ship on one LTL load. A carrier email about "load 4471" then relates to three orders, or an email about one order may relate to only one of its three loads. The load record should list every order on the load and every load for the order. Without that, a delay notice can be applied to the wrong order and the wrong customer gets the message.
Why do carrier emails end up on the wrong order?
Carrier emails end up on the wrong order because the reference is missing, the thread mixes loads or the email is forwarded without context. An AI logistics agent prevents most of these by controlling what goes out and checking what comes in. The common causes are predictable.
| Cause | What happens | How to prevent it |
|---|---|---|
| New email instead of a reply | Carrier starts a fresh thread with no reference | Match on carrier number, lane and date; confirm if unclear |
| One thread for several loads | A reply mentions one load but the thread covers three | Read each reply's content, not only the thread |
| Forwarded email | A dispatcher forwards an update without the original | Look for references inside the forwarded text |
| Similar loads | Two loads on the same lane, same day, same carrier | Match on BOL, pallet count or appointment time too |
| Changed order number | The ERP order was revised or replaced | Keep the old and new numbers linked |
| Attachment only | The POD or invoice arrives with no text | Read the document for the PRO or BOL number |
How often do these errors happen?
These errors happen often enough to matter on any busy desk, even if each one is rare. A team handling a few hundred loads a week receives many carrier emails for every load: acceptance, appointment, pickup, status, delivery, POD and invoice, plus questions. If even a small share is attached to the wrong load or left unread, several loads a week end up with the wrong status. The cost shows up later: a customer told the wrong delivery date, a POD that cannot be found when the invoice arrives or a delay that nobody acted on because the email was filed on another load.
What does a mixed thread look like?
A mixed thread is a single email conversation that covers more than one load. A hypothetical example: a coordinator emails a carrier about three loads to the same customer. The carrier replies, "The 7 a.m. pickup is moving to 10, the other two are fine." If the matching only looks at the thread, the update could be applied to all three loads or to the wrong one. The agent has to read the reply and identify which load has the 7 a.m. pickup. For more on this case, see one email thread with three loads.
What about carriers that use portals instead of email?
Some carriers post updates on their own portal or website instead of sending emails. The match problem is the same: the update has to be connected to the right order. Wilson checks the carrier's website by PRO number when that is the best source available for the load, and records what it finds on the load. Portal updates and email updates then sit side by side in one history, so the team does not need to log into each carrier's site.
Why is a shared inbox not enough?
A shared inbox lets several people see the same email, but it does not connect the email to the order. Someone still has to read it, figure out which load it belongs to and update the record. When the team is busy, emails sit unread or get answered by two people. A shared inbox is a place to receive messages. The work is matching them and acting on them.
How should outgoing messages be set up so replies match?
Outgoing messages should be set up so that every carrier reply can be matched without guessing. An AI logistics agent does this by putting the right references in every message it sends and by keeping one thread per load when it can. The best matching starts before the first reply.
What should go in the subject line?
The subject line should carry the internal load ID, the lane or ship-to city and the pickup date. Carriers reply to the subject they receive, so the references come back automatically. A subject like "Load 21734 · Dayton OH to Atlanta GA · Pickup Tue 11/12" survives a reply and most forwards. Once the carrier assigns its number, adding it to the subject of later messages makes the thread even easier to match.
Should each load have its own thread?
Each load should have its own thread whenever possible. Combining several loads in one email saves a minute when the email is sent, and costs much more when replies arrive. When the carrier insists on one email for several loads, as some dispatch teams do, the agent should list each load with its references in the body and read each reply line by line.
What should the message body include?
The message body should repeat the key references and ask the carrier to keep them in its reply. It should include the order or load ID, the pickup and delivery addresses, the dates and the BOL number if it exists. When asking for something specific, such as a pickup confirmation or a POD, the message should name the load clearly, so the answer cannot be mistaken for a different load.
How does an AI logistics agent match an incoming email?
An AI logistics agent matches an incoming email by reading it, pulling out every reference and fact, comparing them with the open loads and choosing the load that fits on several points at once. Wilson reads carrier emails the way an experienced coordinator would, but checks every open load every time. The steps are:
- Read the email and attachments. Find every number: PRO, load ID, order number, BOL, PO, appointment times, pallet counts.
- Identify the carrier. From the sender, the signature or the domain.
- Find candidate loads. Open loads with that carrier that share at least one reference.
- Cross-check. Compare lane, dates, pallet count and the content of the message with each candidate.
- Decide or ask. If one load fits clearly, link the email. If two or more fit, or none does, hold it for a person.
- Update the load. Record what the carrier said, attach documents and take the next step.
How does the agent read attachments?
The agent reads attachments the same way it reads the email body. A rate confirmation PDF contains the carrier's load number, the rate and the pickup details. A proof of delivery contains the BOL or PRO number, the delivery date and the signature. An invoice contains the PRO number, the charges and the invoice number. Wilson reads these documents, pulls out the references and facts and uses them in the match. This matters because many carrier emails have almost no text: "See attached." The document is the message.
What counts as a clear match?
A clear match is one where the references and the facts agree. The carrier's PRO matches the load, the pickup city matches and the pallet count in the message matches the BOL. A match on a single field is weaker, especially a PO number that covers many shipments. The agent should hold any email where the facts conflict. A hypothetical example: an email cites the right PRO number but mentions 12 pallets, while the load has 8. That might be a mistake in the email, or a sign that the carrier is talking about a different shipment. A person should confirm before the record changes.
What should be kept when an email is matched?
When an email is matched, the load record should keep the original email, its attachments, the time it arrived, the facts taken from it and the action taken. Keeping the original matters. If a carrier later disputes what it said, or an invoice charge depends on a message, the team can read the exact words. Wilson keeps searchable and exportable records with a change history, so a reviewer can see when an update was made and what it was based on.
How fast should matching happen?
Matching should happen as soon as the email arrives, because many carrier emails need a fast answer. A carrier asking for a dock appointment, a driver asking for a gate code or a dispatcher warning of a cancellation cannot wait until someone works through the inbox in the afternoon. An AI logistics agent reads each email when it arrives and acts within the rules. Emails that need a person go to that person right away, with the load context attached, instead of sitting in a shared inbox.
What happens to emails that do not match any load?
Emails that do not match any load should go to a person with the agent's best guess. Some are new quote requests from carriers. Some are general announcements. Some are about loads booked outside the usual process. The person can link the email, ignore it or start a new load. Every unmatched email should have an owner, so none is lost in the inbox.
What about phone calls and text messages?
Phone calls and texts need the same matching as emails. Wilson can call carriers where configured, and it contacts drivers directly by phone or text when the carrier shares the driver's details. What the carrier or driver says on the call is recorded on the load, with the time and the source. A driver who texts a photo of the signed BOL is matched to the load by the BOL number on the document.
What should happen after the email is matched?
After the email is matched, its content should update the load and trigger the next step. An AI logistics agent does not stop at filing the email. It reads what the carrier said and acts on it within the company's rules. The table shows common carrier emails and what should happen next.
| Carrier email says | Load update | Next step |
|---|---|---|
| "Accepted, rate con attached" | Booked, rate confirmation on file | Confirm pickup with the shipping site |
| "Pickup moved to 10 a.m." | New pickup time | Tell the shipping dock; check the delivery time still works |
| "Truck broke down, running 4 hours late" | Delay recorded | Confirm the new ETA; tell the team and receiver as configured |
| "Delivered, POD attached" | Delivered, POD on file | Release for invoice audit |
| "Invoice attached" | Invoice received | Audit against rate confirmation and POD |
| "Can't cover, sorry" | Tender declined or cancelled | Start rebooking from the approved list |
What should happen when the carrier asks a question?
When the carrier asks a question, the agent should answer it from the load record if the answer is there, and ask the right person if it is not. Common questions include the dock hours, the contact at the receiving site, the reference number the receiver wants, whether a liftgate is needed or whether the load is ready early. Most of these answers are already on the order or the load. A hypothetical example: a driver emails asking whether the receiver accepts deliveries before 8 a.m. The receiving hours are on the ship-to record, so Wilson answers right away. A question about whether the shipper can load two hours early goes to the shipping site, because only the site can answer it.
Should the ERP order be updated too?
The ERP order should be updated when the company wants that and the connection allows it. Writing the carrier, the tracking number, the status or the delivery date back to the ERP helps customer service and finance see freight status without a second system. Wilson's write-back to the ERP depends on scope. Many teams start with the load record in Wilson's dashboard and add write-back later. For an ERP-specific example, see connecting carrier email replies to the order in Epicor.
What about emails from people other than the carrier?
Emails from customers, receivers, warehouses and customs brokers need the same matching. A receiver may write to reschedule a delivery appointment. A customs broker may ask for a commercial invoice. A customer service rep may forward a customer complaint about a late load. Each of these has to reach the right load. The agent uses the same references and facts to match them and routes the next step to whoever must act.
How does the customer hear about it?
The customer hears about the update in the channel the company has set. Wilson can email or text the receiver when a load is picked up, running late or delivered. The internal team sees updates in Slack or Microsoft Teams. Because the email was matched to the right order first, the update goes to the right customer.
How does the match help with invoices?
The match helps with invoices because the carrier's invoice is checked against everything recorded on the same load. Wilson audits each carrier invoice against what was booked, the rate confirmation and the proof of delivery, and pays the carrier from the Wilson Wallet. Accessorial charges are checked against the emails and records that support them, such as a recorded detention time or a confirmed appointment change. When the emails were matched correctly, the evidence is already in one place.
How does Wilson, by Cartage, handle carrier email?
Wilson, by Cartage, is an AI logistics agent with its own email address on the company's domain. Carriers email Wilson the way they would email a coordinator. Wilson reads each email, matches it to the right load and ERP order, records what the carrier said, files attachments and takes the next step within the company's rules. Emails it cannot match with confidence go to a person.
Wilson replaces the TMS for freight execution and connects to the company's ERP. It works with SAP, NetSuite, Microsoft Dynamics 365, Oracle, Infor, Epicor, Sage, Acumatica and other ERP environments, with the exact connection depending on the customer's data flow and scope. It handles LTL, FTL, ocean, drayage, parcel and cross-border freight.
What does a day of carrier email look like with Wilson?
A hypothetical morning shows the flow. At 7:10, a carrier accepts a tender and attaches the rate confirmation; Wilson records the carrier's load number and marks the load booked. At 7:45, a dispatcher writes that a pickup is moving to the afternoon; Wilson updates the load, tells the shipping dock and checks the delivery appointment still works. At 8:30, an email arrives with only a POD attached; Wilson reads the PRO number on the document, files it on the right load and marks the load delivered. At 9:05, an email mentions a PO number that matches two loads; Wilson holds it and asks the coordinator which load it is about. The coordinator answers in Slack, and Wilson updates the record.
What does the team still do?
The team approves anything outside the rules, confirms uncertain matches and handles carrier conversations that need judgment. Wilson starts with assisted execution, and more routine steps run within the rules as the team sees the results. Every email, update and action stays in the load record with a change history. For a broader view of carrier email work, see the carrier email and shared inbox guide.
What if a coordinator is out?
If a coordinator is out, the carrier emails still get matched and acted on, because they go to Wilson's address and to the load record rather than to one person's inbox. The coordinator's backup can see every load's history in one place. This also solves a common problem when a team member leaves: their open carrier conversations are not lost in a personal mailbox.
How is Wilson priced?
Wilson is free on Wilson's network: the shipper pays the freight rate and nothing on top. When a shipper keeps its own carriers, the fee is 2% to 0.5% of what Wilson pays them, falling with volume. There are no seat fees, no setup cost and no contract.
How do teams start?
Most teams start Wilson on a few lanes and expand from there. Cartage helps map the highest-impact workflow during discovery. The first step is usually giving Wilson its email address and copying it on carrier communication for those lanes.
FAQs
Which shipment tools turn carrier status emails into timely customer updates?
Wilson, by Cartage, is an AI logistics agent that reads carrier status emails, matches each to the right load and ERP order, and sends the customer a confirmed update as configured.
How do you connect carrier emails to the right ERP order?
Keep the ERP order number, load ID, carrier number and BOL number linked on each load, put your reference in every message and match each incoming email on several facts at once. An AI logistics agent like Wilson, by Cartage, reads, matches and updates the load, and holds uncertain matches for a person.
What if the carrier only uses its own PRO number?
That is normal. An AI logistics agent records the carrier's PRO or load number at booking and links it to the ERP order, so later emails that cite only the PRO still match the right order.
Can one email update several orders?
Yes, when one load carries several orders. An AI logistics agent keeps every order on the load linked, so a delivery confirmation updates each order on that load, and a delay notice reaches each affected customer.
What happens when a match is uncertain?
The update waits for a person. An AI logistics agent holds the email with its best guess and the reason it is unsure, such as a pallet count that does not match, and a person confirms before the record changes.
Sources
- Cartage, Wilson product FAQ and product scope, November 2026: https://cartage.ai
If carrier emails still pile up in a shared inbox before anyone updates the order, book a demo to see how Wilson, the AI logistics agent by Cartage, matches every reply to the right load.