FinParse API Documentation 🏦¶
Welcome to the FinParse API developer portal! 🚀¶
FinParse is a production-grade, highly-extensible parsing engine built with FastAPI to process financial documents (PDF invoices and CSV/Excel bank statements) into clean, structured relational data.
Features at a Glance¶
🔍 Smart Format Recognition: Automatically identifies document types and handles variations across different banks and vendors.
🛡️ 3-Stage File Validation: Strict validation checks (Extension → MIME Type → File Content Headers) preventing malicious or invalid file uploads.
⚡ Polymorphic Parser Factory: Implemented with the Strategy and Factory design patterns, making it trivial to extend parsing logic to new formats.
📊 Reconciliation & Mathematical Audit: Auto-calculates invoice subtotals, taxes, and transaction directions, generating descriptive system warnings on mismatches.
💾 Case-Insensitive Vendor Deduplication: Automatically resolves vendor variations (e.g. “Amazon Inc” vs “Amazon”) to a canonical vendor registry.
⚙️ Fully Automated CI/CD & Docs: Automatic testing suite runs alongside Sphinx compilation, auto-deploying documentation pages.
🛠️ API Reference:
- Code Reference
- app package
- app.api package
- app.api.v1 package
- app.api.v1.endpoints package
- app.api.v1.endpoints.documents module
- app.api.v1.router module
- app.config module
- app.core package
- app.core.exceptions module
CSVEncodingErrorCSVMissingRequiredColumnsErrorCSVNoDataRowsErrorCSVParseErrorDuplicateFileErrorEmptyFileErrorFileMimeTypeMismatchErrorFileTooLargeErrorFinParseExceptionInvalidExtensionErrorOCRFailedErrorPDFCorruptedErrorPDFPasswordRequiredErrorPDFTooManyPagesErrorPDFWrongPasswordErrorPartialParseErrorUnsupportedFormatErrorUploadIncompleteError
- app.core.logging module
- app.database module
- app.dependencies module
- app.main module
- app.models package
- app.models.bank_statement module
- app.models.base module
- app.models.custom_types module
- app.models.document module
- app.models.enums module
- app.models.invoice module
- app.models.processing_job module
- app.parsers package
- app.parsers.base module
- app.parsers.constants module
- app.parsers.csv_parser module
- app.parsers.factory module
- app.parsers.pdf_parser module
- app.parsers.schemas module
- app.services package
- app.services.document_service module
- app.utils package
- app.utils.amount_parser module
- app.utils.date_parser module
- app.validators package
- app.validators.file_validator module