Fuel is a published fact that disagrees by carrier more often than finance wants. The naive design is one table plus “overrides.” Overrides go sparse. Sparse tables get filled from the parent. Suddenly a carrier you listed on a premium branch is priced off Default because Thursday’s row was empty.
Sonic’s design is blunter. Every rate index has Default. Optional branches list carriers and carry their own values. A carrier belongs to one branch. Rating asks: is this contract’s carrier on a branch? If yes, that series. If no, Default. If the chosen series has no covering date, fuel is skipped — the same as a gap on Default.
Draft invoices recompute when you save the index. Issued invoices keep what they were billed. That pairing is the same philosophy as frozen sent invoices everywhere else on the chain.
Operators rename branches in place. Remove a branch and those carriers return to Default. There is no third secret table.
If you need a Thursday rate, publish Thursday. Do not hope.