A duty rate changes. The question every purchasing manager gets that week is "what does this do to us?" — and the honest answer, for most small manufacturers, is we'll need a few weeks to work that out.
It should be an afternoon. The obstacle is never the arithmetic.
The break-even duty rate
For any part with both an offshore and a domestic quote, there is a duty rate at which they cross:
landed_offshore = unit_o × (1 + t) + freight_per_unit + carry
landed_domestic = unit_d + freight_d
t* = (unit_d + freight_d − freight_o − carry − unit_o) / unit_o
Worked, on a part quoted at $6.10 offshore and $8.35 domestic, freight $0.55 and $0.10 per unit respectively, carrying cost $0.30 from the longer pipeline:
t* = (8.35 + 0.10 − 0.55 − 0.30 − 6.10) / 6.10
= 1.50 / 6.10
= 0.246 → 24.6%
Below 24.6% duty, offshore still wins. Above it, domestic does. That single number is the entire decision for that part, and it doesn't change when the news does — only which side of it you're standing on.
The table that answers the whole question
Compute t* once per part, sort ascending, and you have a standing switch list:
| Part | Offshore | Domestic | t* | At 15% duty | At 30% |
|---|---|---|---|---|---|
| Bracket A | $6.10 | $8.35 | 24.6% | offshore | switch |
| Housing B | $22.40 | $24.10 | 4.9% | switch | switch |
| Shaft C | $3.05 | $6.90 | 118% | offshore | offshore |
Housing B was already marginal — a 5% duty flips it. Shaft C would need a duty above 100% before domestic makes sense; it isn't worth re-examining every time the rate moves. The parts to watch are the ones with a low t*, and you can only know which those are if you keep both quotes.
Two costs the equation hides
Requalification. First article, PPAP where it applies, and the risk of a
new supplier's learning curve. Amortise it the way you would tooling — over the
expected life of the decision, not the first order — and add it to the domestic
side. It routinely moves t* by several points.
Reversibility. Duty rates move both ways. A switch that pays at 30% and loses at 12% is a bet on the rate holding, and the cost of being wrong is another requalification. Where the margin is thin, dual-sourcing costs less than guessing.
How this gets solved
Every input above is a quote you already received. The reason the answer takes weeks is that the losing quotes were never stored — you kept the award and the PO, and the comparison that justified it lived in a spreadsheet somebody has since reorganised.
RFQTrace keeps every quote, not just the winning one, attached to its RFQ with
quantity, date and supplier. That's what makes a rate change a query instead of
a project: the alternative price for each part is already on file, and t* is
arithmetic over data you have.
The losing quote is worthless on the day you award it, and it's the most valuable number you own the day the rules change.