Design a Real-Time Invoice Processing System for Bangladesh's SME Sector with Intermittent Internet Connectivity
Task Description:
Context & Scenario:
You're building an AI-powered invoice processing platform for small and medium
enterprises (SMEs) in Bangladesh. The system needs to extract data from invoices,
validate information against supplier databases, and sync with accounting software.
However, 40% of your target users operate in areas with unreliable internet connectivity
(similar to the 13.7% rural connectivity challenge in emerging markets). Power outages
occur 2-3 times daily for 15-30 minutes each.
Business Constraints:
● Monthly budget per client: $15 USD
● Must handle 200-500 invoices per month per client
● 60% of invoices are handwritten or poorly scanned
● Clients use a mix of desktop computers and mobile devices
● Data privacy regulations require data to stay within Bangladesh.
My Task: Design a system architecture that balances:
- Offline-first functionality vs. Cloud-based AI processing capabilities
- Data accuracy and validation vs. Processing speed during connectivity windows
- Local device storage constraints vs. Centralized data consistency
- Cost efficiency vs. Feature richness
My Deliverables:
● High-level architecture diagram showing data flow in both online and offline modes
● Justification for your synchronization strategy and conflict resolution approach
● Trade-off analysis explaining why you chose specific technologies
● Failure mode analysis: What happens during extended outages (6+ hours)
i. In offline functionality there needs to be made invoice manually which is very time consuming.
ii. Offline functionality is very easy for village and illiterate people because they can’t understand online cloud-based AI processing functionality.
iii. There haven’t faced outages which also face in online cloud-based AI processing functionality.
iv. There haven’t faced lower connectivity problems which also face in online cloud-based AI processing functionality.
i. In online Cloud-based functionality there needn’t to be made invoice manually which is less time consuming.
ii. Online Cloud-based functionality is very easy for city and literate people because they understand online cloud-based AI processing functionality.
iii. There sometime face outages which isn’t faced in Offline functionality.
iv. There sometime face lower connectivity problems which isn’t faced in Offline functionality.
v. During data uploading time if there face any outages and low connectivity problems then it will store temporarily. When there will be reconnection within 6 hours then it will to API for validation.
When customers submit their invoice then the API check those data are valid or not. If submitted data are valid then it will store into database and also give a successful message so that the customers can understand that their invoice completed successfully. On the other hand if the submitted data aren’t valid then it fail to store into database and also give an error message so that the customers can understand that their invoice have some error.
Local device storage means when all the data of the invoices are stored onto a local computer and those data can be updated and deleted from that desktop computer. But it has some problems or constraints if the computer CPU or memory suddenly will face any problem then those data can’t store or access. Besides we can’t remote access those data from another device.
i. When customers create and process invoices through an online or hybrid platform, their transportation costs, printing expenses, and manual labor costs are significantly reduced.
ii. By utilizing scalable cloud resources, the system is designed to maintain an average monthly cost below $15 per client.
ii. If these additional features improve accuracy, automate our services but also increase system complexity, and maintenance costs.
