TL;DR — Quick Summary
Fix CONTPAQi Contabilidad DIOT errors: invalid RFC, wrong IVA amounts, operation type mismatches, and DeclaraSAT upload rejections for Mexico VAT reporting.
CONTPAQi DIOT Declaration Errors
The DIOT (Declaración Informativa de Operaciones con Terceros) is a mandatory monthly report required by Article 32, Section VIII of Mexico’s VAT Law (LIVA). Every VAT taxpayer must report to the SAT (Mexico’s tax authority) the breakdown of all vendor operations: amounts paid and IVA separated by tax rate. CONTPAQi Contabilidad includes a DIOT generator that produces the .txt file for upload to the DeclaraSAT portal, but errors in the vendor catalog, account configuration, or IVA breakdown can prevent the DIOT from generating correctly or being accepted by the portal.
Prerequisites
- CONTPAQi Contabilidad version 14.0 or higher, fully updated.
- All journal entries for the month entered and confirmed.
- Vendor catalog with RFC and operation type configured.
- Access to the DeclaraSAT portal with valid RFC and CIEC or e.firma.
- Know the creditable IVA totals from your monthly VAT return for reconciliation.
The Error
Common DIOT errors in CONTPAQi appear in these forms:
- “Error generating DIOT file” — appears when executing the .txt file generation from the DIOT module.
- “Invalid or not found RFC” — one or more vendors have blank, incorrectly formatted, or corrupted RFC.
- “Error: incorrect operation type” — the vendor’s operation type field has an invalid value for the DIOT.
- Vendors appearing with $0 in all columns — vendor accounts are not linked in the DIOT configuration.
- DeclaraSAT upload error — the portal rejects the .txt file due to encoding or format issues.
Root Cause
The DIOT requires very specific data for each vendor and transaction. The most frequent problems are:
-
Invalid or missing RFC: CONTPAQi cannot generate the DIOT if any vendor with activity in the period has a blank or incorrectly formatted RFC. Use
XAXX010101000for foreign vendors without a Mexican RFC; useXEXX010101000for global operations. -
Incorrect operation type: The SAT defines specific codes:
03(domestic vendor),04(foreign vendor with Mexican establishment),05(imports),06(global operations). An incorrect type triggers validation errors. -
Accounts not linked to the DIOT generator: CONTPAQi must know which accounting accounts correspond to each DIOT layout column (16% creditable IVA, 0% IVA, exempt, non-subject). Unmapped accounts produce $0 results.
-
Incorrect IVA breakdown in journal entries: If purchase entries don’t properly separate IVA by rate — mixing 16% and 0% in a single account — the DIOT will report incorrect amounts.
-
Exempt operations misclassified: Exempt operations ARE declared in the DIOT (in the exempt column), but non-subject operations are NOT. Mixing these classifications distorts the report.
-
File encoding: The DeclaraSAT portal requires ANSI encoding, not UTF-8. If the file is generated or edited in UTF-8, the portal will reject it.
Step-by-Step Solution
Step 1: Clean Up the Vendor Catalog
- Go to Catalogs > Vendors in CONTPAQi Contabilidad.
- Run a report of all vendors with activity in the period. Identify those with blank or incomplete RFC.
- For each affected vendor, correct:
- RFC: correct format by taxpayer type (individual: 13 chars, company: 12 chars).
- DIOT operation type:
03domestic,04foreign,05import,06global. - Name: remove special characters that could cause encoding problems.
Step 2: Configure Account Mapping in the DIOT
- Go to Reports > DIOT > Configuration.
- Review the account mapping table. Each IVA account must be assigned to its DIOT column:
| Accounting Account | DIOT Column |
|---|---|
| 16% Creditable IVA | Col. 10 — IVA paid at 16% rate |
| 0% Creditable IVA | Col. 11 — IVA paid at 0% rate |
| Exempt Purchases | Col. 12 — Exempt transaction amount |
| Non-Subject Purchases | Do not include in DIOT |
- If an account is not mapped, add it. Save the configuration.
Step 3: Verify Period and Journal Entries
- In Reports > DIOT > Generate, confirm the correct month and year are selected.
- Verify no journal entries for the month are in draft status — only confirmed entries are included.
- If you have IVA adjustment entries (from returns or credit notes), confirm they fall in the correct period.
Step 4: Review Exempt vs. Non-Subject Operations
- Exempt operations: ARE declared in the DIOT (in the exempt column).
- Non-subject operations: NOT included in the DIOT. If mixed with exempt, the DIOT overstates amounts.
- Review exempt purchase entries to confirm correct classification.
Step 5: Generate and Validate the .txt File
- Run Generate DIOT File. CONTPAQi creates the
.txtfile in the configured path. - Open the file in Windows Notepad (not Word or Excel).
- Verify the structure: each line should represent one vendor with pipe-delimited columns.
- Confirm the 16% IVA column total matches the creditable IVA from your monthly VAT return.
- In Notepad, go to File > Save As and confirm encoding is ANSI.
Step 6: Upload to DeclaraSAT
- Log in to declarasat.sat.gob.mx with your RFC and CIEC or e.firma.
- Select DIOT, the tax year and period.
- Upload the
.txtfile. - If the portal shows a validation error, review the specific message — it usually indicates the line number and field with the problem.
- Correct in CONTPAQi, regenerate the file, and retry.
Alternative Solution
If errors persist, use the DeclaraSAT online entry form directly on the SAT portal to enter each vendor manually. This is slower for large volumes but useful when there are few vendors with activity or when the generated file has errors that are difficult to pinpoint. The SAT portal validates each RFC in real time during manual entry.
You can also use the SAT’s Verificador de Comprobantes Fiscales to validate vendor RFC numbers before generating the DIOT.
Prevention
- Maintain the vendor catalog: When adding a new vendor, immediately enter their RFC, taxpayer type, and DIOT operation type. Never leave these fields blank.
- Configure DIOT account mapping at year start: Review the account mapping at the beginning of each fiscal year. If you add new IVA accounts during the year, map them immediately.
- Reconcile IVA monthly: Before generating the DIOT, compare creditable IVA in the accounting ledger against your monthly VAT return total. Any discrepancy signals a journal entry or configuration error.
- Always save in ANSI: If you manually edit the .txt file for any reason, always save with ANSI encoding from Windows Notepad.
- Do not use generic RFC for domestic vendors: Use
XAXX010101000only for foreign vendors without a Mexican RFC andXEXX010101000only for global operations.
Related Issues
- DIOT discrepancy vs. monthly VAT return: Check that import IVA (paid at customs/pedimento) is in a mapped account and included in the DIOT.
- Duplicate vendor in DIOT: If a vendor has two catalog entries with different sub-accounts, they appear twice. Merge the records or consolidate amounts under one entry.
- DIOT rejected for inactive RFC: Some valid-format RFC numbers that are cancelled in the SAT system cause rejections. Check the SAT’s LCO (Contribuyentes Obligados) list.
Summary
- The DIOT is required monthly under Art. 32 Section VIII of LIVA.
- Most common errors: invalid RFC, wrong operation type, and unmapped accounts.
- Fix the vendor catalog before generating the DIOT.
- Map IVA accounts in the DIOT configuration inside CONTPAQi.
- Ensure the .txt file uses ANSI encoding before uploading to DeclaraSAT.
- Reconcile IVA totals between the DIOT and your monthly VAT return to catch discrepancies.