One Lake, Three Names: Building Systems That Survive a Sudden Change to the Facts

Lake Ontario now appears as Lake America inside the United States, under its old name in Canada, and with both names everywhere else. The story looks political, but it is an engineering test for any system that stored the name as a fixed truth. A practical guide to infrastructure that absorbs changes to place names, tax rates and regulations without rewriting code every time.

Origami TeamEditorial Team
7 min read
One Lake, Three Names: Building Systems That Survive a Sudden Change to the Facts

On 27 August 2026 a US executive order renamed Lake Ontario to Lake America in the federal geographic names database. Three days later Google Maps applied the change, and Apple Maps followed on 2 September. Canada rejected the name, and the border between the two countries runs through the lake itself.

The result is that a single geographic entity now carries three labels depending on where you are looking from: people in the US see Lake America, people in Canada see Lake Ontario, and everyone else sees both. This is not the first case; the Gulf of Mexico was renamed the Gulf of America last year on the same logic.

It is easy to read this as political news and move on. What actually happened is an engineering test: every system in the world that stored this lake's name as fixed text is now showing wrong information to a portion of its users. The question that matters to us: is your system built to absorb that kind of change?

The root mistake: storing the label instead of the identity

Most systems store what the eye sees. A text field called city holds Riyadh, a country field holds a country name, a tax rate is a number written into the code. That works efficiently until the fact itself changes, and you discover your historical data can no longer be interpreted.

The engineering rule is simple: store a stable identifier and render the label at display time. The lake is an entity with an identifier that does not change, and multiple names depending on language, context and official source. Store the identifier and a rename becomes an update to one reference table. Store the name and it becomes a full data migration project.

What actually changes in the life of a Saudi company?

The lake is a distant example. The list is not:

  • Tax rates. Saudi VAT moved from 5% to 15% in 2020, and companies that wrote the number into their code had a hard week. Worse than the change itself: old invoices must keep their old rate.
  • E-invoicing requirements. Integration waves with ZATCA arrive in phases, and each wave can carry a change to the technical specification.
  • Country names. Türkiye became the official UN name in 2022, Macedonia became North Macedonia, Swaziland became Eswatini. Any country list typed by hand into your system is already out of date.
  • National address and data formats. Postcode, national ID, IBAN and entity number formats get updated, and every validation written as a rigid regular expression breaks at the first extension.
  • Taxes in other markets. If you sell outside Saudi Arabia, change arrives from countries whose news you do not follow — as happened this month when app stores added new taxes in three countries at once.

Five principles for infrastructure that absorbs change

  • Identifiers, not labels. Tie every entity to a stable identifier and keep names in a separate table that accepts more than one name per entity, by language and by source.
  • Effective dating on every changeable value. A tax rate is not one number but a series of values, each with a start and end date. This alone solves reprinting an old invoice at the correct rate, and prevents an accounting disaster at the first audit.
  • Reference data as configuration, not code. Lists of countries, currencies, taxes and regions live in a table or config file an authorised administrator updates — not in constants inside the code that need a release and a development team.
  • A display layer separate from storage. What is stored is one thing; what is shown is another. Once a system separates them, showing different names to different users is a setting rather than a rebuild — which is exactly what Google did with the lake.
  • One source of truth. If the tax rate is written in the database, in the invoice template and in the sales report, you own three copies that will inevitably disagree. Pick one place and make the rest read from it.

A practical check on your system this week

This does not need a project. Sit with your developer and ask five questions:

  • If the tax rate changed tomorrow, how many files do we edit? And do old invoices stay correct?
  • Where is our list of countries and currencies — in a table, or written into the code?
  • Do we store city names as text, or as identifiers linked to a reference?
  • What happens if the authority adds a digit to the national ID or changes the postcode format?
  • How many places in the system know the tax value? If it is more than one, that is your next problem.

The answers expose your fragile points in half an hour, and most of them are fixed in days when handled before they are needed rather than after.

The Origami view

We see a lesson here that we repeat to clients: a good system is not the one that works today, but the one that absorbs a changing world without being rewritten. The difference between the two is not the programmer's cleverness but simple design decisions taken in the first week: an identifier instead of text, an effective date instead of a fixed number, a reference table instead of a list in the code.

Those decisions cost hours at the start and save weeks later. We have seen companies stop invoicing for days over a regulatory change that could have been absorbed by updating one row in a table, and the cause is always the same: a value written into a place that was never designed for it to change.

Conclusion

A lake was renamed in one country and the name rejected in another, so it now carries three labels at once. This is not an exception; it is a miniature of what happens to reference data constantly. Taxes, names, formats and regulations change by external decision you do not control. What you do control is your system's readiness, and that is decided in the design, not at the moment of change.

Sources

  • The official Google blog — the statement on applying the name change in Google Maps and how it is displayed to users in the US, Canada and the rest of the world, 30 August 2026.
  • Reuters, TIME and BBC coverage of the executive order on 27 August 2026, the Apple Maps change on 2 September, and Canada's position.
  • ZATCA zatca.gov.sa — the official reference for VAT rates and e-invoicing phases.
  • The United Nations — the adoption of Türkiye as the official name in 2022, as a documented example of country name changes.
#System Design#Reference Data#E-Invoicing#Change Management#Infrastructure

Frequently asked questions

What happened to the name of Lake Ontario?

A US executive order on 27 August 2026 changed it to Lake America in the federal geographic names database. Google Maps applied it three days later and Apple Maps on 2 September, while Canada rejected the name.

Why does the name differ by country?

Because Google displays names according to each country's official sources. People in the US see Lake America, people in Canada see Lake Ontario, and everyone else sees both names.

What does this have to do with company systems?

Any system that stored the name as fixed text now shows wrong information to some of its users. The wider lesson is that reference data — taxes, country names, data formats — changes by external decision, and your system should absorb it without a rewrite.

What is the single most important principle?

Store a stable identifier for the entity and render the label at display time, instead of storing the name itself. A rename then becomes an update to one reference table rather than a data migration project.

How should I handle a change in the tax rate?

Treat the rate as a series of values each with a start and end date, not as a single number. That keeps old invoices at their correct rate when reprinted or audited.

How do I know if my system is fragile?

Ask your developer: how many files change if the tax rate changes tomorrow? Where is the country and currency list? How many places know the tax value? Multiple places is the first sign of fragility.

Follow Origami in Google

Pin Origami as a preferred source and our articles will surface first for you in Google Search and Top Stories.

Add as a preferred source on Google

Related articles

Saudi National Center for Meteorology Issues 34 Weather Alerts Today: What Your Team Should Do on Yellow, Orange and Red
Business Systems

Saudi National Center for Meteorology Issues 34 Weather Alerts Today: What Your Team Should Do on Yellow, Orange and Red

The National Center for Meteorology shows 34 active alerts today, 4 of them red. What your team should do at each colour, and how alerts can reach your systems automatically.

6 min read
WhatsApp Business Verification Now Comes With a Monthly Plan From 56 Riyals: Which One Do You Need?
Business Systems

WhatsApp Business Verification Now Comes With a Monthly Plan From 56 Riyals: Which One Do You Need?

WhatsApp Business verification now sits in Meta One: four plans from about 56 riyals a month, what each includes, and when the free app is enough.

6 min read
iPhone Duo Price in Saudi Arabia Starts at SAR 9,499: Buy It in Your Company's Name and Recover SAR 1,239 in VAT
Business Systems

iPhone Duo Price in Saudi Arabia Starts at SAR 9,499: Buy It in Your Company's Name and Recover SAR 1,239 in VAT

iPhone Duo costs SAR 9,499 to SAR 15,499 on the Saudi Apple Store, VAT included. Bought by your business for work, about SAR 1,239 of that is recoverable with a proper tax invoice. Here is what to arrange before the 23 October launch.

6 min read
Cash Application and a 90-Day Plan to Digitize Sales
Business Systems

Cash Application and a 90-Day Plan to Digitize Sales

Cash application matches every transfer that reaches your account to the invoices it pays, so you never chase a customer who has paid. Part seven, the final part of Digitizing Sales, covers three cases that confuse matching and four tools that solve them, a week-by-week cash view set against supplier payments, and a 90-day plan for digitizing sales in an order that never stops selling for a single day.

7 min read
Receivables Aging Report: Collect on a Schedule, Not Memory
Business Systems

Receivables Aging Report: Collect on a Schedule, Not Memory

A receivables aging report sorts every unpaid invoice by age from its due date; a collection calendar sets what happens to each one, and when. Part six of Digitizing Sales covers aging buckets set by the owner, reminders before, on and after the due date, escalation and the hold on new deliveries, a call log with payment promises, the monthly customer statement, what the law says about an unpaid promissory note, and the conditions in Article 40 of the VAT Implementing Regulations for reducing output VAT on a debt that was never collected.

7 min read
Why Customers Pay Late: On-Time Invoices, Logged Disputes
Business Systems

Why Customers Pay Late: On-Time Invoices, Logged Disputes

Customers often pay late because the invoice went out late, reached someone who cannot approve it, or carries a dispute nobody owns. Part five of Digitizing Sales covers the deadlines for issuing a tax invoice and a monthly summary invoice under the VAT Implementing Regulations, why an invoice is corrected after issue with a credit or debit note on time rather than deleted, and how a dispute log gives every objection an owner, a reason and a date, so the undisputed part of the invoice stays collectible.

7 min read

Have a project in mind?

We build custom systems, apps and websites for your business. Tell us your idea and we will give you a straight answer on it.

One session. Twenty minutes. No commitments.