L o a d i n g
UI/UX Design

Numetric

Category
Design
Duration
3 Months
Start Date
7 March 2023
Designer
Sumit Barapatre

challenges

While working with numertic, numerous challenges arise, particularly in the context of accounting software. Developers must possess a solid comprehension of accounting principles and employ a well-designed schema to ensure data storage aligns with these principles. Upon establishing the project scope, we identified additional requirements, such as invoice customization, enabling multiple email logins for a single account, and facilitating the sending of private transactional emails through the platform. To handle subscription management, we integrated PayPal as our payment aggregator. However, we encountered several limitations, particularly with regards to the difficulty of upgrading and downgrading subscriptions. The addition of third-party services posed a significant challenge as we had to modify our application logic to align with their principles and requirements.

solutions

As we commenced the project, we recognized the team's need to gain clarity on accounting principles. To accomplish this, we sought interactions with various financial experts. Consequently, we swiftly acquired a solid understanding of the fundamental rules of accounting. The creation of customized PDF invoices posed a non-trivial challenge. To address this, we developed our application logic to handle the customization and utilized the PDF creation library in Node.js. Our approach aimed to provide a generalized solution, enabling seamless further customization. In order to ensure user data privacy when sending transactional emails, we implemented a feature within the platform. Rather than relying on a common platform mail service, we allowed users to configure their own email settings using Amazon SES. For subscription management, we opted for PayPal as the payment aggregator to accommodate region-specific requirements. Given the presence of multiple subscriptions and the ability for users to switch between them, we implemented upgrade and downgrade options with corresponding additional charges (as specified in the project requirements). Our application logic was designed to handle all possible scenarios. After integrating Zapier as a third-party service, we realized that we needed to rewrite the backend APIs to establish effective communication with their services. However, instead of taking that approach, we developed mapper functions that served as middlewares. This alternative solution significantly expedited and streamlined the development process, resulting in faster and cleaner code.