OCR Backend System for Retail Receipts

Job ID: 39765450

Budget: £250 – £750 GBP

I am building the backend system for a confidential mobile application that allows users to scan and validate retail purchase receipts using OCR (Optical Character Recognition). The backend must be secure, scalable, and capable of processing structured and semi-structured data extracted from images of receipts issued by Mexican businesses.

The system should:

Handle OCR output parsing from multiple receipt formats (not standardized)

Normalize and validate data using public tax frameworks (e.g., SAT Mexico)

Expose REST APIs to the mobile frontend (already being built in Flutter)

Secure all endpoints with proper authentication and logging

Store records in a structured database

(Optional) Integrate with SAT/CFDI lookups, validation, or APIs

Key Requirements:

Develop RESTful API (preferably in Python with FastAPI or Flask)

OCR text post-processing & data normalization

Matching key fields like RFC, CFDI codes, total amount, business name, etc.

Input: base64 image or text blocks from mobile app

Output: cleaned JSON with structured receipt fields

Store validated receipts in PostgreSQL or similar DB

OAuth2 / JWT-based authentication

Bilingual error messaging support (Spanish/English)

Preferred Tech Stack:

Backend Language: Python

Framework: FastAPI or Flask

Database: PostgreSQL

OCR Tool: Tesseract OCR or similar (can be external)

Hosting: Cloud-ready (Docker support preferred)

What I Will Provide:

Sample OCR text from frontend

Sample receipt images (if needed)

Basic field validation logic

Input/output spec

NDA before full disclosure of logic or naming

What You Will Deliver:

Fully functional, modular backend with secure API endpoints

Code repository with comments and README

Testing setup and sample requests/responses

OCR result post-processor with clear logic

Deployment readiness (Dockerfile, environment setup)

Note:

Please do not reference the business idea or project name in your bid or profile. You will be required to sign an NDA before receiving the full specifications.