TL;DR — Quick Summary
Fix DIOT generation errors in CONTPAQi: invalid supplier RFC, VAT entries without third-party assignment, and text file format issues for Mexico's SAT portal.
DIOT Generation Errors in CONTPAQi
The DIOT is a mandatory monthly tax filing in Mexico that requires businesses to report purchase operations and VAT paid to each supplier. Generating this file from CONTPAQi often produces errors that prevent successful upload to the SAT portal.
This article covers the most common error causes and step-by-step solutions.
Prerequisites
- CONTPAQi Contabilidad (version 14.x or higher) or CONTPAQi Comercial updated to the latest Service Pack.
- Supplier catalog with valid, complete RFCs (tax IDs).
- Journal entries for the reporting month fully captured and reviewed.
- Access to the SAT portal with a valid e.firma or password.
Common Error Causes and Solutions
1. Invalid or Incomplete Supplier RFC
The most frequent DIOT error is that one or more suppliers have an incorrect RFC in the CONTPAQi catalog.
| Problem | Example | Solution |
|---|---|---|
| RFC with spaces | ABC 120315 LK7 | Remove spaces: ABC120315LK7 |
| Incomplete RFC | ABC12031 | Complete to 12/13 characters |
| Misspelled generic RFC | XAXX01010100 | Correct to XAXX010101000 |
| Foreign supplier without RFC | (empty) | Use XEXX010101000 |
2. VAT Entries Without Third-Party Assignment
If a journal entry has VAT account movements but no third party (supplier) assigned, CONTPAQi cannot include that operation in the DIOT.
Fix: Edit journal entries for the month, filter VAT accounts, and assign the correct supplier to every VAT line item.
3. Incompatible File Format
The SAT periodically updates the DIOT schema. Older CONTPAQi versions may generate an outdated format that the portal rejects. Update CONTPAQi to the latest Service Pack.
Pre-DIOT Validation Checklist
| # | Check | Where | Expected |
|---|---|---|---|
| 1 | All suppliers have valid RFC | Catalogs → Suppliers | 12 or 13 chars, no spaces |
| 2 | VAT entries have supplier assigned | Journal entries | Every VAT line has a third party |
| 3 | VAT withholdings separated | Journal entries | Separate account for withheld VAT |
| 4 | CONTPAQi updated | Help → About | Latest Service Pack |
| 5 | DIOT total = Monthly VAT return total | DIOT report vs DPIVA | Amounts match |
Summary
Assign third parties to every VAT entry at capture time, validate supplier RFCs before the first invoice, and compare DIOT totals with your monthly VAT return before uploading to the SAT.