As many Americans already know, taxes are neither simple nor straightforward. Lookup tables, conditional branching, dynamic calculations, and numerous provisions add complexity to an otherwise linear process. That goes double (maybe triple) for fintech applications involving taxes, such as payroll processing platforms.
We Write Code takes on our fair share of payment platform engineering and custom integration projects. Along the way, we’ve developed a flexible approach that involves partnering with experts, performing due diligence, and prioritizing around risk. We hope you find our approach helpful as we go into more details.
Partnering with Experts
We’ve occasionally found ourselves wishing we were experts in tax law and Automated Clearing House (ACH) network regulations, if only to help wrap our heads around all the rules. To list a few:
- Pay period restrictions
In Iowa, payments must be made not more than 12 days following the close of a pay period, excluding Sundays and legal holidays. All employees are covered, except those specifically exempt by statute.
- Same thing, different names
“Employee training tax” in one state might be known as “WorkForceTraining Fund” or “Workforce Training Employment” in other states.
- State Unemployment Tax Act (SUTA)
Payroll requirements for employers vary per state. Some states require references to “lookback periods” to adjust ongoing payroll and tax calculations
A more realistic alternative is to find and partner with subject-matter experts (SMEs), such as tax lawyers and Automated Clearing House (ACH) consultants. These SMEs will help you coordinate with other banking partners and develop the business rules that ultimately govern your application.
Finding SMEs often falls to the client, but it is our responsibility as software professionals to communicate with SMEs effectively to get us what we need. So spend time on research, with the goal of building a common vocabulary and understanding with your SMEs. There are many resources offered online by organizations such as Nacha, the governing organization of the ACH Network, and we’ve also attended their educational workshops as well.
Performing Due Diligence
Even when you have the business rules locked down, the technical implementation is no cakewalk. Here are several technical challenges we’ve faced:
- Lack of Third-Party Tools
Due to the complexity of the tax laws, you probably won’t be able to rely on many plug-and-play, third-party calculators and tools.
- Date-Based Logic
Dealing with different time zones and working with state/local rules that only take effect during certain time periods which may or may not align with federal tax periods.
- Legacy Architecture and Unreliable Tests
It’s not always feasible to start greenfield or completely rewrite existing applications.
Performing due diligence means preparing for these challenges by carefully evaluating not just the technical aspects, but also your team members’ abilities and availability, in an effort to identify and reduce risk.
Prioritizing around risk
We Write Code prefers taking a risk-based approach to development over a dogmatic one. This process involves identifying, weighing, and prioritizing sources of potential software issues given client priorities and project constraints:
- What are the consequences if this nightly process fails to run?
- When does this feature need to be implemented to maintain ACH compliance?
Let’s look at test-driven development (TDD), a process where software requirements are expressed as tests before code is written, and 100% test coverage, a goal metric which represents how much of the codebase has been tested. We recognize the value of each approach from an engineering standpoint, but in most cases, you simply won’t have enough time to write everything in a sprint or two. So figure out which features need to be tested (and when) based on the risk they represent to your application.
BrowserStack has a great article outlining a risk-based testing approaching.
There are many factors that contribute to the success of applications involving taxes. By partnering with your SMEs, performing technical due diligence, and prioritizing around risk, you can greatly increase your chances of shipping working fintech applications on time.
Got questions or comments? Let us know!