Bloomberg Tax
March 28, 2023, 8:45 AM

Here’s How We Can Learn and Improve From the French Tax Code

Andrew Leahey
Andrew Leahey
Hunter Creek Consulting

The idea that modernizing the US tax system is insurmountable seems to be behind every shrug and “what can you do?” when discussing the complexity and arcaneness of the tax filing process. And yet, the method of processing income tax returns in France is automated and relies entirely on an algorithm written and maintained by the French Public Finances Directorate, or DGFiP.

The underlying language—from the actual code to the compiler that turns the code in to a machine-readable application—has been repeatedly updated since 1990. It was written to run on processors that were about a third as powerful as the one in your cellphone.

Despite this aging technical infrastructure, the French tax season plays out in a way that would seem like a fever dream for most American accountants and tax attorneys. Taxpayers use a portal, maintained by DGFiP, with pre-filled forms, and can make adjustments before submission, at which time the impôt sur le revenu (income tax) algorithm handles all the calculations.

The underlying language is released under a free software license called CeCILL 2.1, which in itself is a license adapted from the GNU General Public License, and targeted to French projects. Parts of the computation algorithm have also been released, but most remains under wraps. This is a bit of a problem, because when code is law, a lack of access means taxpayers are subject to a law whose contours they can’t see.

The French tax code, as in the actual law, isn’t simple—as the computation algorithm’s 92,000 lines of code should prove. In part owing to its growing complexity, but mostly due to the aging infrastructure and need for transparency, projects have been undertaken to modernize the French tax code.

The first step was to piece together the algorithm from the publicly available parts, reverse engineer the unpublished bits, and fill in the gaps by implementing in software the rules of the actual French tax code. It has been an arduous undertaking and, from a duplication-of-effort perspective, incredibly wasteful. France shows us what’s possible in terms of simplifying the tax code and simultaneously gives us a map of pitfalls to avoid.

We can learn a lot from the French experience. As artificial intelligence takes over more of our lives, the keywords “open source” and “transparency” must be our maxims. There are a couple of reasons for this, chief among them the public’s right to check the government’s work on returns. If automation is taken to the point where a given deduction is met with either a green light or a red light, we’re stuck with the tax return equivalent of a “check engine” light—it clicks on either when one spark plug fails or you’re attempting to start your car at the bottom of the sea. We need to know what’s going on under the metaphorical hood to dispute calculations made by the algorithm.

Second, we should start standardizing and formalizing our tax code. “Star Wars” hangs together as a property much better with Obi Wan always referring to “the force,” not sometimes going with “the forces” or encouraging Luke Skywalker to “use the space magic.”

A wax figure of the actor Mark Hamill as the Star Wars character Luke Skywalker at Madame Tussauds in Berlin
Photographer: Clemens Bilan/Getty Images

Professor Sarah B. Lawsky of Northwestern University Pritzker School of Law has done excellent work making the case that, as new sections of the code are added, they should be simultaneously formalized and represented in symbols with logical connectives. To some degree, this “future proofs” the tax code for ease of eventual automation and will reduce the complexity required in the underlying computation algorithm when that time comes.

This also is a backdoor insurance policy in case we see the same reticence in the US to commit to complete openness as in the French computation algorithm case. The more “algorithm ready” the tax code is made at the statutory drafting level, the less sophisticated the computation algorithm needs to be.

Third, whatever governmental entity undertakes to revamp the code must commit to release all algorithms and software code used in public projects, such as a tax algorithm under known and acceptable open source licenses. There are approximately 80 open source licenses; the projects need not be released under some new quasi-open license that leaves carveouts similar to ones in France. Automation and conversion of statutes to programmatic code should enhance access to justice and improve individuals’ interactions with the government, not provide a pathway for more obfuscation and opacity.

Last, but certainly not least, what we can learn from the French tax code is just how much can be done with a little bit of will and even seriously outmoded technology. France isn’t a small country, its tax code isn’t simple, and it has the seventh-largest economy in the world. The country has been making do with some horrendous hydra constructed of bits of a bespoke programming language and a healthy desire not to lose 1,262 lives to tax filings every year. The idea that we can’t demand simplicity, automation, and more transparency of the US government without huge expenditures simply isn’t true.

This is a regular column from tax and technology attorney Andrew Leahey, principal at Hunter Creek Consulting and a sales suppression expert. Look for Leahey’s column on Bloomberg Tax, and follow him on Mastodon at

Learn more about Bloomberg Tax or Log In to keep reading:

Learn About Bloomberg Tax

From research to software to news, find what you need to stay ahead.

Already a subscriber?

Log in to keep reading or access research tools.