Upload and validation
Supported invoice types
Contafy automatically detects and processes:- PUE (Pago en Una sola Exhibición) - Single payment invoices
- PPD (Pago en Parcialidades o Diferido) - Partial or deferred payment invoices
- COMPLEMENTO_PAGO - Payment complements that reference PPD invoices
Automatic validation
Each uploaded invoice undergoes comprehensive validation:- RFC verification - Ensures the RFC matches the profile configuration
- Tax regime verification - Validates regimen fiscal against profile settings
- UUID duplicate detection - Prevents duplicate invoice uploads
- Profile-specific rules - Respects custom validation settings per profile
Payment status tracking
Contafy automatically calculates payment status by analyzing both the invoice and any related payment complements:Payment status calculation
- PAGADO - Invoice is fully paid (100% of total collected)
- PAGO_PARCIAL - Invoice has received partial payment (complementos exist)
- NO_PAGADO - No payment complements or payments recorded
- Total invoice amount
- Cumulative payments from complementos de pago
- Outstanding balance (saldo insoluto)
- Percentage paid
For PPD invoices, Contafy automatically links payment complements to their parent invoices using the UUID references in the
facturasRelacionadas array.Manual income entry
For scenarios where you need to record income without a formal CFDI:Requirements
- A specific profile must be selected (not “Todas las empresas”)
- The period must have a valid period_id (not “aggregated”)
- The period_id must be a valid UUID format
Creating manual income
Manual income records support:- Custom description/concept
- Amount breakdown (subtotal, IVA)
- Date selection
- Category assignment
- Payment status tracking
Manual income entries have
tipo_origen: 'MANUAL' and uuid: null in the database. They appear alongside XML-based invoices in the invoices list.Invoice list interface
The invoices page provides:Filtering options
- Profile selector (specific business or all businesses)
- Month and year selectors
- Régimen fiscal filter
- Text search across invoice fields
Summary metrics
- Total facturado - Sum of accrued income for the period
- Total facturas - Count of invoices
- Facturas pendientes de pago - Count of unpaid/partially paid invoices
Data table
Each invoice row displays:- Issue date and UUID
- Emisor (issuer) and receptor (receiver) information
- Total amount with tax breakdown
- Payment type (PUE/PPD/COMPLEMENTO_PAGO)
- Payment status badge with color coding
- Actions menu (view details, delete)
Bulk upload
The upload interface supports:- Drag-and-drop XML file upload
- Multiple file selection
- Real-time upload queue with progress tracking
- Validation results displayed immediately
- Profile selection before upload
Upload workflow
- Select the profile to associate invoices with
- Drop XML files or click to select
- Review files in queue
- Upload processes each file sequentially
- View validation results and warnings
Tax breakdown
Contafy extracts and displays all tax information from CFDI:- IVA trasladado - Sales tax charged (iva_amount)
- Retención IVA - VAT withholding (retencion_iva_amount)
- Retención ISR - Income tax withholding (retencion_isr_amount)
Related features
Dashboard
View invoice metrics on the main dashboard
Multi-Profile
Manage invoices across multiple business profiles
Reports & Analytics
Generate detailed invoice reports