Context
Enterprise users process hundreds of payments at once. A single-payment form does not scale for batch operations.
Current Limitation/Problem
There is no bulk upload interface. Users must either use the API directly or submit payments one by one, which is inefficient for high-volume merchants.
Expected Outcome
A CSV/Excel upload interface with column mapping, row-level validation preview, error highlighting, and one-click execution with progress tracking.
Acceptance Criteria
- Upload CSV or Excel files with payment data
- Smart column auto-detection (amount, destination, currency, memo, etc.)
- Manual column mapping UI for non-standard headers
- Row-level validation preview showing errors and warnings
- Highlight invalid rows with tooltip explaining the issue
- Download error report CSV with correction suggestions
- Execute valid rows with progress bar (per-row status)
- Support 1000+ rows with chunked processing
- Template download for correct CSV format
Technical Scope
frontend/src/app/payments/bulk/ - bulk upload route
frontend/src/components/payments/bulk/ - upload components
- CSV parsing with PapaParse, Excel with SheetJS
backend/src/services/payments/bulk-processor.ts - batch validation/execution
- Prisma:
BulkUpload, BulkUploadRow models
- BullMQ queue for async bulk processing
- WebSocket progress updates
- Edge cases: encoding issues, very large files, partial failures, row limits
Context
Enterprise users process hundreds of payments at once. A single-payment form does not scale for batch operations.
Current Limitation/Problem
There is no bulk upload interface. Users must either use the API directly or submit payments one by one, which is inefficient for high-volume merchants.
Expected Outcome
A CSV/Excel upload interface with column mapping, row-level validation preview, error highlighting, and one-click execution with progress tracking.
Acceptance Criteria
Technical Scope
frontend/src/app/payments/bulk/- bulk upload routefrontend/src/components/payments/bulk/- upload componentsbackend/src/services/payments/bulk-processor.ts- batch validation/executionBulkUpload,BulkUploadRowmodels