See how Freehand recovers margin you're already losing

Map your commercial agreements to real-world execution - recovering 2-5% in lost margins and ensuring 100% audit coverage.

What to expect in the call

We identify exactly where you’re leaking margins

See how our AI Teams cross-check contracts, and resolve overcharges

Get a savings estimate based on your current spend and systems.

Trusted & Recognized by

KEARNEY
pwc
Gartner

See AI teams in action

T-Codes Explained: The Performance Tax You’re Paying Without Realizing It

Ken Kodger

5 mins

You negotiated carrier rates assuming they’d actually haul your freight. When they don’t, you pay twice, once for the backup carrier, and again by not collecting what’s contractually owed.

freight procurement team at a major automobile manufacturer celebrates. They’ve just negotiated rejection penalty clauses with their top carriers: “If you reject a load, you reimburse us for the incremental cost of finding backup coverage.” Contracts get signed. Legal approves. The penalties are real, enforceable.

Months later, finance runs a report. Carrier rejections, hundreds of incidents. Secondary carrier costs — substantial. Penalty debits filed and collected, a fraction of what’s owed.

What happened to the rest? It wasn’t disputed and lost. It was contractually owed and simply never claimed because treating rejections as commercial violations doesn’t scale when enforcement requires manual effort per incident. For an automaker with whom we are talking, that gap costs more than $7 million in a single year. There have been instances where almost 100 T-Code shipments were created in one week, costing shippers anywhere between $100,000 — $150,000. In one week, folks! The penalties worked as deterrents on paper. They failed as enforcement mechanisms in practice.

Now if you’re wondering about the term T-Code, it’s pretty simple. A T-Code (transaction code) is an SAP-specific term used to record and classify operational events within the system. In freight and transportation contexts, T-Codes are often used to log carrier actions such as load rejections, tender failures, or execution exceptions. They serve as an internal signal that something deviated from plan, triggering operational workflows like re-tendering or escalation. However, T-Codes are primarily operational markers, not financial ones, they document what happened in execution, but do not automatically enforce commercial consequences such as penalties, debits, or cost recovery unless those actions are explicitly initiated downstream.

The Performance Assumption Built Into Your Rates

When procurement negotiates a contracted rate with a carrier, that number reflects committed capacity, service reliability, equipment availability, and willingness to show up when dispatched. The rate assumes the carrier will actually perform.

When a carrier rejects a load for any reason, ranging from can’t take it, driver shortage, to equipment breakdown or already committed elsewhere, you don’t just lose the contracted rate. You lose the entire performance commitment that rate represented. You’re back in the market, scrambling for coverage, often paying spot rates to backup carriers who charge premiums because you need it now, and they know it. That cost difference isn’t just variance. It’s a performance tax. You’re paying a premium for the same service because someone failed to deliver what they committed to deliver.

But here’s what stings: The carrier already agreed to reimburse you for that incremental cost. It’s in the contract. Procurement negotiated it. Legal reviewed it. The carrier signed it. The money is owed. It just never gets collected.

The Cost That Never Gets Recovered

When a carrier rejects a tender, the planner logs the rejection, secures backup capacity at short notice, and moves the load at spot-market rates. The shipment delivers. The customer is satisfied. The operational crisis is over.

What never happens next is the commercial follow-through. Most carrier contracts include penalty or recovery clauses for late rejections or failed tenders, allowing the shipper to reclaim the incremental cost caused by the rejection. But filing that recovery requires treating the rejection as a commercial failure, not just an operational inconvenience.

In reality, operations teams move on to the next load. Evidence is scattered across systems. No debit is raised. No recovery is pursued. Not because the contract disallows it, and not because the data doesn’t exist, but because no one is accountable for turning an operational exception into a financial claim. The cost quietly stays with the shipper.

t.

Why Contract Penalties Exist (And Why They Don’t Work)

Procurement adds rejection penalty clauses for good reason. When a primary carrier says yes, you plan around that commitment. You don’t tender to alternates. You don’t hold backup options. You trust the relationship.

When that carrier rejects at the last minute, the cost isn’t just financial. It’s operational disruption, planner time, customer risk, and relationship strain with whoever scrambles for backup. Penalty clauses are designed to force accountability. If rejections have real financial consequences, carriers will manage capacity more carefully. That’s the theory.

In practice, penalties only work if they’re enforced. And enforcement at scale, across hundreds or thousands of annual rejections, requires treating each incident as what it legally is: a breach of commercial commitment that triggers a financial obligation.

But no one in the organization is staffed nor is the business process structured to do that.

The Cultural Misclassification Problem of T-Codes

This is where T-code recovery breaks down, not in the contract or data, but in how different teams categorize what a rejection means. What’s a T-code? If you’re in freight, you know this, but for the larger populace let me elaborate.

A T-Code is an internal freight classification used by automobile organizations to label shipments where premium or non-standard freight was incurred specifically due to carrier failure, most commonly a carrier’s inability to move a load as contracted.

In other words: A T-Code flags a shipment where the carrier’s performance deviation triggered a cost escalation that is contractually recoverable from that carrier.

It is not a carrier charge type. It is a shipper-side causality code applied to premium freight moves to indicate carrier fault.

  • Operations treats rejections as normal variance. Carriers have bad days. Capacity gets tight. Equipment breaks. It’s frustrating, but it’s logistics. You handle it, find coverage, move on. Filing debits isn’t a focus for the planner’s workflow. Their metric is “freight delivered on time,” not “penalties collected.”
  • Finance treats secondary carrier costs as legitimate expenses. The backup carrier hauled the freight. They earned payment. The invoice matches the shipment record. From AP’s perspective, both transactions are valid. There’s no flag saying “this cost should have triggered a debit against someone else.”
  • Procurement treats penalties as deterrents. The threat is what matters. Carriers know the clause exists. Whether debits actually get filed is someone else’s problem. Procurement’s job was to negotiate the protection. Enforcement isn’t their department.

Result? Rejections get classified as “operational variance” instead of “commercial violations.” Secondary costs get processed as “valid AP transactions” instead of “recoverable incremental expenses.” Penalties get filed only when someone manually decides a particular case is worth pursuing.

Which means enforcement happens inconsistently. High-dollar incidents might get attention. Chronic offenders might trigger escalation. But the vast majority, each one contractually triggering a reimbursement obligation, simply get absorbed as cost of doing business.

That’s how more than $7 million disappeared for a global automaker. Not stolen. Not hidden. Just never claimed, because claiming it would require reclassifying hundreds of “operational variances” as “commercial violations requiring financial remedy.” And no one has the bandwidth to do that manually at scale.

What Changes When You Reframe T-Codes as Performance Failures

The breakthrough is in enabling the business process. What if every carrier rejection was automatically treated as what it is contractually: a commitment breach that triggers a financial obligation?

Suddenly, T-code recovery isn’t about “finding time to file debits.” It’s about enforcing the contracts you negotiated. It’s about holding carriers accountable for commitments they made. It’s about not subsidizing their capacity management failures with your margins.

The almost 100 T-code shipments that cost $100,000+ in a single week? Those aren’t just premium freight incidents, but 100 contract violations. Each one represents a carrier saying “yes” and then saying “no”, and you paying the price for their failure to perform.

When you frame it that way, the question shifts from “Do we have time to pursue this?” to “Why are we subsidizing performance failures?”

And remember, what you really want is your partner carriers to perform and never have the need to flag a shipment with a T-code nor process a debit. When you automate this process & they are hit with the costs, it puts them on notice.

How AI Agents Change the Enforcement Economics

Domain-specific AI changes the game by automating commercial enforcement at scale.

  • Immediate penalty triggering: The moment a carrier rejects a load and a secondary carrier is assigned at a higher cost, the agent identifies this as a contractual event. It pulls the original contract rate, the backup rate, calculates the delta, checks the contract for penalty terms, and generates a debit package automatically.
  • No manual case-building: The debit memo comes pre-filled with rejection timestamp, reason code, backup carrier details, cost delta calculation, and contract clause citation. The Agent files this with the carrier up to a certain dollar threshold. Larger depts can undergo human review, approval, and then it gets filed in a matter of few clicks.
  • Consistent enforcement: Every rejection gets the same treatment. No incidents fall through the cracks. No high-value cases are prioritized, while smaller ones get ignored. The contract is enforced uniformly, exactly what penalty clauses are designed to achieve. The “pennies” will add up.
  • Carrier behavior shifts: When carriers know rejections automatically trigger penalty claims, not sometimes, but always, the calculus changes. Performance improves because failure is no longer subsidized by your inaction.
  • Pattern visibility: Beyond individual debits, the agent tracks which carriers reject most frequently, which lanes have chronic capacity issues, which contracts drive better performance. That intelligence feeds back into Operational QBRs as well as procurement strategy: which carriers deserve more volume, which need contract revisions, which should be replaced.

This isn’t about working harder. It’s about making enforcement automatic so the contract you negotiated actually protects you.

From Cost Absorption to Performance Accountability

The “as-is” state: Rejections happen. Secondary costs get paid. Penalties go uncollected. Carriers learn that commitments are suggestions. The performance tax gets absorbed as an unavoidable variance.

AI-agent enforced state: Rejections happen. Secondary costs get paid. Penalties get filed automatically. Carriers learn that commitments have consequences. Performance improves because failure costs are no longer invisible.

The strategic impact is even larger. When you stop subsidizing carrier performance failures, you change the commercial relationship. Carriers who can’t honor commitments lose volume. Carriers who perform reliably get rewarded. Your freight network gets stronger because accountability is built in, not bolted on…and ultimately, a stronger network leads to a better experience for your customers.

The Diagnostic Question

Pull your last quarter’s carrier rejections. For each one where a secondary carrier was used at higher cost, ask: Did we file a debit? If the contract allowed recovery, did we claim it? If not, why not?

If the answer is mostly “no” or “didn’t have time” or “not worth the manual effort,” then you’re paying a performance tax. You’re subsidizing carrier failures. And you’re leaving contractually owed money on the table, not because it’s not recoverable, but because recovery doesn’t scale manually.

The solution isn’t working harder. It’s making commercial enforcement automated, contextual, and intelligent. So the penalties you negotiated actually work the way they were designed to: making performance failures costly for the carriers who cause them, not for you.

Ken Kodger

In this Article

Lorem ipsum dolor sit amet consectetur.