Not tax advice. Computation tools only. Have a professional check your work before filing.
openaccountants/skills/mx-return-assembly.md

Use this skill with your AI agent

View on GitHub

Paste this skill into your AI agent's context, or save the file to your project. Works with any AI agent that reads markdown.

mx-return-assembly.md374 lines16.2 KB
v10Mexico
Not yet verified by an accountantContact accountant
1---
2name: mx-return-assembly
3description: >
4 Use this skill when assembling or reviewing a Mexican persona física annual tax return (declaración anual). Trigger on phrases like "declaración anual México", "ISR anual", "return assembly Mexico", "cross-check CFDI", "IVA reconciliation", "provisional vs annual", "RESICO annual", "AEP annual return", or any task involving the compilation, verification, or filing of a Mexican individual's annual income tax return. This skill orchestrates cross-checks between ISR, IVA, IMSS, and CFDI data. ALWAYS read this skill before assembling any Mexican annual return.
5version: 1.0
6jurisdiction: MX
7category: orchestrator
8depends_on:
9 - mx-freelance-intake
10verified_by: pending
11---
12 
13# Mexico Return Assembly -- Orchestrator Skill v1.0
14 
15---
16 
17## Section 1 -- Quick Reference
18 
19| Field | Value |
20|---|---|
21| Country | Mexico (Estados Unidos Mexicanos) |
22| Tax | ISR (Impuesto Sobre la Renta) -- Declaración Anual |
23| Currency | MXN (Peso Mexicano) only |
24| Tax year | Calendar year (1 January -- 31 December) |
25| Primary legislation | Ley del Impuesto Sobre la Renta (LISR), Código Fiscal de la Federación (CFF) |
26| Tax authority | Servicio de Administración Tributaria (SAT) |
27| Filing portal | sat.gob.mx -- Declaraciones |
28| Filing deadline | April 30 of following year (personas físicas) |
29| Required credential | e.firma (FIEL) or Contraseña SAT |
30| Validated by | Pending — requires sign-off by a Mexican Contador Público |
31| Skill version | 1.0 |
32 
33### ISR Annual Table -- Actividad Empresarial y Profesional (Art. 152 LISR, 2025)
34 
35| Lower Limit (MXN) | Upper Limit (MXN) | Fixed Quota (MXN) | Rate on Excess |
36|---|---|---|---|
37| 0.01 | 8,952.49 | 0.00 | 1.92% |
38| 8,952.50 | 75,984.55 | 171.88 | 6.40% |
39| 75,984.56 | 133,536.07 | 4,461.94 | 10.88% |
40| 133,536.08 | 155,229.80 | 10,723.55 | 16.00% |
41| 155,229.81 | 185,852.57 | 14,194.54 | 17.92% |
42| 185,852.58 | 374,837.88 | 19,682.13 | 21.36% |
43| 374,837.89 | 590,795.99 | 60,049.40 | 23.52% |
44| 590,796.00 | 1,127,926.84 | 110,842.74 | 30.00% |
45| 1,127,926.85 | 1,503,902.46 | 271,981.99 | 32.00% |
46| 1,503,902.47 | 4,511,707.37 | 392,294.17 | 34.00% |
47| 4,511,707.38 | En adelante | 1,414,947.85 | 35.00% |
48 
49### RESICO Annual ISR Table (Art. 113-E LISR)
50 
51| Annual Income (MXN) | Rate |
52|---|---|
53| Up to $300,000 | 1.00% |
54| Up to $600,000 | 1.10% |
55| Up to $1,000,000 | 1.50% |
56| Up to $2,500,000 | 2.00% |
57| Up to $3,500,000 | 2.50% |
58 
59---
60 
61## Section 2 -- Assembly Workflow
62 
63### Phase 1: Data Gathering
64 
65```
661. Download CFDI emitidos (issued) from SAT portal -- full year XML set
672. Download CFDI recibidos (received) from SAT portal -- full year XML set
683. Obtain bank statements (all accounts, all institutions)
694. Obtain acuses de declaraciones provisionales (ISR + IVA, all months)
705. Obtain constancias de retenciones (employers, clients with retention, platforms)
716. Obtain IMSS payment receipts (if voluntary or employer)
727. Obtain prior year declaración anual (for comparison)
73```
74 
75### Phase 2: CFDI Revenue Reconciliation
76 
77| Step | Check | Action if Mismatch |
78|---|---|---|
79| 2.1 | Sum all CFDI emitidos (subtotal, before IVA) | This = gross revenue for ISR |
80| 2.2 | Compare CFDI total vs bank deposits | Bank > CFDI = possible undeclared income |
81| 2.3 | Verify método de pago (PUE vs PPD) | PPD: income = when complemento de pago issued |
82| 2.4 | Check for cancelled CFDI (status = cancelado) | Exclude cancelled from totals |
83| 2.5 | Verify RFC of all clients on CFDI | Flag any RFC genérico (XAXX010101000) > $50,000 |
84| 2.6 | Cross-reference CFDI vs client payments | Identify unpaid invoices (for PPD accounting) |
85 
86**RESICO Special Rule:** Income is recognised on cash basis (efectivamente cobrado). Only CFDI with confirmed payment count. PPD CFDI without complemento de pago = not yet income.
87 
88**AEP Rule:** Income recognised on accrual basis (devengado) for general regime, OR cash basis if elected under Art. 196 CFF. Verify which method the client uses.
89 
90### Phase 3: CFDI Expense Reconciliation (AEP Only)
91 
92| Step | Check | Action if Mismatch |
93|---|---|---|
94| 3.1 | Sum all CFDI recibidos (deductible expenses) | Verify each has valid RFC, correct régimen fiscal |
95| 3.2 | Verify requisitos de deducibilidad (Art. 27 LISR) | Payment via banked method >$2,000 MXN |
96| 3.3 | Check IVA on each CFDI recibido | IVA trasladado = IVA acreditable |
97| 3.4 | Verify payment method | Cash payments >$2,000 = NOT deductible |
98| 3.5 | Check timing | Expense must be in same fiscal year |
99| 3.6 | Verify proportionality | If mixed use, apply proportion |
100 
101**Deductibility Requirements (Art. 27 LISR):**
102- Strictly indispensable for the business activity
103- Backed by valid CFDI
104- Paid by transfer, cheque, credit/debit card, or electronic wallet (>$2,000)
105- Withholding obligations met (if applicable)
106- Properly registered in accounting
107 
108### Phase 4: Provisional ISR vs Annual ISR Cross-Check
109 
110| Step | Check | Expected Outcome |
111|---|---|---|
112| 4.1 | Sum all provisional ISR payments made | Total from acuses |
113| 4.2 | Sum all ISR retained by clients (retenciones) | From constancias de retenciones |
114| 4.3 | Calculate annual ISR liability | Using Art. 152 table (AEP) or Art. 113-E (RESICO) |
115| 4.4 | Annual ISR - provisionals - retentions | = ISR a cargo (to pay) or ISR a favor (refund) |
116| 4.5 | If saldo a favor > 30% of ISR annual | Flag -- high refund ratio triggers SAT review |
117 
118**RESICO Cross-Check:**
119- Annual ISR = total income × applicable RESICO rate
120- Credit: sum of monthly provisional payments
121- Credit: retenciones (1.25% retained by personas morales)
122- Result = a cargo or a favor
123 
124**AEP Cross-Check:**
125- Annual ISR = progressive table on (revenue - deductions - personal deductions)
126- Credit: provisional payments (Art. 106 method)
127- Credit: retenciones
128- Credit: estímulos fiscales (if applicable)
129 
130### Phase 5: IVA Monthly Reconciliation
131 
132| Step | Check | Expected Outcome |
133|---|---|---|
134| 5.1 | IVA trasladado (charged to clients) | 16% × revenue (or 8% border, 0% applicable) |
135| 5.2 | IVA acreditable (paid on expenses) | Sum IVA on deductible CFDI recibidos |
136| 5.3 | IVA retenido (retained by clients) | From constancias de retenciones (2/3 IVA common) |
137| 5.4 | Monthly: trasladado - acreditable - retenido | = IVA a cargo or a favor |
138| 5.5 | Cross-check vs monthly declaraciones filed | Verify consistency |
139| 5.6 | Annual IVA total | Should = sum of 12 monthly declarations |
140 
141**Common IVA Retentions:**
142- Persona moral paying persona física: retains 2/3 of IVA (Art. 1-A LIVA)
143- Digital platform: retains 100% IVA
144- Government entities: retain 100% IVA
145 
146### Phase 6: IMSS Cuotas Check
147 
148| Item | Check |
149|---|---|
150| Voluntary (Modalidad 40) | Verify 12 monthly payments made |
151| Employer (patrón) | Verify SUA/IDSE bimestral payments (6 periods) |
152| Cuotas amount | Verify base declared × contribution rate |
153| Deductibility | AEP: deductible as personal deduction (Art. 151-V). RESICO: NOT deductible. |
154 
155### Phase 7: Personal Deductions (AEP Annual Return)
156 
157| Deduction (Art. 151 LISR) | Limit | Notes |
158|---|---|---|
159| Medical/dental/hospital expenses | No global limit per item | Must be for taxpayer, spouse, ascendants, descendants |
160| Funeral expenses | 1 UMA anual ($41,273.52) | Per event |
161| Donations | Up to 7% of prior year base (4% to gobierno) | Must be to donatarias autorizadas |
162| Mortgage interest (real, vivienda) | Up to 750,000 UDIS of credit | Only habitual residence |
163| Voluntary retirement savings (Afore/PPR) | 10% of income, max 5 UMA anuales ($206,367.60) | Deductible contribution to Plan Personal de Retiro |
164| Health insurance premiums | No specific sub-limit | Complementary medical insurance |
165| School transportation | Per child | Only if mandatory |
166| Local taxes on property | Actual paid | Predial on property owned |
167 
168**Global Personal Deduction Limit:** The lesser of 15% of total income OR 5 UMA anuales (MXN$206,367.60 for 2025).
169 
170---
171 
172## Section 3 -- Computation Engine
173 
174### RESICO Annual Computation
175 
176```
177A. Total CFDI emitidos efectivamente cobrados (excl. IVA) ___________
178B. Apply RESICO annual table rate ___________
179C. ISR del ejercicio (A × rate from table) ___________
180D. Less: Pagos provisionales ISR ___________
181E. Less: Retenciones ISR (1.25% from personas morales) ___________
182F. ISR a cargo / (a favor) = C - D - E ___________
183```
184 
185### AEP Annual Computation
186 
187```
188A. INGRESOS ACUMULABLES
189 A1. CFDI emitidos (net of IVA) ___________
190 A2. Other income (interest, etc.) ___________
191 A3. Total income ___________
192 
193B. DEDUCCIONES AUTORIZADAS
194 B1. Purchases and cost of sales ___________
195 B2. Operating expenses (backed by CFDI) ___________
196 B3. Depreciation (inversiones -- Art. 31--38 LISR) ___________
197 B4. Insurance premiums ___________
198 B5. Sueldos y salarios (employees) ___________
199 B6. Cuotas IMSS patronales ___________
200 B7. Total deducciones autorizadas ___________
201 
202C. UTILIDAD FISCAL (A3 - B7) ___________
203 
204D. PÉRDIDAS FISCALES DE EJERCICIOS ANTERIORES ___________
205 
206E. BASE GRAVABLE (C - D) ___________
207 
208F. DEDUCCIONES PERSONALES (Art. 151) ___________
209 
210G. BASE PARA TARIFA (E - F) ___________
211 
212H. ISR (apply Art. 152 table to G) ___________
213 
214I. Less: Subsidio para el empleo (if applicable) ___________
215J. Less: Pagos provisionales ___________
216K. Less: Retenciones ___________
217 
218L. ISR A CARGO / (A FAVOR) = H - I - J - K ___________
219```
220 
221---
222 
223## Section 4 -- Cross-Check Matrix
224 
225| Cross-Check | Source A | Source B | Tolerance | Flag If |
226|---|---|---|---|---|
227| Revenue integrity | CFDI emitidos total | Bank deposits total | ±5% | Bank > CFDI by >5% |
228| Expense backing | CFDI recibidos total | Declared deductions | Exact | Deduction without CFDI |
229| IVA consistency | Monthly IVA filed | CFDI-derived IVA | Exact | Mismatch any month |
230| Provisional ISR | Sum of acuses | SAT portal query | Exact | Missing month |
231| Retentions | Constancias received | Annual pre-filled data | Exact | Amount differs |
232| IMSS cuotas | SUA receipts | Declared personal deduction | Exact | Over-claimed |
233| DIOT consistency | Monthly DIOT filed | CFDI recibidos | ±1% | Material difference |
234 
235---
236 
237## Section 5 -- Filing Procedure
238 
239### Pre-Filing Checklist
240 
241```
242[ ] All 12 provisional ISR declarations filed (or complementarias submitted)
243[ ] All 12 IVA monthly declarations filed
244[ ] All 12 DIOT submissions filed
245[ ] All constancias de retenciones obtained
246[ ] CFDI emitidos reconciled to bank
247[ ] CFDI recibidos reconciled to expenses
248[ ] Personal deductions verified with documentation
249[ ] Prior year pérdidas fiscales confirmed (if carrying forward)
250[ ] Opinión de cumplimiento 32D positive (recommended)
251```
252 
253### Filing Steps (SAT Portal)
254 
2551. Log into sat.gob.mx with e.firma or Contraseña
2562. Navigate to Declaraciones > Anuales > Personas Físicas
2573. Select ejercicio fiscal
2584. SAT pre-fills income from CFDI and retentions -- VERIFY
2595. Enter deductions, personal deductions, other income
2606. System calculates ISR a cargo / a favor
2617. If a cargo: generate línea de captura (payment reference)
2628. If a favor: elect devolución (refund via CLABE) or compensación
2639. Sign with e.firma and submit
26410. Download acuse de recibo (proof of filing)
265 
266### Payment Options (ISR a Cargo)
267 
268| Method | Deadline | Notes |
269|---|---|---|
270| Single payment | April 30 | Full amount, no surcharge |
271| Pago en parcialidades | Within 30 days of filing | Up to 6 instalments; generates recargos |
272| Línea de captura | Valid 5 business days | Generated at filing; must pay before expiry |
273 
274### Refund Process (ISR a Favor)
275 
276| Amount | Process | Timeline |
277|---|---|---|
278| ≤MXN$150,000 | Automatic via Contraseña | 5--40 business days |
279| >MXN$150,000 | Requires e.firma signature | 40 business days max (legal) |
280| >MXN$500,000 | SAT may request additional documentation | Up to 90 days with audit |
281| Refund not received | Verify CLABE matches RFC holder | Check estatus at sat.gob.mx |
282 
283---
284 
285## Section 6 -- Edge Cases
286 
287### Dual Régimen in Same Year (RESICO → AEP Transition)
288 
289- If income exceeds $3.5M mid-year, recalculate entire year under AEP
290- Credit all RESICO provisional payments against AEP annual liability
291- File declaración complementaria for all provisional months
292- Update Constancia de Situación Fiscal
293 
294### Multiple Income Chapters (Acumulación)
295 
296When taxpayer has income from multiple chapters:
297- Sueldos y salarios (Cap. I) + AEP (Cap. II): accumulate both in annual
298- RESICO + Sueldos: RESICO is separate (no accumulation unless >$300,000 combined)
299- Arrendamiento + AEP: both accumulate in annual declaration
300- Apply progressive table to total accumulated base
301 
302### Pérdidas Fiscales (Tax Losses)
303 
304- AEP losses carry forward up to 10 years (Art. 109 LISR)
305- Update for inflation annually (factor de actualización)
306- Cannot offset losses against RESICO income
307- RESICO does NOT generate tax losses (no deductions allowed)
308 
309### Estímulos Fiscales (Tax Incentives)
310 
311| Incentive | Article | Benefit |
312|---|---|---|
313| Technological research/development | Art. 202 LISR | 30% credit on R&D spending |
314| Film/theatre production | Art. 189-190 LISR | Credit against ISR |
315| Northern border region | Decree 2019 | ISR rate reduced to 20%; IVA 8% |
316| Donations to trusts | Art. 151 LISR | 7% limit |
317 
318---
319 
320## Section 7 -- Red Flags and Audit Triggers
321 
322| Indicator | SAT Risk Level | Action |
323|---|---|---|
324| Bank deposits > CFDI revenue by >20% | HIGH | Investigate -- potential discrepancia fiscal |
325| ISR refund > 40% of annual liability | MEDIUM | Document thoroughly; expect SAT query |
326| Zero CFDI for months with bank activity | HIGH | File complementarias or explain |
327| CFDI to RFC genérico > $50,000 individual | MEDIUM | SAT flags for review |
328| Provisional payments all in ceros despite income | HIGH | Immediate regularisation needed |
329| Deductions > 60% of revenue | MEDIUM | Verify each deduction meets Art. 27 |
330| Personal deductions near global limit | LOW | Normal -- just document properly |
331| Year-over-year revenue drop > 50% | MEDIUM | SAT may compare to CFDI history |
332 
333---
334 
335## Section 8 -- Penalties Reference
336 
337| Infraction | Penalty | Legal Basis |
338|---|---|---|
339| Late annual filing | MXN$1,810 -- $22,400 per requerimiento | CFF Art. 82 |
340| Omitted income (discovered by SAT) | 55% -- 75% of omitted tax | CFF Art. 76 |
341| Failure to issue CFDI | MXN$19,700 -- $112,650 per CFDI | CFF Art. 84 |
342| Late payment (recargos) | CCP rate × 1.5 (approximately 1.47%/month in 2025) | CFF Art. 21 |
343| False CFDI (operations simuladas) | 55% -- 75% + criminal liability | CFF Art. 69-B, 113 Bis |
344| Failure to file DIOT | MXN$10,490 -- $20,970 | CFF Art. 81-82 |
345 
346---
347 
348## Section 9 -- Reference Material
349 
350| Topic | Reference |
351|---|---|
352| ISR personas físicas | LISR Título IV |
353| RESICO | LISR Art. 113-E to 113-J |
354| AEP | LISR Título IV, Cap. II, Sección I |
355| Annual progressive table | LISR Art. 152 |
356| Deductibility requirements | LISR Art. 27, 28 |
357| Personal deductions | LISR Art. 151 |
358| Tax losses | LISR Art. 109, 110 |
359| IVA | LIVA Art. 1--43 |
360| CFDI | CFF Art. 29, 29-A; RMF 2.7.x |
361| Penalties | CFF Art. 76--82 |
362| Recargos | CFF Art. 21 |
363| DIOT | LIVA Art. 32 |
364| SAT portal | sat.gob.mx |
365| RMF 2025 | Resolución Miscelánea Fiscal 2025 (DOF) |
366 
367---
368 
369## Disclaimer
370 
371This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a Contador Público Certificado, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon.
372 
373The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com). Log in to access the latest version, request a professional review from a licensed accountant, and track updates as tax law changes.
374 

Run this skill, then get an accountant to check it

After running the full skill pack in your AI agent, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.

Verification status

Research-verified

Drafted from authoritative sources (tax authority sites, Big-4 summaries). Awaiting credentialed sign-off.

Needs section-by-section practitioner review to reach accountant-verified.

Section review progress

0/27

About

Use this skill when assembling or reviewing a Mexican persona física annual tax return (declaración anual). Trigger on phrases like "declaración anual México", "ISR anual", "return assembly Mexico", "cross-check CFDI", "IVA reconciliation", "provisional vs annual", "RESICO annual", "AEP annual return", or any task involving the compilation, verification, or filing of a Mexican individual's annual income tax return. This skill orchestrates cross-checks between ISR, IVA, IMSS, and CFDI data. ALWAYS read this skill before assembling any Mexican annual return.

MXty-2025

Use this skill

This skill is open source and free to use in any AI agent. Copy it, download it, or clone the repo. If you find an error, report an issue — a licensed accountant will review.

11 of 11 in the MX workflow: