Commit Graph

19 Commits

Author SHA1 Message Date
Consultoria AS
a64aa11548 feat(sat): add FIEL management and encryption services (Phase 2)
- Add sat-crypto.service.ts with AES-256-GCM encryption for secure
  credential storage using JWT_SECRET as key derivation source
- Add fiel.service.ts with complete FIEL lifecycle management:
  - Upload and validate FIEL credentials (.cer/.key files)
  - Verify certificate is FIEL (not CSD) and not expired
  - Store encrypted credentials in database
  - Retrieve and decrypt credentials for SAT sync operations
- Install @nodecfdi/credentials for FIEL/CSD handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:44:04 +00:00
Consultoria AS
787aac9a4c feat(sat): add database models for SAT sync
Phase 1 - Database models:
- Add FielCredential model for encrypted FIEL storage
- Add SatSyncJob model for sync job tracking
- Add SAT-related enums (SatSyncType, SatSyncStatus, CfdiSyncType)
- Add TypeScript types in shared package
- Relations: Tenant -> FielCredential (1:1), Tenant -> SatSyncJobs (1:N)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:38:51 +00:00
Consultoria AS
7454cf67e6 chore: increase max upload size to 1GB
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 07:09:03 +00:00
Consultoria AS
db1f2eaecd perf: optimize bulk XML upload for 100k+ files
Backend:
- Add batch insert using multi-row INSERT with ON CONFLICT
- Process in batches of 500 records for optimal DB performance
- Return detailed batch results (inserted, duplicates, errors)

Frontend:
- Parse files in chunks of 500 to prevent memory issues
- Upload in batches of 200 CFDIs per request
- Add detailed progress bar with real-time stats
- Show upload statistics (loaded, duplicates, errors)
- Add cancel functionality during upload
- Refresh data after upload completes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 07:01:04 +00:00
Consultoria AS
c3ce7199af feat: bulk XML upload, period selector, and session persistence
- Add bulk XML CFDI upload support (up to 300MB)
- Add period selector component for month/year navigation
- Fix session persistence on page refresh (Zustand hydration)
- Fix income/expense classification based on tenant RFC
- Fix IVA calculation from XML (correct Impuestos element)
- Add error handling to reportes page
- Support multiple CORS origins
- Update reportes service with proper Decimal/BigInt handling
- Add RFC to tenant view store for proper CFDI classification
- Update README with changelog and new features

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 06:51:53 +00:00
Consultoria AS
0c10c887d2 feat: add multi-tenant client management for admins
- Add tenants API endpoints (list, get, create)
- Add tenant middleware override via X-View-Tenant header
- Add TenantSelector dropdown component in header
- Add tenant view store with persistence
- Add Clientes management page
- Update all navigation layouts with Clientes link for admins

Admins can now:
- View list of all clients
- Create new clients with automatic schema setup
- Switch between viewing different clients' data
- See which client they are currently viewing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 03:55:44 +00:00
Consultoria AS
74b1bb8c02 fix: add missing UI components and utilities
- Add tabs.tsx component
- Add select.tsx component
- Add formatCurrency utility function
- Export new components from index

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 03:40:03 +00:00
Consultoria AS
f4b42aa8c2 fix: add missing errors utility and fix seed timestamp casting
- Add apps/api/src/utils/errors.ts with AppError class
- Fix seed.ts timestamp casting for calendario_fiscal

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 03:30:49 +00:00
Consultoria AS
0c4b1a43a9 feat(fase3): update sidebar navigation and seed with calendario_fiscal
- Add navigation items for Reportes, Calendario, Alertas, Usuarios
- Add calendario_fiscal table creation in seed
- Insert demo fiscal events for all 12 months

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 03:04:25 +00:00
Consultoria AS
9b8aaea7eb feat(alertas): add alerts CRUD with stats and management UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 03:02:20 +00:00
Consultoria AS
6d59c8d842 feat(export): add Excel export for CFDIs and reports
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 02:58:19 +00:00
Consultoria AS
9d49f8a833 feat(api): add impuestos API endpoints (IVA/ISR mensual y resumen)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 02:23:54 +00:00
Consultoria AS
a81d8437ce feat(api): add CFDI API endpoints (list, detail, resumen)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 02:21:25 +00:00
Consultoria AS
4d0d23c642 feat(api): add dashboard API endpoints (kpis, ingresos-egresos, resumen-fiscal, alertas) 2026-01-22 02:19:22 +00:00
Consultoria AS
5bd5f9cef9 feat(api): add tenant middleware for multi-tenant schema isolation 2026-01-22 02:17:15 +00:00
Consultoria AS
79b771b650 feat: add database seed with demo data and Docker Compose setup
- Seed creates demo tenant, users (admin, contador, visor)
- Creates tenant schema with cfdis, iva_mensual, alertas tables
- Inserts 50 demo CFDIs and 6 months of IVA records
- Docker Compose with PostgreSQL, API, and Web services
- Demo credentials: admin/contador/visor @demo.com / demo123

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 02:02:30 +00:00
Consultoria AS
e54019ba01 feat: implement JWT authentication system
Add complete authentication infrastructure including:
- Password hashing utilities with bcrypt
- JWT token generation and verification
- Auth service with register, login, refresh, and logout
- Auth controller with Zod validation
- Auth middleware for route protection
- Auth routes mounted at /api/auth

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 01:54:13 +00:00
Consultoria AS
18bdb24478 feat: add Prisma schema with multi-tenant support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 01:51:48 +00:00
Consultoria AS
af617627a4 feat: add Express API base structure
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 01:50:22 +00:00