EDFlow — From International Payments to Export-Ready Paperwork

Inspiration

The idea behind EDFlow came from our interest in solving a real-world problem faced by Indian freelancers and service exporters.

We realized that receiving an international payment through platforms like PayPal is only one part of the process. After receiving the money, exporters still have to manage invoices, transaction fees, FIRA documents, payment reconciliation, purpose codes, and export-related paperwork.

Handling all these tasks separately can become confusing, time-consuming, and prone to errors.

As a team, we wanted to build something that could bring these scattered processes together in one place and make the overall workflow easier to manage. That's how EDFlow started.

What it does

EDFlow is a platform designed to simplify international payment reconciliation and export documentation for Indian service exporters.

It brings several important features together:

  • PayPal Integration: Supports PayPal Sandbox workflows for invoice payments and payment capture, including transaction fee and net amount tracking.
  • FIRA Processing: Extracts relevant remittance information from supported FIRA PDF documents.
  • Payment Matching: Matches remittance records with corresponding invoices and payment records using defined reconciliation logic.
  • Exception Management: Identifies unmatched or inconsistent transactions that need further attention.
  • Purpose Code Adviser: Provides purpose-code recommendations based on predefined rules for users to review.
  • EDF Pack Generation: Prepares monthly draft worksheets and summaries to support export documentation.
  • AI-Assisted Suggestions: Includes an optional AI integration for additional insights while keeping important decisions under human control.

Our main goal is to reduce manual work and help exporters keep their financial records and documentation organized.

How we built it

We built EDFlow together as a full-stack web application, combining our ideas and technical skills to develop different parts of the platform.

For the frontend, we used React, TypeScript, Vite, and Tailwind CSS to create an interactive workspace with dedicated sections for invoices, FIRA processing, matching, exceptions, purpose codes, and EDF packs.

For the backend, we used Python and FastAPI, along with SQLAlchemy and SQLite for local development.

We also integrated PayPal Sandbox for payment workflows and Frankfurter for exchange-rate data. The project uses predefined YAML rules for reconciliation and purpose-code recommendations. An optional Gemini integration supports AI-assisted suggestions.

One important part of our implementation was the matching engine, which uses defined logic to compare payment and remittance records with invoices. We also focused on using precise decimal arithmetic for financial calculations.

Throughout development, we worked together on understanding the problem, planning the workflows, implementing features, connecting frontend and backend components, and testing the application.

The overall workflow follows this process:

Invoices and Payments → FIRA Processing → Payment Matching → Exception Review → Purpose Code Recommendations → EDF Draft Generation.

Challenges we ran into

Building EDFlow was a learning experience for both of us. We faced several challenges while turning the idea into a working application.

1. Understanding the export documentation process

Initially, understanding how invoices, payment fees, FIRA documents, remittances, and export documentation connect with each other was challenging. We had to break the entire process into smaller steps and figure out how they could work together.

2. Processing FIRA documents

Extracting useful information from PDF documents while maintaining consistency was another challenge. We focused on supporting text-based FIRA PDFs and structuring the extracted information for further processing.

3. Building the matching engine

Matching payments with invoices was not always straightforward because transaction references, amounts, and payment fees can differ. We worked on developing deterministic matching logic and an exception-handling workflow to identify discrepancies.

4. Connecting different technologies

Integrating the React frontend with the FastAPI backend, database, PayPal Sandbox, and other services required continuous testing and debugging. We had to make sure the different components communicated properly.

5. Maintaining accuracy

Since EDFlow deals with financial information, accuracy was important. We wanted to make sure that recommendations and calculations remained reliable and that important decisions stayed under the user's control.

Working through these challenges together helped us improve our problem-solving and development skills.

Accomplishments that we're proud of

We are proud that we were able to turn our idea into a working full-stack application that addresses a practical problem.

Some of the things we are especially happy about include:

  • Developing a full-stack application using React and FastAPI.
  • Implementing PayPal Sandbox payment workflows.
  • Building a FIRA PDF processing workflow.
  • Developing a payment and invoice matching engine.
  • Creating exception tracking and purpose-code recommendation features.
  • Implementing monthly EDF draft generation.
  • Integrating optional AI-assisted suggestions.
  • Creating synthetic documents and datasets for demonstration and testing.

More than anything, we are proud of what we achieved by working together. We brought our ideas, learned through experimentation, solved technical problems, and gradually turned EDFlow into something we could demonstrate as a complete project.

What we learned

Building EDFlow helped us learn much more than just new technologies.

We gained practical experience in full-stack development, API integration, database management, PDF processing, financial calculations, and third-party integrations.

We also learned:

  • Why accuracy and proper validation are important in financial applications.
  • How to design matching logic for real-world transaction discrepancies.
  • How frontend and backend components work together.
  • How to use automation to reduce repetitive tasks.
  • Why AI-generated suggestions should be validated rather than blindly trusted.

Apart from the technical learning, working as a team taught us the importance of communication, sharing ideas, dividing responsibilities, discussing problems, and learning from each other.

One of our biggest takeaways was that building a useful solution requires understanding the actual problem before jumping into development.

What's next for EDFlow

We see EDFlow as a starting point with plenty of room for improvement.

In the future, we would like to:

  • Connect all dashboard sections to live backend data.
  • Support more bank-specific FIRA formats.
  • Add OCR support for scanned documents.
  • Improve payment matching and reconciliation.
  • Strengthen authentication and security.
  • Expand reporting and audit capabilities.
  • Improve AI-assisted suggestions while keeping important decisions under human control.

Our long-term goal is to make international payment reconciliation and export documentation simpler and less time-consuming for Indian service exporters.

We hope to continue improving EDFlow and make it more useful for real-world workflows.

EDFlow — From international payments to export-ready paperwork.

Built With

Share this project:

Updates

Submission history