Why
I wanted to find a niche where AI would solve something for real. I asked my dad which process took him the longest and repeated the most. He said entering electronic invoices (CFDI) for the monthly tax return.
He used a program that downloads the invoices from the SAT into Excel, but it doesn't classify anything. Every month he built the formulas and the classification for each client by hand.
My dad, by hand, every month, for every client
The hard part wasn't the code
It was understanding the tax logic: how each item is classified and why. At first there were errors I couldn't see because I didn't know enough. Through the project I learned a good part of my dad's job, and every rule in the system had to be backed by the law. In tax work, accuracy comes first, because one mistake hurts everyone.
Since I depended on his knowledge, I also had to work around his schedule.
Trust before features
Most of the work went into making the data reliable and making sure clients' data never leaks. Credentials are encrypted and the dashboard only lets my dad and me in. There are tests that kill the process halfway through to check that nothing breaks, and backups with tested restores.
One story sums it up: sometimes the SAT accepts the request and delivers zero invoices without flagging any error. One client showed $0 in months that did have activity. I built a guard that detects that suspicious zero and stops it before it reaches a tax return.
v1
On October 30 we reviewed two clients together against how they had actually been filed, and the results were quite accurate. The system also surfaces information that used to take digging to find. Now we're checking it against all of October before it replaces the old process.
What didn't work
In mid-September the system worked as support, but it couldn't yet produce final numbers to pay taxes with. From then on the bar stopped being “it works” and became “it matches real tax returns.” My dad also wants it simpler, and I'm working on that.



