How we make sure your tax return is correct
Read in 3 minutes
We’re often asked, “How can you be sure the app calculates my tax return correctly?” It’s an important question with many layers. There is the initial tax knowledge by our tax advisors and the following translation into code-logic by our developers. But there is much more. Like making sure, updates or new features don’t break older structures, preventing security lacks, and testing every feature on different levels.
We are proud that Accountable is a product built and tested by a strong group of tax advisors and developers. Even though every one of them has their own responsibilities and specialization, the app is a product of real teamwork. There is Juan, for example, who built the VAT feature for Germany together with the input by our tax advisors Mira and Andreas. Jules on the other hand translated the complex income tax rules into a real feature. Melinda is responsible for the many levels of testing and Mokhtar is taking care of security tests.
Translating German tax rules into code
Our tax advisor partners were there from the very beginning. Having them on board is crucial to make sure, all tax regulations are correct and complete in the app.
So, before our developers begin to work on a new feature, we sit down with our tax advisor partners who provide us with the knowledge of the official law and rules. A feature like the VAT return, for example, is developed together with our partners who are specialists in this field. Later on, once the feature is developed, they test and QA the app, trying to challenge the feature and check if the results they get are correct every time.
Sometimes, this process can be quite challenging, because tax rules are not as fixed as they might seem. People often assume the tax law is strictly defined and regulated. But as you dive deeper into the topic, you realize there can be different interpretations and tax advisors often disagree. That’s why we consult with several different partners to get the best understanding of difficult tax regulations.
A lot of testing and validation
Rejecting inconsistent data
Once we are sure the tax law and its regulations are translated into code, we have to ensure there is no room for mistakes. So, we built regulations that make sure that entered data is logical and compliant with the official rules. Should you, for example, select Reverse Charge for an invoice but also enter a VAT amount, the app knows something is wrong and will reject the input.
Regular and frequent testing
Running different types of tests not only for usability or functionality but also for correctness is a huge part of our development process.
That’s why we run automated tests every day to check the Accountable app for false input in the database.
A crucial part play the so-called unit tests which examine the smallest fractions of the app. These tests decompose the codebase into little parts and check whether what you put in leads to the correct, expected output. For example, when you create a list of expenses and invoices you should get a certain amount. A unit test checks if the issued amount is correct. Thousands of those tests in the code are running several times a day, every time before we deploy the code.
We also run similar tests, on the level of the features. These are called integration tests and check for errors between the single units.
Finally, we run end-to-end tests which actually audit the frontend of the app, so the part the user sees. These tests verify that larger functions give the correct output. It checks, for example, if the VAT amount for a specific line in the VAT statement is computed correctly. We run automated as well as manual end-to-end tests, especially when we fix a bug or set live a new feature.
Also crucial for us are regression tests, which ensure that nothing in the old code breaks when we add new features.
Sometimes there can be unplanned, unpredictable consequences when deploying new code. For example, when you change something related to the income tax feature but don’t realize it’s breaking the VAT feature. Without a regression test running on the entire app, you might not see these errors as fast and early.
In the end, every time we deploy a new feature we test them manually with real user cases, once in the app and once with our tax advisors. Only when every result the app calculates corresponds with the results of our tax advisors, we set live the feature.
IT security audits
Other very important and related procedures are the security audits that happen every year. Accountable is an official regulated financial institution, so we are subject to government audits and controlled by the BaFin. We also have regular IT security audits by security consultants who try to find and hack security breaches in our system. Luckily, this has never happened.